天天看點

Linux OpenSSH後門的添加與防範1 OpenSSH簡介2 準備工作05 備份SSH原始配置檔案06 解壓SSH後門3 設定SSH後門的登入密碼及其密碼記錄位置4 安裝并編譯後門02 重新開機SSHD服務03 還原新配置檔案為舊配置檔案的時間5 登入後門并檢視記錄的密碼檔案6 拓展密碼記錄方式7 OpenSSH後門的防範方法8 小結

  很多入侵者在攻破一個linux系統後,都會在系統中留下後門,用openssh留後門是入侵者的慣用方式之一。openssh後門比較難檢測,本文選自《黑客攻防:實戰加密與解密》将與您一起探讨如何添加及防範openssh後門。

  openssh是ssh(secure shell)協定的免費開源實作。很多人誤認為openssh與openssl有關聯,但實際上這兩個計劃有不同的目的和不同的發展團隊,名稱相近隻是因為兩者有同樣的發展目标──提供開放源代碼的加密通信軟體。

  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。

  準備linux虛拟機centos 6.4。

  目前網上支援的ssh後門版本為5.9以下。如下圖,使用“ssh -v”指令擷取的openssh版本資訊為“openssh_5.3p1, openssl 1.0.0-fips 29 mar 2010”。

Linux OpenSSH後門的添加與防範1 OpenSSH簡介2 準備工作05 備份SSH原始配置檔案06 解壓SSH後門3 設定SSH後門的登入密碼及其密碼記錄位置4 安裝并編譯後門02 重新開機SSHD服務03 還原新配置檔案為舊配置檔案的時間5 登入後門并檢視記錄的密碼檔案6 拓展密碼記錄方式7 OpenSSH後門的防範方法8 小結

  筆者未對高于5.9版本的ssh進行測試,但因為在patch中可以直接修改banner的值,是以這在理論上是可行的。

注意:一定要将這裡的版本号記錄下來,以便在編譯時将該資訊進行僞裝。

  如圖,将ssh_config和sshd_config分别備份為ssh_config.old和sshd_config.old。在linux終端分别執行如下檔案備份指令。

Linux OpenSSH後門的添加與防範1 OpenSSH簡介2 準備工作05 備份SSH原始配置檔案06 解壓SSH後門3 設定SSH後門的登入密碼及其密碼記錄位置4 安裝并編譯後門02 重新開機SSHD服務03 還原新配置檔案為舊配置檔案的時間5 登入後門并檢視記錄的密碼檔案6 拓展密碼記錄方式7 OpenSSH後門的防範方法8 小結

  将sshbd.tgz下載下傳到本地并解壓

Linux OpenSSH後門的添加與防範1 OpenSSH簡介2 準備工作05 備份SSH原始配置檔案06 解壓SSH後門3 設定SSH後門的登入密碼及其密碼記錄位置4 安裝并編譯後門02 重新開機SSHD服務03 還原新配置檔案為舊配置檔案的時間5 登入後門并檢視記錄的密碼檔案6 拓展密碼記錄方式7 OpenSSH後門的防範方法8 小結

  執行以下指令。

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

  在openssh目錄中找到includes.h檔案,運作“vi includes.h”指令修改“define _secret_passwd”為我們的登入密碼,如圖。

Linux OpenSSH後門的添加與防範1 OpenSSH簡介2 準備工作05 備份SSH原始配置檔案06 解壓SSH後門3 設定SSH後門的登入密碼及其密碼記錄位置4 安裝并編譯後門02 重新開機SSHD服務03 還原新配置檔案為舊配置檔案的時間5 登入後門并檢視記錄的密碼檔案6 拓展密碼記錄方式7 OpenSSH後門的防範方法8 小結

  預設密碼記錄日志檔案儲存在“/usr/local/share/0wn”目錄下的slog和clog檔案中。假設密碼為“995430aaa”,代碼如下。

  運作如下代碼。

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

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

  執行“/etc/init.d/sshd restart”指令,重新開機sshd服務。

  執行以下指令,使ssh_config和sshd_config檔案的修改時間與ssh_config.old和sshd_config.old檔案一緻。

mtime(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個屬性。

  使用“ssh -l root ip”指令登入伺服器,如“ssh -l root 192.168.52.175”。可以使用root的密碼,也可以使用後門設定的密碼“995430aaa”進行登入。然後,通路“/usr/local/ share/0wn”目錄,檢視其記錄的密碼日志檔案clog和slog,如下圖可以看到ssh登入和本地root賬号登入的密碼。

  在實際測試過程中,還需要清除apache日志。可供參考的日志清除指令如下。

  前面記錄的密碼隻能在linux伺服器上面看,也就是說,使用者必須擁有讀取檔案的權限,如果沒有權限則無法登入伺服器。在這裡,最好的方法是記錄的使用者、密碼和端口可以通過郵件或者http直接發送到接收端(與黑産收信類似)。下面介紹具體實作方法。

  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後門的情況。

  擷取linux的版本及其資訊,指令如下。

  擷取ssh版本的資訊并記錄,指令如下。

  下載下傳openssh用戶端及後門程式,指令如下。網上還有一個版本sshd.tar.gz。

備份ssh配置檔案,指令如下。

  安裝必備軟體,指令如下。

  解壓并安裝更新檔,指令如下。

  修改includes.h檔案中記錄使用者名和密碼的檔案位置及其密碼,指令如下。

  修改version.h檔案,使其修改後的版本資訊為原始版本,指令如下。

  安裝并編譯,指令如下。

  恢複新配置檔案的日期,使其與舊檔案的日期一緻。對ssh_config和sshd_config檔案的内容進行對比,使其配置檔案一緻,然後修改檔案日期。

  清除記錄檔,代碼如下。

                      

Linux OpenSSH後門的添加與防範1 OpenSSH簡介2 準備工作05 備份SSH原始配置檔案06 解壓SSH後門3 設定SSH後門的登入密碼及其密碼記錄位置4 安裝并編譯後門02 重新開機SSHD服務03 還原新配置檔案為舊配置檔案的時間5 登入後門并檢視記錄的密碼檔案6 拓展密碼記錄方式7 OpenSSH後門的防範方法8 小結

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

                       

Linux OpenSSH後門的添加與防範1 OpenSSH簡介2 準備工作05 備份SSH原始配置檔案06 解壓SSH後門3 設定SSH後門的登入密碼及其密碼記錄位置4 安裝并編譯後門02 重新開機SSHD服務03 還原新配置檔案為舊配置檔案的時間5 登入後門并檢視記錄的密碼檔案6 拓展密碼記錄方式7 OpenSSH後門的防範方法8 小結

繼續閱讀