| 
 | 
 
CHNAGES: 
2006-12-10 应网友需求,增加清理后门的详细操作。 
昨天答应了给wzt找几个linux肉鸡测试程序的,打开http://www.milw0rm.com/webapps.php,找了个include漏洞的程序试了一下,很快就得到一个webshell,没什么好说的,redhat9的机器,然后localroot了一下。 
插句话,本文中的ip地址和主机名都被替换了,请不要对号入座,本文手法仅供参考,在正规的入侵检测操作中,我们还是需要注意很多流程和细节上的问题。另外本文对一些基本概念或者程序之类的不做解释,如果有不明白的地方,请教google。 
进了肉鸡,换上我们的ssh后门,具体的方法可以在http://baoz.net 或http://xsec.org上找到,带视频教程:) 如果看完视频之后还有疑问,可以到http://cnhonker.com/bbs/的linux版交流一下。 
一进ssh,哦,奇怪,米国人民问候韩国人民?有异样…… 
Last login: Fri Nov 17 08:21:14 2006 from ac9e2da9.ipt.aol.com 
好奇,扫一下。 
[fatb@baoz ~]$ nmap -P0 ac9e2da9.ipt.aol.com -O 
进了机器第一个事就是看看是不是vmware,是的话赶紧跑路了,别掉到人家的破罐子里去了,呵呵 
来,看看: 
##检查是不是vmware的机器 
[root@victim root]# ifconfig -a | grep -i -e "00-05-69" -e"00-0C-29" -e "00-50-56"; dmesg | grep -i vmware 
如果没输出的话,还好。。。。就算是个honeypot,好歹也是投资了点设备的honeypot。继续看看他投资了什么设备: 
[root@victim root]# cat /proc/cpuinfo | grep name;cat /proc/meminfo| grep MemTotal 
model name      : Intel(R) Xeon(TM)CPU 2.80GHz 
model name      : Intel(R) Xeon(TM)CPU 2.80GHz 
model name      : Intel(R) Xeon(TM)CPU 2.80GHz 
model name      : Intel(R) Xeon(TM)CPU 2.80GHz 
MemTotal:      1030228 kB 
还可以的机器,虽然4CPU却只有1G的内存,有点怪,但是还是勉强了,跑个密码什么的也行。 
关于anti-honeynet,下面有两个文章不错,不过都是针对vmware或者User ModeLinux的了,如果人家用真实机器,那还得靠人品啊,呵呵。 
http://xsec.org/index.php?module=archives&act=view&type=3&id=5 
http://xsec.org/index.php?module=archives&act=view&type=3&id=6 
关于honeynet和anti-honeynet的讨论,可以来这里聊聊 
http://cnhonker.com/bbs/thread.php?fid=15&type=1 
废话少说,接下来第二个事就是看看有没道友在上面,有的话就不好意思了,得请出去:) 
一般我都会先打几个命令看看,因为有些rootkit他改的不好,或者是因为版本的问题,反正不管什么原因,有一些被替换了的程序的一些参数会没有的。 
[root@victim root]# ls -alh 
ls: invalid option -- h 
Try `ls --help' for more information. 
呵呵,ls被替换了。在看看netstat 
[root@victim root]# netstat -anp 
Active Internet connections (servers and established) 
Proto Recv-Q Send-Q LocalAddress          Foreign Address        State       PID/Programname   
tcp        0      00.0.0.0:800.0.0.0:*  LISTEN      1702/httpd           
tcp        0      00.0.0.0:220.0.0.0:*  LISTEN      1516/sshd           
tcp        0      0127.0.0.1:25            0.0.0.0:*  LISTEN      1540/   
tcp        0    300123.123.123.123:22        10.20.30.40:2245      ESTABLISHED6097/sshd:           
tcp        0      0123.123.123.123:22        10.20.30.40:2247      ESTABLISHED6815/sshd:   
Active UNIX domain sockets (servers and established) 
Proto RefCnt Flags      Type      State         I-NodePID/Program name    Path 
unix  2      [ ACC]     STREAM    LISTENING     1214306815/sshd:          /tmp/ssh-vfJj6815/agent.6815 
unix  2      [ ACC]     STREAM    LISTENING     1169046097/sshd:          /tmp/ssh-weHq6097/agent.6097 
unix  6      []        DGRAM       1560  1476/syslogd        /dev/log 
unix  2      []        DGRAM       1771  1570/crond           
unix  2      []        DGRAM       1728  1549/   
unix  2      []        DGRAM       1714  1540/   
unix  2      []        DGRAM       1568  1480/klogd 
看起来貌似还算正常。 
不管3721,直接搞两个检查rootkit的东西回来看看,chkrootkit和rkhunter。 
先爽一下chkrootkit: 
注意,我们现在是在根本不可信的环境下检查的,可能有朋友会问“为什么要在不可信的环境里检查啊”,原因是这样的,因为我们先在一个不可信的环境里检查,得出一份结果,然后再在稍微可信的环境里检查,再得到一份结果,这样我们前后对比,大致就可以知道这位道友是否有使用LKM或者更高级的rootkit了。 
检查完之后,我们发现下面有趣的信息: 
[root@victim chkrootkit-0.47]# ./chkrootkit 
Checking `ifconfig'... INFECTED 
Checking `pstree'... INFECTED 
Searching for t0rn's v8 defaults... Possible t0rn v8 \(orvariation\) rootkit installed 
Searching for Showtee... Warning: Possible Showtee Rootkitinstalled 
Searching for Romanian rootkit...  /usr/include/file.h/usr/include/proc.h 
Checking `bindshell'... not infected 
Checking `lkm'... You have     2 process hiddenfor ps command 
chkproc: Warning: Possible LKM Trojan installed 
我们再找rkhunter爽一下: 
rkhunter的输出信息比较人性化也比较多,--quite选项输出又有点问题,我就rip比较有用的信息出来,日志在/var/log/rkhunter.log。 
[root@victim chkrootkit-0.47]# /usr/local/bin/rkhunter -c--createlogfile 
Rootkit 'SHV4'...   [ Warning! ] 
Rootkit 'SHV5'...   [ Warning! ] 
Rootkit 'Suckit Rootkit'...   [ Warning! ]-->还有这个高级货啊,偷偷的汗了一下。 
* Filesystem checks 
  Checking /dev for suspicious files...   [Warning! (unusual files found) ] 
Unusual files: 
/dev/srd0:        ASCIItext  --> /dev下有ascii文件…… 
---------------------------- Scan results---------------------------- 
MD5 
MD5 compared: 51 
Incorrect MD5 checksums: 6 
File scan 
Scanned files: 342 
Possible infected files: 3 
Possible rootkits: SHV4 SHV5 Suckit Rootkit 
Application scan 
Vulnerable applications: 4 
Scanning took 751 seconds 
Scan results written to logfile (/var/log/rkhunter.log) 
----------------------------------------------------------------------- 
扫完了,来个总结,这个比chkrootkit人性化多了。 
我们可以看到,这两个程序报告的有低级的rookkit,比如t0rn,SHV5,还有高级的rootkit:suckit。先看在眼里,别太在意,因为rkhunter和chkrootkit这样的程序都只能检测一些默认安装的rootkit,也不排除把这个rootkit报成那个rootkit的可能。 
折腾了一下,心里大概有个数了,回过头来想想,他必定不只替换了一个ls的,找个静态工具包回来,并且修改一下PATH变量,优先使用我们的静态程序。 
[root@victim root]# export PATH=/root/.../static/:$PATH 
ok,我们现在再看看ls 
[root@victim /]# ls -alh /tmp/mc-root/ 
total 8.0K 
drwx------    2 root    root         4.0KNov  8 19:36 . 
drwxrwxrwt    9 root    root         4.0K Nov 1810:47 .. 
现在我们的程序暂时还是相对比较信得过的。 
继续做上面两组检测。 
我们把得到的结果和刚才的相比,chkrootkit对elf的检测没有报警了,隐藏进程也没有了,我们大致可以判断道友隐藏的手段比较低级,但是想起那个suckit的报警。。。。心里不敢大意。还不知道有没模块什么的。 
为了更清楚一点,我们分析一下/var/log/rkhunter.log这个日志文件看看。看了日志,我们就会清楚为什么rkhunter的两次的检测报告试一样的了,因为他是用md5来校验的,他有一个数据库,而chkrootkit是检测输出信息。 
[11:20:04] /bin/ls Hash NOT valid (My MD5:0a07cf554c1a74ad974416f60916b78d, expected:dbc1a18b2e447e0e0f7c139b1cc79454) 
我们把SHV和suckit相关的信息弄出来看看 
[11:20:53] *** Start scan SHV4 *** 
[11:20:53]   - File /lib/lidps1.so... WARNING!Exists. 
[11:21:12] *** Start scan SHV5 *** 
[11:21:12]   - File /etc/sh.conf... WARNING! Exists. 
[11:21:12]   - File /dev/srd0... WARNING! Exists. 
[11:21:12]   - Directory /usr/lib/libsh... WARNING!Exists. 
[11:21:15] *** Start scan Suckit Rootkit *** 
[11:21:15]   - File /usr/share/locale/sk/.sk12/sk...WARNING! Exists. 
[11:21:15]   - Directory /usr/share/locale/sk/.sk12...WARNING! Exists. 
看到这里,基本上就知其所以然了。我们继续一个一个的看 
[root@victim root]# file /lib/lidps1.so 
/lib/lidps1.so: ASCII text 
[root@victim root]# cat /lib/lidps1.so 
ttyload 
shsniff 
shp 
shsb 
hide 
ttymon 
scanner 
看到这里,我忍不住ps和netstat了一下,发现了这两个东西 
root      1584  0.0  0.0  1852  68?        S    Nov17  0:00 /sbin/ttyload -q 
root      1586  0.0  0.0  1500  168?        S    Nov17  0:26 ttymon tymon 
[root@victim root]# netstat -anp 
Active Internet connections (servers and established) 
Proto Recv-Q Send-Q LocalAddress          Foreign Address        State       PID/Programname   
tcp        0      00.0.0.0:31338          0.0.0.0:*              LISTEN      1584/ttyload         
tcp        0      00.0.0.0:80              0.0.0.0:*              LISTEN      1702/httpd           
tcp        0      00.0.0.0:22              0.0.0.0:*              LISTEN      1516/sshd           
tcp        0      0127.0.0.1:25            0.0.0.0:*              LISTEN      1540/                               
raw        0      00.0.0.0:1              0.0.0.0:*              7          1586/ttymon         
raw    1312      00.0.0.0:1              0.0.0.0:*              7          1586/ttymon 
我们注意一下pid为1584和1586的两个进程,它们一个开了31338端口,一个起了rawsocket,估计两个都是后门,一个bindport的,一个是sniffer的后门,接着我们lsof看看,呵呵,都现形了吧。 
[root@victim root]# lsof -n -p 1584 
COMMAND  PID USER   FD   TYPEDEVICE    SIZE     NODENAME 
3       1584root  cwd    DIR    8,3    4096        2/ 
3       1584root  rtd    DIR    8,3    4096        2/ 
3       1584root  txt    REG    8,3  652620  212994 /tmp/sh-DJYK3MJABRP (deleted) -->这个是upx压缩后的特征之一。 
3       1584root  mem    REG    8,3  10304412828674 /lib/ld-2.3.2.so 
3       1584root  mem    REG    8,3  91604 12828689 /lib/libnsl-2.3.2.so 
3       1584root  mem    REG    8,3  23668 12828683 /lib/libcrypt-2.3.2.so 
3       1584root  mem    REG    8,3  12696 12828711 /lib/libutil-2.3.2.so 
3       1584root  mem    REG    8,31531064 13991938 /lib/tls/libc-2.3.2.so 
3       1584root    0u  CHR    1,3            67051/dev/null 
3       1584root    1u  CHR    1,3            67051/dev/null 
3       1584root    2u  CHR    1,3            67051/dev/null 
3       1584root    3u  IPv4  1798              TCP*:31338 (LISTEN) 
[root@victim root]# lsof -n -p 1586 
COMMAND  PID USER   FD   TYPEDEVICE    SIZE     NODENAME 
ttymon  1586root  cwd    DIR    8,3    4096        2/ 
ttymon  1586root  rtd    DIR    8,3    4096        2/ 
ttymon  1586root  txt    REG    8,3  93476 43663399 /sbin/ttymon 
ttymon  1586root  mem    REG    8,3  10304412828674 /lib/ld-2.3.2.so 
ttymon  1586root  mem    REG    8,3  52472 12828695 /lib/libnss_files-2.3.2.so 
ttymon  1586root  mem    REG    8,31531064 13991938 /lib/tls/libc-2.3.2.so 
ttymon  1586 root    3u  raw                    179900000000:0001->00000000:0000 st=07 
验证一下那两个后门: 
[root@victim root]# nc localhost 31338 
SSH-1.5-2.0.13 
明显,这个ssh后门,估计是读那个/etc/sh.conf作为密码的。rawsocket那个我暂时想不到咱们验证,因为一来不知道他抓的什么包,icmp ortcp,二来也不知道他抓的包的特征。霸王硬上弓吧。先执行一下。 
[root@victim root]# /sbin/ttymon 
[root@victim root]# /sbin/ttymon --help 
[root@victim root]# /sbin/ttymon -h 
这么不听话?strings你。我这里略去一些没用的信息 
[root@victim root]# strings /sbin/ttymon 
Usage: %s <dst> <src> <size> <number> 
Ports are set to send and receive on port 179 
dst:    Destination Address 
src:    Source Address 
size:   Size of packet which should be no larger than1024 should allow for xtra header info thru routes 
num:    packets 
Could not resolve %s fucknut 
ICMP 
jess 
tc: unknown host 
3.3.3.3 
mservers 
lamersucks 
skillz 
ttymon 
./0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ 
通过他的关键字找找,不难发现ttymon应该是一个修改过的ddos程序,是一个打路由器的东西,看来这位兄弟心挺大的。 
Dameonic.c is a theoretical router based denial of service attackthat exploits a weakness within the Border Gateway Protocol (BGP).If a malicious user sends spoofed malformed packets to aneighboring router, the peer will ignore it and possibly kill thesession entirely. Written on a Ultra 5 running Linux Zoot, this hasbeen compiled on Linux, OpenBSD, Solaris without problems. 
程序在 
http://packetstormsecurity.org/0008-exploits/daemonic.c 
出于对这位道友野心的好奇,我下了这个程序回来编译一下 
[fatb@baoz ~]$ ./a 
Daemonic -  BGP Killer [Theories in DoS]www.AntiOffline.com/TID/ 
Usage: ./a <radd> <sradd> <bgsize><number> 
Ports are set to send and receive on port 179 
radd:   Address of router running BGP [victim] 
sradd:  Source address of neighbor router running BGP[attacker] 
bgsize: Size of packet which should be no larger than 1024 shouldallow for xtra header info thru routes 
num:    pulverizations per second 
对比两个地方,一个是直接执行程序返回的信息,前者是不显示任何信息,后者显示帮助,第二个就是strings的输出,明显前者输出内容多,我猜测后面部分包含控制密码。还有更重要的是,这个ttymon起了rawsocket听包,这个rawsocket必定是用来接收控制者指令,并执行相应的ddos操作的一个通道,后面的事情大家自己想象吧,呵呵。 
[root@victim root]# file /etc/sh.conf 
/etc/sh.conf: ASCII text 
[root@victim root]# cat /etc/sh.conf 
6465d1b20c0c4cd408e34e68e630bc7a  - 
这个应该是md5之后的ssh密码了。 
下面的是t0rnV8里的东西了,12点多了,还没吃饭,没什么心情去跟这个低级的rootkit了,也不想知道下面的内容是什么,估计是encode之后的ssh密码吧,我猜的。 
[root@victim root]# file /dev/srd0 
/dev/srd0: ASCII text 
[root@victim root]# cat /dev/srd0 
j+JNfnYdtqa7trq6gh+4ixPhLDBbLT6Ku5uVVJ/mxxzobTlPUCEeEzdxglyNos4IvejtbRNdAMxP/d7NhBeFseisPX5oloDE5z1e2ZjQtsM 
S0uF0BrCRaiyuNhbD+TxyiCkfPxeS6/f3KYGvy0+9uf96HZCHbJRHzwU0BoEWZW66Kw9fmiWgMTnPV7ZmNC2ww 
DrWCrrUVHlVO0ETRpEzDLr4+eRoYKQ4cF1IYuZIuKJvpL8u0zFWEQVd4aHHRV8MZ6Kw9fmiWgMTnPV7ZmNC2ww 
m8Y0WvJzHApXJkPWqGlLXkQEgP7I+Z00g5rfl4JVTHHVS3ccyoWJvoHxARS2Az4+6Kw9fmiWgMTnPV7ZmNC2ww 
Nx2BGzQcgwNk5wkHvIbDS+akciYGKpBOpkfbml2dEhlnylbaCJUtkIZtodypSCex6Kw9fmiWgMTnPV7ZmNC2ww 
7Tuu8KGtjaBucg6CylE0jLx5gHLMf67ZIFShF/vnuKNoRfJqqJhR5/4k+4vDqwlW6Kw9fmiWgMTnPV7ZmNC2ww 
aeC6nDWmqSBSLAn74IG+scDyaeQhcyttGosc5AHjaJjsS7dk2xyaySZVyBz4xsJLvejtbRNdAMxP/d7NhBeFseisPX5oloDE5z1e2ZjQtsM 
Z1Adpyun9XhDlWlkphlGxvqi7D+VzU2gaIcSV3F5SvtUfb9WXOCPgW4fLKozFRr18GdivriXhV99Urg+qyUS5OisPX5oloDE5z1e2ZjQtsM 
XnGWwt8gbkh3WioGunOBNlnN29dPwkm4N1UqS3mZ7V5C2DSuxCWu5vgapmla+YFx6Kw9fmiWgMTnPV7ZmNC2ww 
+KrS/TlnD5nr0P/iOvN/aN+jWY2xtLoIpAN70/2NlvfnnApDPhNqf9Y82i7BX/UHVWRY+R8hmtWPTN9aYJrjduisPX5oloDE5z1e2ZjQtsM 
继续看,这个就是他的老巢了,SHV5的默认目录,里面来来去去就那些东西,.backup里的是原来的elf程序,回头我们把这些东西cp回去就完事了。 
[root@victim root]# ls -alh /usr/lib/libsh 
total 104K 
drwxr-xr-x    6 root    root         4.0K Nov 1716:45 . 
drwxr-xr-x  133 root    root          68KNov 18 10:13 .. 
drwxr-xr-x    2 root    root         4.0KNov  8 19:33 .backup 
-rwxr-xr-x    1122      114          2.4KJan 30  2006 .bashrc 
-rwxr-xr-x    1122      114          1.8KFeb 19  2003 hide 
drwxr-xr-x    2 root    root         4.0KNov  8 19:33 .owned 
-rwxr-xr-x    1122      114          1.3KFeb 19  2003 shsb 
drwxr-xr-x    2 root    root         4.0KNov  8 19:33 .sniff 
drwxr-xr-x    2 root    root         4.0K Feb19  2003 utils 
[root@victim root]# ls/usr/lib/libsh/.backup/     
dir  find  ifconfig  ls  lsof  md5sum  netstat  ps  pstree  slocate  top 
下面就是大名鼎鼎的sk了,看到sk,首先关注的就是他的prefix,启动方式和版本。。。。废话。。。呵呵 
[root@victim root]# ls -alh /usr/share/locale/sk/ 
total 40K 
drwxr-xr-x    5 root    root         4.0KSep  7 02:02 . 
drwxr-xr-x  110 root    root         4.0KNov  8  2005 .. 
-rw-r--r--    1 root    root            6May  9  2000 charset 
-rw-r--r--    1 root    root         1.3K Nov18  2002 entry.desktop 
drwxr-xr-x    2 root    root          16KNov  8  2005 LC_MESSAGES 
drwxr-xr-x    2 root    root         4.0KNov  8  2005 LC_TIME 
drwxr-xr-x    2 root    root         4.0KSep  7 02:02 .sk12 
sk没启动,因为.sk12都显示出来了,.sniffer文件里也没记录到什么密码,但我对这个sk12还是充满好奇心,sftp托到我本地机器玩玩。 
[fatb@baoz ~]$ strings sk | grep -i fuck 
[fatb@baoz ~]$ file sk 
sk: ELF invalid class invalid byte order (SYSV) 
[fatb@baoz ~]$ ./sk 
Password: 
Go away with that, poor boy! 
[fatb@baoz ~]$ ls -al sk sk2rc2/sk 
-rwxr-xr-x    1 fatb    perlish        30799 Nov 1118:04 sk 
-rwxr--r--    1 fatb    perlish        30279 Nov 1706:06 sk2rc2/sk 
从上面看来,这个不是sk12,应该是sk2,否则应该有fuck字样并且没有密码的,并且他用ef加密了。和公开的sk2rc2对比一下,发现他比rc2文件要大一点。。。。YY中,呵呵,我猜他应该是更新的版本的。1点多了。。。还没吃饭,快饿晕了,先吃饭去,回来继续…… 
还有一个可以说明这个sk12是sk2,我查找了/etc下的文件,没找到他启动的地方,/sbin/init也没改。到是在/etc/inittab里发现了ttymon的启动方式: 
[root@victim root]# grep ttyload /etc/inittab 
#0:2345:once:/usr/sbin/ttyload 
[root@victim root]# cat /usr/sbin/ttyload 
/sbin/ttyload -q >/dev/null 2>&1 
/sbin/ttymon >/dev/null 2>&1 
花开两朵,各表一支,话说刚才我们确定了这个一定是sk2,在一段时间的挣扎之后,决定还是回头在《linux后门掠影》里再仔细介绍他。 
整理一下思路,我们已经找到了他们替换的elf程序了,下面说说修复的办法,一般情况下,如果没有十分的把握,linux被黑了最好重装,因为我们永远不敢说自己绝对比入侵者高明。由于是肉鸡,我们就还原一下文件好了。 
这个朋友比较好,在/usr/lib/libsh/.backup目录里保存了没被修改的程序的备份,同时也是告诉我们他至少替换了这些文件。 
[root@victim root]# ls -al 
total 608 
drwxr-xr-x   2 root    root         4096Nov  7 00:58 . 
drwxr-xr-x   6 root    root         4096Nov  7 00:59 .. 
-rwx------   1 root    root        67668Nov  7 00:58 dir 
-rwx------   1 root    root        51028Nov  7 00:58 find 
-rwxr-xr-x   1 root    root        67668Nov  7 00:58 ls 
-rwx------   1 root    root        95640Nov  7 00:58 lsof 
-rwx------   1 root    root        29024Nov  7 00:58 md5sum 
-rwx------   1 root    root        85240Nov  7 00:58 netstat 
-rwx------   1 root    root        69772Nov  7 00:58 ps 
-rwx------   1 root    root        14048Nov  7 00:58 pstree 
-rwx------   1 root    root        26368Nov  7 00:58 slocate 
-rwx------   1 root    root        54004Nov  7 00:58 top 
接着我尝试cp -f dir `which dir`,但报告操作不允许,显然他用chattr做了手脚。 
[root@victim root]# cp -f dir `which dir` 
cp: cannot remove `/usr/bin/dir': Operation not permitted 
我们索性看看y的到底动了多少文件。 
[root@victim root]# lsattr /bin /sbin /usr/bin /usr/sbin /etc| grep-e -ia 
s---ia------- /bin/netstat 
s---ia------- /bin/ls 
s---ia------- /bin/ps 
s---ia------- /sbin/ifconfig 
s---ia------- /sbin/ttyload 
s---ia------- /sbin/ttymon 
s---ia------- /usr/bin/pstree 
s---ia------- /usr/bin/find 
s---ia------- /usr/bin/dir 
s---ia------- /usr/bin/md5sum 
s---ia------- /usr/bin/top 
s---ia------- /usr/bin/updatedb 
s---ia------- /usr/bin/locate 
s---ia------- /usr/bin/slocate 
s---ia------- /usr/sbin/lsof 
s---ia------- /usr/sbin/ttyload 
s---ia------- /etc/sh.conf 
呵呵,发现ifconfig也被弄了,不过他就是隐藏一些无伤大雅的东西,不管那么多了,其他的直接弄掉 
[root@victim root]# chattr -ais /bin/netstat 
[root@victim root]# chattr -ais /bin/ls 
[root@victim root]# chattr -ais /bin/ps 
[root@victim root]# chattr -ais /sbin/ifconfig 
[root@victim root]# chattr -ais /sbin/ttyload 
[root@victim root]# chattr -ais /sbin/ttymon 
[root@victim root]# chattr -ais /usr/bin/pstree 
[root@victim root]# chattr -ais /usr/bin/find 
[root@victim root]# chattr -ais /usr/bin/dir 
[root@victim root]# chattr -ais /usr/bin/md5sum 
[root@victim root]# chattr -ais /usr/bin/top 
[root@victim root]# chattr -ais /usr/bin/updatedb 
[root@victim root]# chattr -ais /usr/bin/locate 
[root@victim root]# chattr -ais /usr/bin/slocate 
[root@victim root]# chattr -ais /usr/sbin/lsof 
[root@victim root]# chattr -ais /usr/sbin/ttyload 
[root@victim root]# chattr -ais /etc/sh.conf 
现在我们把.backup目录里的文件给还原回去。 
[root@victim root]# mv -f netstat /bin/netstat 
[root@victim root]# mv -f ls /bin/ls 
[root@victim root]# mv -f ps /bin/ps 
[root@victim root]# mv -f pstree /usr/bin/pstree 
[root@victim root]# mv -f find /usr/bin/find 
[root@victim root]# mv -f dir /usr/bin/dir 
[root@victim root]# mv -f md5sum /usr/bin/md5sum 
[root@victim root]# mv -f top /usr/bin/top 
[root@victim root]# mv -f slocate /usr/bin/slocate 
[root@victim root]# mv -f lsof /usr/sbin/lsof 
顺便把他的文件删除,免得被管理员发现了。 
[root@victim root]# rm -f /sbin/ttyload 
[root@victim root]# rm -f /sbin/ttymon 
[root@victim root]# rm -f /usr/sbin/ttyload 
[root@victim root]# rm -f /etc/sh.conf 
去掉启动的东西,擦掉日志中关于ac9e2da9.ipt.aol.com的记录,shadow抓回来跑跑,reboot,交给wzt测试代码去了,呵呵。 
如果有什么疑问,可以到http://cnhonker.com/bbs/ 的linux版交流 
本文不断更新中,欲获得最新版本,请关注http://baoz.net或http://xsec.org的更新信息。 
说在最后: 
上面说到的方法只是一些最基本的方法,并且rkhunter,chkrootkit这样的程序都是只能检测默认安装的rootkit,修改过的rootkit或者没公开的rootkit,它们是基本找不到的。怎么办?自动化查找不行了,就只有靠我们手动分析了,这个就是体现安全管理员水平高低的时候了。 
早睡早起身体好,睡觉去咯。 
TODO: 
检查LKM |   
 
 
 
 |