系統(tǒng)安全之淺談Linux后門技術(shù)及實踐 |
發(fā)布時間: 2012/9/15 20:11:20 |
后門簡介 入侵者完全控制系統(tǒng)后,為方便下次進入而采用的一種技術(shù)。一般通過修改系統(tǒng)配置文件和安裝第三方后門工具來實現(xiàn)。 具有隱蔽性,能繞開系統(tǒng)日志,不易被系統(tǒng)管理員發(fā)現(xiàn)等特點。 常用后門技術(shù)
增加超級用戶
如果系統(tǒng)不允許uid=0的用戶遠(yuǎn)程登錄,還需要增加一個普通用戶賬號。 破解/嗅探用戶密碼 獲得shadow文件后,用John the Ripper 工具破解薄弱的用戶密碼。安裝sniffit等嗅探工具,監(jiān)聽telnet、ftp等端口,收集用戶密碼。 放置SUID Shell
普通用戶在本機運行/dev/.rootshell,即可獲得一個root權(quán)限的shell。
遠(yuǎn)程可以得到一個rootshell。 利用系統(tǒng)服務(wù)程序 修改/etc/inetd.conf, daytime stream tcp nowait /bin/sh sh -I;用trojan程序替換in.telnetd、in.rexecd等inted的服務(wù)程序,重定向login程序。 TCP/UDP/ICMP Shell BindShell,大部分是基于TCP/UDP協(xié)議的網(wǎng)絡(luò)服務(wù)程序,在高端口監(jiān)聽,很容易被發(fā)現(xiàn)。Ping Backdoor,通過ICMP包激活后門,形成一個Shell通道。TCP ACK數(shù)據(jù)包后門,能夠穿越防火墻。 Crontab定時任務(wù) 通過Crontab程序調(diào)度已安裝的后門程序定時運行,一般在深夜時段,是系統(tǒng)管理員不在線的時間。 共享庫文件 在共享庫中嵌入后門函數(shù)使用后門口令激活Shell,獲得權(quán)限能夠躲避系統(tǒng)管理員對二進制文件本身的校驗。 工具包Rootkit 包含一系列系統(tǒng)及后門工具:
可裝載內(nèi)核模塊(LKM) LKM:Loadable Kernel Modules 動態(tài)的加載,不需要重新編譯內(nèi)核。截獲系統(tǒng)調(diào)用,具有隱藏目錄、文件、進程、網(wǎng)絡(luò)連接等強大功能。自身隱蔽性好,發(fā)現(xiàn)難度較大。著名的LKM包有adore和knark。 后門的檢測 以自己的經(jīng)驗,結(jié)合特定的工具,手工作一些檢測。使用Tripwire或md5校驗來檢查系統(tǒng)。借助IDS系統(tǒng),監(jiān)聽到目標(biāo)機器的可疑網(wǎng)絡(luò)連接。 實例:Login后門 入侵者先把原始的/bin/login備份,再用一段程序替換/bin/login。入侵者telnet登錄進來的時候,通過環(huán)境變量或者終端類型 傳遞了正確的后門密碼,將直接獲得一個Shell;如果是普通用戶登錄,將會重定向到原始的login文件,來處理正常的登錄。 最簡單的login后門ulogin.c源代碼如下: 實例:Login后門
利用后門登錄 首先Telnet服務(wù)是打開的,在自己機器上:
Strings命令 Strings命令能夠打印出二進制文件中的可顯示字符串,用于剛才的ulogin程序:
加密后門密碼 1、采用DES算法,即crypt( )函數(shù),編寫gen.c程序:
2、編譯為gen,執(zhí)行./gen hack ui,得到的shadow結(jié)果為UiVqMWvDrIQjA。 3、修改后門源程序ulogin.c: -- 以密文形式的密碼代替ulogin.c中define的宏P(guān)ASSWORD值。 -- 如果后門密碼正確,直接給出Shell:
用strings命令只能看到加密過的密碼。 采用異或(XOR)算法 以十六進制方式表示字符串,以達到non- printable的效果。 1、編碼程序encode.c如下:
2、編譯程序encode,依次執(zhí)行得到關(guān)鍵字符串與magic串異或后的結(jié)果,例如原始login的文件名/sbin/xlogin,經(jīng)過異或后為:
3、在后門源代碼中這樣定義:
然后插入異或函數(shù)char *de()結(jié)合同一magic串,就能判斷出正確的后門密碼。 用strings命令看不到密碼、路徑等字符串了。 最后的修飾 使后門程序ulogin的strings輸出類似于正常login的strings輸出,做法為:在ulogin.c代碼中增加一個字符串?dāng)?shù)組char strings[] ="";,在引號中填入正常login程序的strings輸出結(jié)果。以假亂真,增加迷惑性。 調(diào)整后門程序的文件日期、大小等屬性: 1、日期
2、調(diào)整大小
Login后門的檢測 使用命令md5sum對現(xiàn)有/bin/login文件作校驗,與以前的值作比較。使用Red Hat Linux的RPM校驗:
在入侵者已經(jīng)利用后門登錄的情況下,who是看不到用戶的,查看系統(tǒng)進程,查找login -h xxx.xxx.xxx.xxx的字樣。 本文出自:億恩科技【www.allwellnessguide.com】 服務(wù)器租用/服務(wù)器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM] |