|
[root@victim root]# ls -alh /usr/lib/libsh total 104K drwxr-xr-x 6 root root 4.0K Nov 17 16:45 . drwxr-xr-x 133 root root 68K Nov 18 10:13 .. drwxr-xr-x 2 root root 4.0K Nov 8 19:33 .backup -rwxr-xr-x 1 122 114 2.4K Jan 30 2006 .bashrc -rwxr-xr-x 1 122 114 1.8K Feb 19 2003 hide drwxr-xr-x 2 root root 4.0K Nov 8 19:33 .owned -rwxr-xr-x 1 122 114 1.3K Feb 19 2003 shsb drwxr-xr-x 2 root root 4.0K Nov 8 19:33 .sniff drwxr-xr-x 2 root root 4.0K Feb 19 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.0K Sep 7 02:02 . drwxr-xr-x 110 root root 4.0K Nov 8 2005 .. -rw-r--r-- 1 root root 6 May 9 2000 charset -rw-r--r-- 1 root root 1.3K Nov 18 2002 entry.desktop drwxr-xr-x 2 root root 16K Nov 8 2005 LC_MESSAGES drwxr-xr-x 2 root root 4.0K Nov 8 2005 LC_TIME drwxr-xr-x 2 root root 4.0K Sep 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 11 18:04 sk -rwxr--r-- 1 fatb perlish 30279 Nov 17 06: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 4096 Nov 7 00:58 . drwxr-xr-x 6 root root 4096 Nov 7 00:59 .. -rwx------ 1 root root 67668 Nov 7 00:58 dir -rwx------ 1 root root 51028 Nov 7 00:58 find -rwxr-xr-x 1 root root 67668 Nov 7 00:58 ls -rwx------ 1 root root 95640 Nov 7 00:58 lsof -rwx------ 1 root root 29024 Nov 7 00:58 md5sum -rwx------ 1 root root 85240 Nov 7 00:58 netstat -rwx------ 1 root root 69772 Nov 7 00:58 ps -rwx------ 1 root root 14048 Nov 7 00:58 pstree -rwx------ 1 root root 26368 Nov 7 00:58 slocate -rwx------ 1 root root 54004 Nov 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,它们是基本找不到的。怎么办?自动化查找不行了,就只有靠我们手动分析了,这个就是体现安全管理员水平高低的时候了。
早睡早起身体好,睡觉去咯。 上一页 [1] [2] [3] |