大家好,又見面了,我是你們的朋友全棧君。
Ettercap最初設計為交換網上的sniffer,但是随着發展,它獲得了越來越多的功能,成為一款有效的、靈活的中介攻擊工具。它支援主動及被動的協定解析并包含了許多網絡和主機特性(如OS指紋等)分析。
ettercap在backtrack系統中自帶,若想自己安裝可以使用
Default
apt-get install ettercap
1
apt-get install ettercap
(源中要有才可以)若安裝出錯可以參考《linux嗅探之ettercap》文章查找安裝出錯的解決辦法!
若源中沒有,或者你是windows系統則可以通過 http://ettercap.sourceforge.net/ 網址進行下載下傳。現在我們來介紹一下ettercap的具體使用方法!
Ettercap有5種sniffing工作方式:
1、IPBASED
在基于IP位址的sniffing方式下,Ettercap将根據源IP-PORT和目的IP-PORT來捕獲資料包。
2、MACBASED
在基于MAC位址的方式下,Ettercap将根據源MAC和目的MAC來捕獲資料包(在捕獲通過網關的資料包時,這種方式很有用)
3、ARPBASED
在基于ARP欺騙的方式下,Ettercap利用ARP欺騙在交換區域網路内監聽兩個主機之間的通信(全雙工)。
4、SMARTARP
在SMARTARP方式下,Ettercap利用ARP欺騙,監聽交換網上某台主機與所有已知的其他主機(存在于主機表中的主機)之間的通信(全雙工)。
5、PUBLICARP
在PUBLICARP 方式下,Ettercap利用ARP欺騙,監聽交換網上某台主機與所有其它主機之間的通信(半雙工)。此方式以廣播方式發送ARP響應,但是如果 Ettercap已經擁有了完整的主機位址表(或在Ettercap啟動時已經對LAN上的主機進行了掃描),Ettercap會自動選取 SMARTARP方式,而且ARP響應會發送給被監聽主機之外的所有主機,以避免在Win2K上出現IP位址沖突的消息。
Ettercap中最常用的一些功能包括:
1、在已有連接配接中注入資料:你可以在維持原有連接配接不變的基礎上向伺服器或用戶端注入資料,以達到模拟指令或響應的目的。
2、SSH1支援:你可以捕獲SSH1連接配接上的User和PASS資訊,甚至其他資料。Ettercap是第一個在全雙工的條件下監聽SSH連接配接的軟體。
3、HTTPS支援:你可以監聽http SSL連接配接上加密資料,甚至通過PROXY的連接配接。
4、監聽通過GRE通道的遠端通信:你可以通過監聽來自遠端cisco路由器的GRE通道的資料流,并對它進行中間人攻擊。
5、Plug-in支援:你可以通過Ettercap的API建立自己的Plug-in。
6、密碼收集:你可以收集以下協定的密碼資訊,TELNET、FTP、POP、RLOGIN、SSH1、ICQ、SMB、MySQL、HTTP、 NNTP、 X11、NAPSTER、IRC、RIP、BGP、SOCK5、IMAP4、VNC、LDAP、NFS、SNMP、HALFLIFE、QUAKE3、 MSNYMSG(不久還會有新的協定獲得支援)。
7、資料包過濾和丢棄:你可以建立一個查找特定字元串(甚至包括十六近制數)的過濾鍊,根據這個過濾鍊對TCP/UDP資料包進行過濾并用自己的資料替換這些資料包,或丢棄整個資料包。
8、被動的OS指紋提取:你可以被動地(不必主動發送資料包)擷取區域網路上計算機系統的詳細資訊,包括作業系統版本、運作的服務、打開的端口、IP位址、MAC位址和網卡的生産廠家等資訊。
9、OS指紋:你可以提取被控主機的OS指紋以及它的網卡資訊(利用NMAP Fyodor資料庫)。
10、殺死一個連接配接:殺死目前連接配接表中的連接配接,甚至所有連接配接。
11、資料包生産:你可以建立和發送僞造的資料包。允許你僞造從以太報頭到應用層的所有資訊。
12、把捕獲的資料流綁定到一個本地端口:你可以通過一個用戶端軟體連接配接到該端口上,進行進一步的協定解碼或向其中注入資料(僅适用于基于 ARP的方式)。
Ettercap的優點在于:
1、它不需要libpcap、libnet等常用庫的支援。
2、基于ARP欺騙的sniffing不需要把執行ettercap的主機的網卡設定為全收方式。
3、支援背景執行。
是不是很酷呀?!
Ettercap的選項說明:
監聽方式:
-a,–arpsniff
基于ARP的sniffing。
指定監聽交換網的方式,如果你想要采用中間人技術進行攻擊,必須選用這個選項。如果這個參數與靜音方式(-z選項)連用,你必須為ARPBASED方式指 定兩對IP-MAC位址(全雙工),或者為PUBLICARP方式指定一個IP-MAC位址(半雙工)。在PUBLICARP方式下,ARP響應是以廣播 方式發送的,但是,如果Ettercap擁有了完整的主機表(在啟動時對區域網路進行了掃描),Etercap會自動選擇SMARTARP方式,ARP響應 會發送給處被控主機以外的所有主機,并建立一個哈希表,以便以後在全雙工條件下的中間人攻擊中可以将資料包從監聽主機發送給以這種方式截獲的客戶。
注釋:如果你采用 SMARTARP方式的ARP欺騙,要在配置檔案中設定網關的IP位址(GWIP選項),并通過-e選項加載這個檔案。否則這個客戶将無法連接配接到遠端主 機。需要進行包替換或包丢棄的資料包過濾功能僅僅可以在ARPBASED方式下使用,因為為了保持連接配接必須調整資料包的TCP序列号。
-s,–sniff
基于IP的監聽。
這是最早的監聽方式。它适用與HUB環境,但是在交換網下就沒有作用了。你可以僅僅指定源或目的IP位址,可以指定也可以不指定端口,或者幹脆什麼也不指定,這樣意味着監聽網上的所有主機。可以用“ANY”來表示IP位址,它的意思是來自或去往每一個主機。
-m,-macsniff
基于MAC的監聽
适用于監聽遠端的TCP通信。在HUB環境下,如果你想要監聽通過網關的連接配接,僅僅指定欲監視主機的IP和網關的IP是不行的,因為資料包是從外部主機發 送的,而不是從網關發送的,是以你不能采取指定IP位址的方法。為了達到監視内外通信的目的,你隻要指定被監視主機的MAC位址和網關的MAC位址,這樣 就可以監視被監聽主機的所有Internet通信。
脫機sniffing:
-T,–readpcapfile
脫機sniffing。
如果使能了這個參數,Ettercap将監聽一個pcap相容檔案中存儲的網絡資料包,而不是直接監聽網絡上的資料包。如果你有tcpdump或etereal轉儲的資料檔案,并想對這些檔案進行分析的時候,這個選項非常合适。
-Y,–writepcapfile
把資料包轉儲到一個pcap格式的檔案中。
如果你必須要在一個交換的區域網路上使用主動sniffing(通過ARP欺騙)方式監聽,但是又希望利用tcpdump或etereal對截獲的資料包進 行分析,可以選用這個選項。你可以利用這個選項把監聽到的資料包轉儲在一個檔案中,然後加載到适當的應用程式中進行分析。
通用選項
-N,–simple
非互動方式。
如果你希望從一個腳本送出Ettercap,或者你已經了解一些目标資訊,或者你想要在背景送出Ettercap,讓它收集資料或密碼資訊(與 -quite 選項連用)的時候,可以采用這個選項。在這種工作方式下,Ettercap的某些功能無法實作,如字元注入等需要互動式處理的功能。但其他功能仍得到全面 支援,如過濾功能。是以可以讓Ettercap對兩個主機進行ARP欺騙(一台被監視主機和它的網關),并過濾它的所有在80端口的連接配接,并用一些字元串 進行替換,那麼它到Internet的所有通信都會按照你的要求而改變。
-z,–silent
以靜音方式啟動(在啟動時沒有ARP風暴)。
如果你希望以非攻擊方式啟動Ettercap(某些NIDS檢測到過多的ARP請求時會産生報警資訊)。若要選用這個選項,你必須了解有關目标系統的所有 必要的資訊。例如,如果你要求欺騙兩台主機,你需要知道這兩台主機的IP位址和MAC位址。如果你選擇了IP監聽或MAC監聽,會自動選擇這個選項,因為 你不需要知道區域網路上的主機清單。如果你想要了解全部主機資訊,使用“ettercao -Nl”選項,需要注意的是,這是帶有攻擊性的方式。
-O,–passive
以被動方式收集資訊。
這種方式不會向網上發送任何資料包,它會将網卡置于全收方式,并檢視流經的資料包。它将分析每一個需關注的資料包(SYN和SYN + ACK),并利用這些資訊建立完整的區域網路主機映射圖。所收集的資訊包括:主機的IP和MAC位址、網卡生産廠家、作業系統類型(被動OS指紋)和運作的 服務等。在這個清單中還會包含其他一些資訊,如:“GW”,如果該主機是一個網關的話,“NL”,如果這個IP不屬于本網段,以及“RT”,如果該主機發 揮了路由器的功能。如果你需要通過被動方式建立一個完整的主機清單的時候,可以選擇這個選項。當你對所收集的資訊感到滿意的時候,可以通過按下“C”鍵, 把收集的資訊轉換為主機清單,然後按照通常的方式工作。在下一節中将解釋在sample方式下,本選項的作用。
-b,–broadping
在啟動時利用廣播ping,而不是ARP風暴來獲得網絡主機資訊。
這種方法的可靠性差,準确性也低。有些主機不會響應廣播ping(如windows),所在這種方式下,這些主機是不可見的。如果你想要掃描區域網路上的 Linux主機,這個選項是非常有用的。通常你可以把這個選項–list選項連用以便獲得主機清單“ettercap -Nlb”
-D,–delay
如果你選擇了ARP欺騙方式,可以利用這個選項來控制ARP響應之間的延遲秒數。如果你希望這種欺騙資料流不要過于集中,這個選項是很有幫助的。在大多數OS中,預設的arp緩存有效時間間隔超過一分鐘(在FreeBSD系統中為1200秒)。預設的延遲為30秒。
-Z,–stormdelay
指定在arp風暴開始後arp請求之間的延遲微秒數。如果你希望掃描不要過于集中可以使用這個選項。許多IDS 對于過于大量的arp請求會産生報警資訊,但是如果你用低一些的速率發送arp資料包,IDS将不會報告任何異常事件。預設的延遲時間為1500微秒。
-S,–spoof
如果你想欺騙IDS,可以利用一個僞造的IP來進行區域網路arp掃描。但是我們不能僞造源MAC位址,因為良好配置的交換機會阻斷你的請求包。
-H,–hosts
指定在啟動是僅掃描這些主機。
如果你希望僅對某些IP進行arp掃描的時候,可以選用這個選項。這樣,你既可以從arp掃描中獲得好處,又可以盡量保持低攻擊性。甚至在你希望采用 PUBLIC ARP方式,但又想僅僅欺騙某幾個主機的時候,這個選項也是很有用的。由于在擁有主機清單的情況下PUBLIC ARP方式會自動轉換為SMARTARP方式,隻有這些主機被欺騙,可以保持其他主機的arp緩存不受影響。IP位址表的表示法為:點分制表示的IP地 址,位址之間用分号分隔(在它們之間沒有空格),還可以用中橫線表示一個IP位址範圍或一個IP位址表(使用逗号)。
例:
192.168.0.2-25 :從2到25
192.168.0.1,3,5 :主機1、3和5。
192.168.0.-3.1-10;192.168.4,5,7 :将要在子網192.168.0,192.168.1,192.168.2,192.168.3中掃描主機1到10,以及在子網192.168.4中掃描主機5和7。
-d,–dontresolve
在啟動時不解決IP。
如果你在啟動程式時遭遇瘋狂的“Resolving n hostnames…”消息時,這個選項會有所幫助。這種情況是由于你的網絡中的DNS非常慢而造成的。
-I,–iface
用于所有操作所針對的網絡接口。
你甚至可以指定一個網絡别名,以便掃描與你的目前IP不同的子網。
-n,–netmask
用于掃描區域網路絡的網絡掩碼(以點分制表示)。
預設的網絡掩碼為目前ifconfig中定義的掩碼。但是,如果你的掩碼為,比如255.255.0.0,那麼如果你要在啟動時進行arp掃描的話,鼓勵你另外指定一個限制更強的掩碼。
-e,–etterconf
使用配置檔案,而不是指令行參數。
在軟體的tar包中有一個etter.conf檔案,其中包含一些配置範例,參考這些範例來了解如何編寫配置檔案,在這些例子中給出了所有的指導資訊。通 過配置檔案,你可以選擇性地禁止某個協定分析或把它轉移到另一個端口。指令行選項和配置檔案可以非常靈活地混合使用,需要記住的是配置檔案中的選項壓倒命 令行選項,是以,如果在etter.conf指定了IFACE:eth0,并且你在啟動程式的時候指定了“ettercap -i eth1 -e etter.conf”,那麼最終的選擇結果是eth0。
注意:“-e etter.conf”選項必須在所有選項的後面出現,也就是說它必須是最後一個選項。
-g,–linktype
這個标志有兩個補充功能,是以要注意它。
如果這個标志用于互動式方式,它不檢查區域網路的類型。另一方面,如果與指令行方式(-N)連用,它要對區域網路進行檢查,以了解它是否是一個交換網。有時,如果在區域網路内隻有兩台主機,這種發現方法有可能失敗。
-j,–loadhosts
用于從指定的檔案中加載主機表,該檔案是通過-k選項建立的。
-k,–savehosts
把主機清單儲存到檔案中。
當目标網絡中有很多主機,并且你不希望在每一次啟動的時候都做一次arp風暴的時候,這個選項是很有幫助的。你隻要指定這個選項,并把清單轉儲到一個檔案 中。然後加載這個利用-j選項從檔案中加載這些資訊。檔案名的形式為:“netaddress_neymask.etl”
-v,–version
檢查最新的ettercap版本。
所有的操作都在你的控制之下。每一個步驟都需要使用者确認。利用這個選項ettercap将連接配接到 http://ettercap.sourceforge.net:80 web站點,并請求/latest.php,然後分析查詢結果并與你的目前版本進行比較。如果有一個更新的版本可用,ettercap将詢問你是否要需要 wget(必須在路徑中)。如果你想要對所有的問題自動回答yes,增加選項-y。
-h,–help
在螢幕上顯示幫助資訊,對每一個選項都有一個簡短的描述。
靜音方式選項(僅可以和-N選項連用)
-t,-proto
僅監聽協定PROTO的資料包(預設為TCP+UDP)。
這個選項僅在simple方式下有用,如果你以互動式方式啟動ettercap,TCP和UDP資料包都将被監聽。PROTO可以是tcp或udp或all。
-J,–onlypoison
這個選項使ettercap不監聽任何資料流,但僅僅對目标進行欺騙。如果你需要利用ettercap進行欺騙,而用其他的軟體tcpdump或ethereal進行監聽時,可以利用這個選項(注意在這種方式下要使能IP_forwarding)。
另外一種用法是多目标監聽。正如你所了解的,你可以利用ettercap監聽兩個目标之間的連接配接資訊(ARPBASED),或某一個目标的進出資訊 (SMART ARP)。利用這個選項,你可以同時監聽若幹目标(因為同時啟動了多個程式)。啟動第一個程式時選用SMART ARP,并用-H選項限制smart功能僅針對你想要欺騙的主機進行(記住如果在欺騙中涉及了網關,必須在以smart方式運作的執行個體中指定它)。然後在 啟動其他的“ettercap -J”。
-R,–reverse
監聽除選擇的連接配接以外的所有連接配接。如果你在一個遠端主機上使用ettercap,并且要求監聽除了你自己的從本地到遠端的連接配接以外的所有其他連接配接時,可以選擇這個選項。因為如果包含了這樣的連接配接将會使ettercap監聽自己的輸出,并不斷疊加上去。
-O,passive
以被動的方式收集資訊。在simple方式下,我們可以在許多方式中選擇這個選項。“ettercap -NO”将以半互動的方式啟動ettercap,輸入“h”來獲得幫助資訊。你可以檢視收集的資訊,也可以把它們記錄到日志檔案中,或簡單地浏覽分析的數 據包。“ettercap -NOL”與上面的方式相類似,不過它會自動地把資料記錄到檔案中,記錄的時間間隔是5分鐘。“ettercap -NOLq”使ettercap每5分鐘把日志寫到檔案中。你可以走開,抽支香煙,傳回時就會有一個有關區域網路的完整報告在等待着你…J
-p,–plugin
運作外部插件“NAME”
大多數插件需要一個目标主機,這隻要在插件的名字後面指定目标主機就可以了。事實上,指令行上的主機解析中,第一個主機為DEST,SOURCE也同樣。 為了獲得可用的外部插件清單,使用“list”(不包括引号)作為插件的名字。由于ettercap 0.6.2提供了鈎子插件系統,是以一些插件并不是作為獨立的程式運作,它們可以和ettercap互動,可以通過接口或配置檔案使能或禁止。有關插件的 詳細資訊以及如何編寫自己的插件,可以在README.PLUGING檔案中找到。
-l,–list
列出區域網路中的所有主機,報告每一個MAC位址。
通常與-b(ping廣播)選項和-d(不解決主機名)選項連用。
-C,–collect
收集在指令行上指定的那些主機的所有使用者和密碼資訊。
在配置檔案(etter.conf)中配置密碼收集器,如果需要的話,可以有選擇性地禁止它們,或者把它們轉移到另一個端口。如果你不希望收集SSH連接配接 資訊,但收集其他所有協定的資料的時候,這個選項很有用。如果你已知某一台主機在端口4567上提供telnet服務,隻要把telnet解碼移動到 4567/tcp就可以了。
-f,–fingerprint
對主機進行OS指紋收集。
這個選項利用與nmap所使用的相同的方法和資料庫:Fyodor [email protected],是以引用一段其man手冊頁中的一段:
這個選項通過TCP/IP指紋來辨別遠端主機。換句話說,它通過一套技術來檢測被掃描主機的網絡協定棧的特征。它利用這些資訊建立一個指紋,這個指紋将同已知OS指紋庫相比較,進而确定所掃描主機的系統類型。
-f選項甚至可以向你提供被掃描主機所用的網絡擴充卡的生産廠家。這些資訊被存放在mac-fingerprints資料庫中。
-x,–hexview
以十六進制數方式轉儲資料。
提示:在監聽的時候,可以改變顯示效果,隻要按”x”或”h”鍵就可以實作按16進制數顯示或按Ascii字元顯示。
-L,–logtofile
如果這個參數單獨使用的話,會把所有的資料儲存到特定的檔案中。它會為每一個連接配接建立一個單獨的檔案,在UNIX系統下檔案名為YYYYMMDD-P-IP:PORT-IP:PORT.log,
在Windows環境下的檔案名為P-IP[PORT]-IP[PORT].log。如果與C參數連用,它會建立一個名為YYYYMMDD-collected-pass.log檔案,其中記錄了所有監聽到的密碼資訊。
-q,–quiet
魔鬼化ettercap。
如果你希望以背景工作方式記錄所有的資料,可以使用這個選項。這個選項将使ettercap脫離目前的tty,并把它設定為一個daemon。這個選項必 須與-NL(或-NCL)選項聯合使用,否則的話沒有任何作用。顯然,還需要指定一種監聽方式,是以這個選項還要和一個表示監聽方式的選項相配合。
-w,–newcert
為HTTPS中介攻擊方式建立一個新的cert檔案。
如果你想要利用社會工程方式獲得的資訊建立一個cert檔案,可以使用這個選項。新建立的檔案儲存在目前工作目錄下。為了長期替換預設的cert檔案(etter.ssl.crt),必須改寫/usr.local/share/etter.ssl.crt。
-F,–filter
從檔案FILENAME中加載過濾鍊。
過濾鍊檔案是用僞XML格式編寫的。你可以通過手工改寫檔案或通過ettercap的使用者界面來讓ettercap建立這個檔案(在連接配接表界面中按’F’鍵)。如果你很熟悉XML語言分析,可以寫自己的程式來建立過濾鍊檔案。
過濾規則很簡單:
如果 協定 源端口 目的端口 資料流 與規則比對,在過濾器完成了它的響應 之後,跳轉到在 域中定義的過濾器id,否則它跳轉到。如果這些域是空的,鍊就中斷了。如果源端口和目的端口為0,意味着任意端口。在查找串中可一使用通配符(細節見 README)。
注意:這個選項使能了過濾器,如果需要禁止它,在監聽過程中按“S”(源)或“D”(目的)。
注意:在指令行上,對主機的解析為:ettercap –F etter.filter DEST SOURCE。是以第一個主機被綁定到目的鍊,第二個主機被綁定到源鍊。
重要注意事項:源鍊規則應用到從源發出的資料上,而不是發送到源的資料上,千萬牢記!!!對于目的位址也是同樣。
-c,–check
檢查你是否被區域網路上特定目标中的其他欺騙者所欺騙。
對指令行上的目标主機的解析是反向的。第一個主機是DEST,第二個主機是SOURCE。如果你在基于IP的方式下監聽,這個順序沒有關系,因為源和目的都被忽略了。但是如果你在對連接配接進行過濾,這個順序對于綁定到相關的過濾鍊就很重要了。
這個反向的順序是由于與插件的更加靈活接口。因為有些插件需要指定目标主機,那麼ettercap –Np ooze victim這種形式要比ettercap –Np ooze NOONE victim簡單一些。
可以用點分制的格式來輸入目标(192.168.0.1)或者以域名的格式來輸入目标(victim.mynet.org)。隻有在-H選項中可以使用通配符。
互動模式
如果啟動ettercap的時候沒有指定-N選項,那麼就自動選取了互動模式。如果在某些情況下不知到可以做什麼,隻要鍵入‘H’就可以彈出幫助畫面。在那裡可以看到可執行指令的消息清單。
脫機工作
如果你想要分析由tcpdump或ethereal儲存的libpcap格式檔案,可以使用Script插件。可以用它來重構連接配接清單,進行密碼收 集工作或被動OS指紋收集。要實作這些隻要指定-T選項,然後以與收集網絡資料同樣的方式使用ettercap。為了儲存tcpdump檔案以便進行進一 步的分析,使用-Y選項。
Ettercap download:http://ettercap.sourceforge.net/
Platform:
Linux 2.0.x
Linux 2.2.x
Linux 2.4.x
Linux 2.6.x FreeBSD 4.x 5.x
OpenBSD 2.[789] 3.x
NetBSD 1.5 Mac OS X (darwin 6.x 7.x)
Windows 2000/XP/2003
Solaris 2.x
Required Libraries:
libpcap >= 0.8.1
libnet >= 1.1.2.1
libpthread
zlib
釋出者:全棧程式員棧長,轉載請注明出處:https://javaforall.cn/154178.html原文連結:https://javaforall.cn