原文發表於:2010-09-25
轉載至cu於:2012-07-21
前兩天因為看局域網安全的視頻中介紹dsniff,也想自己安裝下來看看效果。簡單的使用沒什么難的(高級使用就需要研究文檔了),但是安裝過程倒是折騰了好久,所以想記錄下來,以備不時只需。
一. Dsniff簡介
Dsniff是一個基於unix系統網絡嗅探工具,開發者Dub Song於2000年12月發布v2.3版本,目前最新版本是2001年3月發布的v2.4b1的beta版。
下載地址:http://www.monkey.org/~dugsong/dsniff
Dsniff是一個工具集,主要分為四類:
- 純粹被動地進行網絡活動監視的工具,包括:dsniff、filesnarf、mailsnarf 、msgsnarf、urlsnarf、webspy;
- 針對SSH和SSL的MITM(Man-In-The-Middle)"攻擊"工具,包括sshmitm和webmitm;
- 發起主動欺騙的工具,包括:arpspoof、dnsspoof、macof;
- 其它工具,包括tcpkill、tcpnice
二. Dsniff 安裝
上面已經介紹過了,dsniff是一個比較老的嗅探工具。當我在安裝過程中對它依賴的第三方軟件包使用較新的版本時,編譯安裝過程中始終有這樣或者那樣的問題。沒辦法,強大的google再此上場,看到有文章推薦的第三方軟件包版本,重新試試,安裝過程竟是一點問題沒有。
這是參考的文章鏈接:http://gnu.shslzx.cn/?m=201004
以下是依賴的第三方軟件包及版本,下載鏈接:
openssl-0.9.7i.tar.gz http://down1.chinaunix.net/distfiles/openssl-0.9.7i.tar.gz
libnids-1.18.tar.gz http://down1.chinaunix.net/distfiles/libnids-1.18.tar.gz
libpcap-0.7.2.tar.gz http://down1.chinaunix.net/distfiles/libpcap-0.7.2.tar.gz
libnet-1.0.2a.tar.gz http://down1.chinaunix.net/distfiles/libnet-1.0.2a.tar.gz
Berkeleydb-4.7.25.tar.gz http://download.oracle.com/berkeley-db/db-4.7.25.tar.gz
有了上面這些版本的第三方軟件包的支持,后面的無非就是解壓,編譯,安裝了。
需要注意的是編譯Berkeleydb時,解壓進入相應目錄后:
cd build_unix
../dist/configure
make;make install
三. Dsniff 工具集
- dsniff: 一個密碼偵測工具,他能夠自動分析端口上收到的某些協議的數據包,並獲取相應的密碼。dnisff支持的協議有FTP, Telnet, SMTP, HTTP, POP, poppass, NNTP, IMAP, SNMP, LDAP, Rlogin, RIP, OSPF, PPTP MS-CHAP, NFS, VRRP, YP/NIS, SOCKS, X11, CVS, IRC, AIM, ICQ, Napster, PostgreSQL, Meeting Maker, Citrix ICA, Symantec pcAnywhere, NAI Sniffer, Microsoft SMB, Oracle SQL*Net, Sybase and Microsoft SQL;
- filesnart: 嗅探網絡文件系統(NFS)的流量,並選定某個文件,轉儲到本地當前工作目錄;
- mailsnarf: 可以嗅探SMTP和POP流量,並以Berkeley郵件格式輸出e-mail消息;
- msgsnarf:可以嗅探聊天軟件的聊天內容,包括AOL,ICQ 2000, IRC, MSN Messenger, 或Yahoo Messenger;
- urlsnarf: 可以嗅探HTTP請求報文的內容,並以CLF (Common Log Format)通用日志格式輸出;
- webspy: 指定一個要嗅探的主機,如果指定主機發送HTTP請求,打開網頁,webspy也會通過netscape瀏覽器在本地打開一個相同的網頁;
- sshmitm: 是Dsniff自帶的一個具有威脅的工具之一。首先通過dnsspoof偽造實際機器主機名將攻擊目標主機的SSH連接轉到本地,那么sshmitm可以截獲來自主機的密鑰,並獲得被劫持連接中的所有信息解碼,然后重新轉發SSH流量到SSH服務器;
- webmitm:與sshmitm類似,也需要dnsspoof的"配合",不同的是,webmitm"劫持"的是HTTP和HTTPS會話過程,捕獲SSL的加密通信;
- arpspoof:啟用arp欺騙,將自己網卡的IP地址偽裝成指定IP地址的MAC;
- dnsspoof: 啟用DNS欺騙,如果dnsspoof嗅探到局域網內有DNS請求數據包,它會分析其內容,並用偽造的DNS響應包來回復請求者。如果是 請求解析某個域名,dnsspoof會讓該域名重新指向另一個IP地址(黑客所控制的主機),如果是反向IP指針解析,dnsspoof也會返回一個偽造的域名;
- macof:用來進行MAC flooding,可以用來使交換機的MAC表溢出,對於以后收到的數據包以廣播方式發送。注意:在進行MAC泛洪之前就存在於交換機MAC表中的條目不會被覆蓋,只能等到這些條目自然老化;
- tcpkill: 能夠切斷指定的TCP會話連接,主要是基於TCP的三次握手過程;
- tcpnice: 能夠通過在添加活動的流量,降低指定的LAN上的TCP連接的速度.
四. Dsniff 簡單演示
- dsniff: 在虛擬機開啟密碼嗅探,獲取的ftp登陸賬號和密碼。需要注意的是dsniff獲取密碼是在釋放會話之后。
[root@dsniff ~]# dsniff
dsniff: listening on eth0
-----------------
09/23/10 17:20:47 tcp 192.168.1.110.2048 -> 192.168.1.104.21 (ftp)
USER root
PASS ftptest
- macof: 主動攻擊,制造大量mac,將交換機強制變成hub(當然這也得看發動攻擊的主機的性能,這里是虛擬機對cisco 2950 的macof,從效果上來看,雖然將交換機的cam表打滿了,性能上也下降了許多,但交換機並沒有完全變成hub),以方便后續的抓包。
switch#show mac-address-table count
Mac Entries for Vlan 1:
---------------------------
Dynamic Address Count : 8190
Static Address Count : 0
Total Mac Addresses : 8190
Total Mac Address Space Available: 0