Ettercap介紹 網絡嗅探,中間人攻擊


概要

ettercap  [ OPTIONS ] [ Target1 ] [ TARGET2 ]

TARGET的格式為MAC / IP / IPv6 / PORT,其中IP和PORT可以是范圍

 當IP有多個的時候,可以用“,”分隔不同的C段ip,可以用“-”表示連續的ip,可以用“;”分隔不同表達形式的ip。(例如/192.168.0.1-30,40,50/20,22,25)

描述

  Ettercap最初是交換局域網(甚至顯然是“擁擠的”局域網)的嗅探器,但在開發過程中,它獲得了越來越多的功能,從而使其轉變為強大而靈活的中間人攻擊工具。它支持許多協議(甚至是加密協議)的主動和被動解剖,並包括許多用於網絡和主機分析的功能(例如OS指紋)。

兩個主要的嗅探選項:

  UNIFIED,此方法嗅探通過電纜傳遞的所有數據包。您可以選擇是否將接口置於混雜模式(-p選項)。未定向到運行ettercap的主機的數據包將使用第3層路由自動轉發。因此,您可以使用從其他工具發起的mitm攻擊,並讓ettercap修改數據包並為您轉發。

BRIDGED,它使用兩個網絡接口,並在執行嗅探和內容過濾時將流量從一個轉發到另一個。這種嗅探方法完全是秘密的,因為無法找到有人在電纜中間。您可以將此方法視為第1層的mitm攻擊。您將位於兩個實體之間的電纜中間。不要在網關上使用它,否則它將把您的網關變成網橋。提示:您可以使用內容過濾引擎丟棄不應通過的數據包。這樣,ettercap可以用作嵌入式IPS;)

UBIFIED常用,參數 -M(M是MITM的首字母,為中間人攻擊的縮寫)       BRIDGED在同一設備下的兩塊網卡之間進行

  路由轉發功能在Ettercap中默認關閉

  內核ip_forwarding始終由ettercap禁用。這樣做是為了防止轉發數據包兩次(一次通過ettercap,一次通過內核)。這是網關上的一種入侵行為。因此,我們建議您僅在啟用UNOFFENSIVE MODE的情況下在網關上使用ettercap。由於ettercap僅在一個網絡接口上偵聽,因此以令人反感的模式在網關上啟動它將不允許數據包從第二個接口重新路由回去。

功能

SSH1支持:您可以嗅探用戶和通過,甚至嗅探SSH1連接的數據。ettercap是第一個能夠在FULL-DUPLEX中嗅探SSH連接的軟件

SSL支持:您可以嗅探SSL受保護的數據...向客戶端提供了偽造的證書,並對會話進行了解密。

在已建立的連接中注入字符您可以向服務器(模擬命令)或客戶端(模擬回復)注入字符,以保持連接活躍!

數據包過濾/丟棄:您可以設置一個過濾腳本,該腳本在TCP或UDP有效負載中搜索特定的字符串(甚至十六進制),並用您的字符串替換或丟棄整個數據包。過濾引擎可以匹配網絡協議的任何字段並修改您想要的任何內容

通過隧道嗅探遠程流量並進行路由整形:您可以使用linux熟接口或使用集成插件嗅探隧道或路由纏結的遠程連接並對它們執行mitm攻擊。

插件支持:您可以使用ettercap的API創建自己的插件。

密碼收集器: TELNET,FTP,POP,RLOGIN,SSH1,ICQ,SMB,MySQL,HTTP,NNTP,X11,NAPSTER,IRC,RIP,BGP,SOCKS 5,IMAP 4,VNC,LDAP,NFS,SNMP,半壽,QUAKE 3,MSN,YMSG

被動操作系統指紋:您被動掃描局域網(不發送任何數據包)並收集有關局域網中主機的詳細信息:操作系統,運行服務,開放端口,IP,mac地址和網絡適配器供應商。

終止連接:從連接中列出您可以殺死的所有想要殺死的連接

 

Ssl Mitm攻擊

在執行SSL mitm攻擊時,ettercap用其自己的證書替換了真實的ssl證書。虛假證書是動態創建的,所有字段均根據服務器提供的真實證書進行填充。僅修改發布者並使用“ etter.sll.crt”文件中包含的私鑰簽名。如果要使用其他私鑰,則必須重新生成此文件。要重新生成證書文件,請使用以下命令:

openssl genrsa -out etter.ssl.crt 1024
openssl req -new -key etter.ssl.crt -out tmp.csr
openssl x509 -req -days 1825 -in tmp.csr -signkey etter.ssl.crt -out tmp.new
cat tmp.new >> etter.ssl.crt
rm -f tmp.new tmp.csr

注意:SSL mitm在橋接模式下不可用(暫時)。

重要說明:如果您在網關上運行ettercap,請記住在殺死ettercap之后重新啟用ip_forwarding。由於ettercap放棄了特權,因此它無法為您恢復ip_forwarding。

 

嗅探和攻擊參數

 

-M-- mitm <METHOD:ARGS>MITM攻擊

  arparp ([remote],[oneway]) 

  參數“ remote”是可選的,如果要嗅探遠程IP地址中毒網關,則必須指定該參數。實際上,如果您在目標中指定了受害者和Gw,則ettercap將僅嗅探它們之間的連接,但是要使ettercap嗅探通過gw的連接,則必須使用此參數。

  參數“oneway”將強制ettercap僅從TARGET1中毒到TARGET2。如果只想毒害客戶端而不是路由器(可以放置arp觀察器的話),這很有用。

 

  icmp(MAC / IP)

  該攻擊實現了ICMP重定向。它會向局域網中的主機發送欺騙性的icmp重定向消息,假裝這是Internet的更好路由。所有與Internet的連接都將被重定向到攻擊者,然后攻擊者會將其轉發到真實網關。產生的攻擊是HALF-DUPLEX手套。僅重定向客戶端,因為網關將不接受直接連接的網絡的重定向消息。確保不要使用會改變有效載荷長度的過濾器。您可以使用過濾器來修改數據包,但是長度必須相同,因為不能以兩種方式更新tcp序列。

  您必須將LAN的真實網關的MAC和IP地址作為參數傳遞。顯然,您必須能夠嗅探所有流量。如果您正在使用交換機,則必須使用其他mitm攻擊,例如arp中毒。

 

  dhcp(ip_pool / netmask / dns)

  此攻擊實現了DHCP欺騙。它偽裝成一台DHCP服務器,並試圖與真實服務器競爭,以迫使客戶端接受攻擊者的答復。這樣,ettercap就能操縱GW參數並劫持客戶端生成的所有傳出流量。
產生的攻擊是HALF-DUPLEX手套。因此,請確保使用適當的過濾器(請參閱上面的ICMP部分)。

  嚴重警告:如果您指定正在使用的IP列表,則會使您的網絡混亂!通常,請謹慎使用此攻擊。當您停止攻擊時,所有受害者仍將確信ettercap是網關,直到租約到期為止。

 

  Port ([remote],[tree])

  此攻擊實施端口盜用。當ARP中毒無效時(例如,在使用靜態映射的ARP的情況下),該技術對於在交換環境中進行嗅探很有用。

  它將ARP數據包淹沒LAN(基於etter.conf中的port_steal_delay選項)。如果您未指定“ tree”選項,則每個“竊取”數據包的目標MAC地址與攻擊者的相同(其他NIC將看不到這些數據包),源MAC地址將是其中一個MAC在主機列表中,如果使用“ tree”選項,則每個竊取數據包的目標MAC地址將是偽造的,因此這些數據包將傳播到其他交換機(不僅是直接連接的交換機)。這樣,您將能夠竊取樹中其他交換機上的端口(如果有),但是會產生大量流量(根據port_steal_delay)。“遠程”選項的含義與“ arp” mitm方法中的含義相同。

注意:僅在以太網交換機上使用此mitm方法。小心使用它可能會導致性能下降或嚴重破壞。

 

 

常用參數

-I 顯示可用網卡
-i 選擇網卡
-t 協議選擇,tcp/udp/all,默認為all
-p 不進行毒化攻擊,用於嗅探本地數據包
-F 載入過濾器文件
-V text 將數據包以文本形式顯示在屏幕上
-L filename 把所有的數據包保存下來(所得文件只能用etterlog來顯示)

幾個常用的參數組合:
ettercap -Tzq 
以命令行方式顯示,只嗅探本地數據包,只顯示捕捉到的用戶名和密碼以及其他信息。

ettercap -T -M arp:remote /192.168.1.1//192.168.1.2-10/   

嗅探網關(192.168.1.1)與部分主機(192.168.1.2-10)之間相互通信的數據包。

ettercap -Tzq //110
只嗅探本機110端口(pop3)的信息
ettercap -Tzq /10.0.0.1/21,22,23
只嗅探本機與10.0.0.1主機在端口21、22、23上的通信
ettercap -i eth0 -Tq -L sniffed_data -Ffilter.ef -M arp:remote /10.1.1.2/80 //
在eth0網卡上用自己的filter嗅探ip為10.1.1.2主機在80端口上的所有通信,並把所有的數據包保存成文件名為“sniffed_data”的文件
ettercap -i eth0 -Tq -L sniffed_data -Ffilter.ef -M arp:remote /10.1.1.1/ /10.1.1.2/
單向欺騙路由,只劫持路由發向10.1.1.2的數據包。

 

Enttercap filter寫法

 

Ettercap的過濾規則只有經過編譯之后才能由-F參數載入到ettercap中使用。
編譯過濾規則的命令是:
etterfilter filter.ecf -o filter.ef
即把filter.ecf文件編譯成ettercap能識別的filter.ef文件。
過濾規則的語法與C類似,但只有if語句,不支持循環語句。需要注意的地方是,if與”(”之間必須要有一個空格,且大括號{}不能省略。

Ettercap提供的一些常用的函數有:
search(where, what) 從字符串where中查找what,若找到則返回true
regex(where, regex) 從字符串where中匹配正則表達式regex,若找到則返回true
replace(what, with) 把字符串what替換成字符串with
log(what, where) 把字符串what記錄到where文件中
msg(message) 在屏幕上顯示出字符串message
exit() 退出

 

 

 

 

 

 

Enttercap 使用手冊中文版

英文原版地址:https://linux.die.net/man/8/ettercap

 

-o,-- only-mitm 此選項禁用嗅探線程,僅啟用mitm攻擊。如果要使用ettercap進行mitm攻擊,並使用另一個嗅探器(例如ethereal)來嗅探流量,則很有用。請記住,這些數據包不是由ettercap轉發的。內核將負責轉發。記住要激活內核中的“ ip轉發”功能。

-f,-- pcapfilter <過濾器> 在pcap庫中設置捕獲過濾器。格式與tcpdump(1)相同請記住,這種過濾器不會嗅探網絡中的數據包,因此,如果您要執行mitm攻擊,則ettercap將無法轉發被劫持的數據包。
這些過濾器有助於減少網絡負載對ettercap解碼模塊的影響。

-B,-- bridge <IFACE>橋接嗅探,需要兩個網絡接口。ettercap將把看到的所有流量從一個轉發給另一個。對於中間層物理層的人很有用。這是完全隱身的,因為它是被動的,用戶無法看到攻擊者。

您可以作為“電纜”的透明代理來內容過濾所有流量。

離線嗅探

-r--read <文件>  離線嗅探
如果啟用該選項,ettercap會嗅探數據包從一個PCAP兼容的文件,而不是從線捕捉。
如果您有一個文件從tcpdump或ethereal轉儲,並且想要對其進行分析(搜索密碼或被動指紋),這將很有用。
顯然,從文件進行嗅探時,不能使用“主動”嗅探(arp中毒或橋接)。

-w--write <文件>  將數據包寫入pcap文件
如果必須在交換的LAN上使用“活動”嗅探(arp毒葯),但又想使用tcpdump或ethereal分析數據包,則此功能很有用。您可以使用此選項將數據包轉儲到文件,然后將其加載到您喜歡的應用程序中。

注意:轉儲文件收集所有不考慮目標的數據包。這樣做是因為您可能甚至希望記錄ettercap不支持的協議,因此可以使用其他工具進行分析。

提示:可以將-w選項與-r選項一起使用。這樣,您將能夠過濾轉儲數據包的有效負載或解密WEP加密的WiFi通信並將其轉儲到另一個文件。

用戶界面選項

-T,- 文本純文本界面,僅printf;)
交互性很強,每時每刻按“ h”以獲取有關您可以做什么的幫助。

-q,- 安靜靜音模式它只能與控制台界面一起使用。它不打印數據包內容。如果要將pcap文件轉換為ettercap日志文件,這很有用。

例:

ettercap -Tq

L dumpfile -r pcapfile

-s,-- script <命令>使用此選項,您可以向ettercap輸入用戶在鍵盤上鍵入的命令。這樣,您可以在自己喜歡的腳本中使用ettercap。您可以通過此命令發出特殊命令:s(x)。此命令將休眠x秒。

例:

ettercap -T -s'lq'將打印主機列表,然后退出
ettercap -T -s 's(300)olqq'將收集信息5分鍾,然后打印本地配置文件列表並退出

-C,-- curses
基於Ncurses的GUI。

-G,-- gtk
不錯的GTK2界面。

-D,-- daemonize
守護ettercap。此選項將從當前控制終端分離ettercap並將其設置為守護程序。您可以將此功能與“ log”選項結合使用,以在后台記錄所有流量。如果守護程序由於任何原因失敗,它將創建文件“ ./ettercap_daemonized.log”,在該文件中將報告ettercap捕獲的錯誤。此外,如果要對守護進程進行完整的調試,建議您在調試模式下重新編譯ettercap。

常規選項

-i,-- iface <IFACE>選擇網卡

-I,-- iflist 此選項將打印可在ettercap中使用的所有可用網絡接口的列表。

-A,-- address <地址>如果您的接口具有多個IP地址,則此選項很有用。

-n,-- netmask <NETMASK>如果您的NIC的關聯網絡掩碼為B類,並且只想掃描(使用arp掃描)C類,則此選項很有用。

-R  反轉TARGET選擇中的匹配。它的意思不是(TARGET)。除所選目標外的所有目標。‘

-t,-- proto <PROTO>僅嗅探PROTO數據包(默認為TCP + UDP)。

如果要通過TARGET規范選擇端口,但要區分tcp或udp,這將很有用。兩者的PROTO都可以是“ tcp”,“ udp”或“ all”。

-z,-- silent不要執行LAN的初始ARP掃描。

-p,-- nopromisc通常,ettercap會將接口置於混雜模式,以嗅探線路上的所有流量。如果只想嗅探您的連接,請使用此標志不啟用混雜模式。-S,-- nosslmitm通常,ettercap偽造SSL證書以攔截https流量。此選項禁用該行為。

-u,- -ettercap每次啟動時,都會在內核中禁用ip轉發,並開始轉發數據包本身。此選項阻止這樣做,因此ip轉發的職責留給了內核。

如果要運行多個ettercap實例,此選項很有用。如果接口未配置(沒有IP地址),則必須使用此選項。

如果要在網關上運行ettercap,這也很有用。它不會禁用轉發,網關將正確路由數據包。

-j,-- load-hosts <文件名>它可用於從-k選項創建的文件中加載主機列表。(見下文)

-k,-- save-hosts <文件名>將主機列表保存到文件。當您有許多主機並且不想在每次使用ettercap時啟動ARP風暴時很有用。只需使用此選項並將列表轉儲到文件中,然后使用-j <filename>選項從中加載信息即可。

-P,-- plugin <插件>運行所選的插件。在控制台方式(-C選項)下,將執行獨立插件,然后退出應用程序。掛鈎插件已激活,並執行正常嗅探。

要獲得可用外部插件的列表,請使用“列表”(不帶引號)作為插件名稱(例如./ettercap -P list)。

-F,-- filter <文件>從文件<FILE>加載過濾器。過濾器必須使用etterfilter進行編譯該實用程序將編譯過濾器腳本,並生成符合ettercap的二進制過濾器文件。閱讀etterfilter手冊頁,以獲取可以在過濾器腳本中使用的功能列表。通過多次指定選項可以加載任意數量的過濾器;數據包按照命令行中指定的順序通過每個過濾器。您還可以通過在文件名后附加:0來加載腳本而不啟用腳本。
注意:這些過濾器與--pcapfilter設置的過濾器不同。ettercap過濾器是內容過濾器,可以在轉發數據包之前修改數據包的有效負載。Pcap過濾器僅用於捕獲某些數據包。
注意:您可以在pcapfile上使用過濾器來修改它們並將其保存到另一個文件,但是在這種情況下,您必須注意自己在做什么,因為ettercap不會重新計算校驗和,也不會拆分超出mtu(snaplen)的數據包或任何內容像那樣。-W,-- wep-key <密鑰>您可以指定WEP密鑰來解密WiFi數據包。只有成功解密的數據包才會傳遞到解碼器堆棧,其他的消息將被跳過。
該參數具有以下語法:N:T:KEY。其中N是wep密鑰的位長(64、128或256),T是字符串的類型(字符串為's',密碼短語為'p')。KEY可以是字符串,也可以是轉義的十六進制序列。

例如:--
wep-key 128:p:secret
--wep-key 128:s:ettercapwep0
--wep-key '64:s:\ x01 \ x02 \ x03 \ x04 \ x05'

-a-- config <配置>加載替代配置文件,而不是/etc/etter.conf中的默認配置文件。如果您有許多針對不同情況的預配置文件,這將很有用。

可視化選項

-e,-- regex <REGEX>僅處理與正則表達式匹配的數據包。
該選項與-L結合使用非常有用。它僅記錄與posix regex REGEX匹配的數據包。
它甚至影響嗅探到的數據包的可視化。如果設置,則僅顯示與正則表達式匹配的數據包。

-V,-- visual <格式>使用此選項可以設置要顯示的數據包的可視化方法。

-E,-- ext-headers為每個顯示的數據包打印擴展標題。(例如,mac地址)

-Q,-- 超靜音超級安靜模式。請勿在收集用戶和密碼時打印它們。僅將它們存儲在配置文件中。在純文本模式下運行ettercap可能很有用,但您不想被解剖器消息所淹沒。使用插件時很有用,因為嗅探過程始終處於活動狀態,它將打印所有收集的信息,使用此選項,您可以禁止顯示這些消息。
注意:此選項自動設置-q選項。

例:

ettercap

--

TzQP手指/192.168.0.1/22

記錄選項

-L,-- log <日志文件>將所有數據包記錄到二進制文件中。etterlog可以解析這些文件以提取人類可讀數據。使用此選項,將記錄所有由ettercap嗅探到的數據包以及它可以收集的所有被動信息(主機信息+用戶和通過)。給定一個LOGFILE,ettercap將創建LOGFILE.ecp(用於數據包)和LOGFILE.eci(用於信息)。

注意:如果您在命令行上指定此選項,則不必照顧特權,因為日志文件是在啟動階段打開的(具有高特權)。但是,如果在ettercap啟動時啟用了日志選項,則必須位於uid = 65535或uid = EC_UID可以寫入的目錄中。

注意:日志文件可以使用-c選項使用deflate算法進行壓縮。

-l,-- log-info <日志文件>與-L非常相似,但是它僅記錄每個主機的被動信息+用戶和密碼。該文件將被命名為LOGFILE.eci

-m,-- log-msg <日志文件>它在<LOGFILE>中存儲ettercap打印的所有用戶消息。當您在守護程序模式下使用ettercap或要跟蹤所有消息時,此功能很有用。確實,一些解剖器會打印消息,但它們的信息不會存儲在任何地方,因此這是跟蹤消息的唯一方法。

-c,-- compress轉儲時,使用gzip算法壓縮日志文件。能夠處理壓縮和未壓縮的日志文件。

-o,-- only-local存儲僅屬於LAN主機的配置文件信息。

注意:此選項僅對內存中收集的配置文件有效。記錄到文件時,將記錄所有主機。

-O,--僅遠程存儲僅屬於遠程主機的配置文件信息。

標准選項

-U--update連接到ettercap網站(ettercap.sf.net)並檢索ettercap使用的最新數據庫。
如果只想檢查更新是否可用,請在-z選項前添加。順序很重要:ettercap -zU

-v--version打印版本並退出。

-h--help打印幫助屏幕,並簡要列出可用選項。

注意:您不能在僅-mitm模式(-o標志)中使用此方法,因為它會鈎住嗅探引擎,並且您不能使用交互式數據注入。

注意:將其與其他mitm方法結合使用可能會很危險。

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM