滲透測試常用工具-網絡嗅探

arpspoof

arp欺騙的原理,我們的局域網是通過mac地址來進行傳輸的,路由器有IP對應mac的mac表,我們本地也有arp緩存表,當路由器不知道某個ip對應的mac地址時arp協議就派上了用場。
看似無懈可擊,本地和網關的mac表都記錄了對方的mac,但arp協議是基於“傳聞”的協議,別人說什麼就信什麼,這就爲攻擊者提供了可乘之機,攻擊者對網關說:我就是XXX,又對被攻擊者XXX說:我就是網關。這就形成了一個雙向欺騙的機制,這句話會被被攻擊者和網關緩存在自己的mac表裏,導致傳輸流量都會流經攻擊者,此時如果攻擊者進行轉發流量(把來自於網關發向被攻擊者,以及被攻擊者發向網關的流量進行轉發),並本地抓包,被攻擊者與網關通信流量數據將會被攻擊者所掌控。
arpspoof功能及原理分析:arpspoof將局域網內的目標主機或者是所有主機的發送數據包通過ARP欺騙來重指向,在使用交換機的局域網環境下是一個非常有效的方法來嗅探數據。

關於協議分析:

arp協議分析

icmp協議分析

arpspoof的基本使用方法:
arpspoof [-i interface] [-t target] host
-i 用來指示要使用的網卡接口,一般是eth0,
-t 用來指示要欺騙的目標主機,如果不表明則默認爲局域網內部的所有主機
host 你要截取數據包的主機,通常是網關

端口轉發

利用Linux主機的路由功能
ip_forword狀態爲1時爲打開狀態,爲0時爲關閉狀態。所以首先將“1”寫入ip_forword,
然後查看其文本狀態。
linux上開啓IP_forward命令: echo 1 >> /proc/sys/net/ipv4/ip_forward
注意:當機器網絡重新啓動,這個數字會恢復default=0,要修改的話,可以修改
/etc/sysctl.conf文件,永久生效。

在這裏插入圖片描述
在這裏插入圖片描述

靶機arp緩存表

在這裏插入圖片描述

測試arp毒化

在這裏插入圖片描述

在這裏插入圖片描述

停止攻擊後arp正常

在這裏插入圖片描述

arp響應包

在這裏插入圖片描述

dsniff

網絡嗅探需要用到網絡嗅探器,其最早是爲網絡管理人員配備的工具,有了嗅探器網絡管理員可以隨時掌握網絡的實際情況,查找網絡漏洞和檢測網絡性能,當網絡性能急劇下降的時候,可以通過嗅探器分析網絡流量,找出網絡阻塞的來源。網絡嗅探是網絡監控系統的實現基礎。
Dsniff是一個著名的網絡嗅探工具包。其開發者DugSong早在1999年12月,以密歇根大學CITI研究室的研究成果爲基礎,開發了這個後來具有很大影響力的網絡安全工具包。DugSong開發Dsniff的本意是揭示網絡通信的不安全性,藉助這個工具包,網絡管理員可以對自己的網絡進行審計,也包括滲透測試。但萬事總有其兩面性,Dsniff所帶來的負面作用也是“巨大”的,首先它是可以自由獲取的,任何擁有這個工具包的人都可能做“非正當”的事。其次,Dsniff裏面的某些工具,充分揭示了一些安全協議的“不安全性”,例如針對SSH1和SSL的MITM(Man-In-The-Middle)攻擊工具—SSHmitm和Webmitm。SSH1和SSL都是建立網絡通信加密通道的機制,向來被認爲是很安全的,但人們在具體使用時,往往因爲方便性上的考慮而忽視了某些環節,造成實事上的不安全。所以說,最大的不安全性,往往並不在於對安全的一無所知,而在於過於相信自己的安全。

實驗測試

在這裏插入圖片描述
-c 打開半雙工tcp流,允許在使用arpspoof時進行正確的嗅探操作;
-d 啓動調試模式;
-f 以/etc/service格式從文件中加載觸發器(也就是口令嗅探的服務類型);
-I 使用特定的網絡接口;
-m 使用dsniff.magic文件通過在magic文件中定義的特徵嘗試自動判斷協議;
-n 不執行主機查找;
-r 從前面保存的會話中讀取被嗅探的數據;
-s 最多對報文的前個字節進行嗅探,如果用戶名和口令信息包含在隨後的默認1024
字節界限中;
-t 使用格式port /proto =service;來加載一個以逗號界定的觸發器集;

流量轉發與劫持

在這裏插入圖片描述
在這裏插入圖片描述
直接使用dsniff

在這裏插入圖片描述

靶機訪問百度測試

在這裏插入圖片描述
在這裏插入圖片描述
Dsniff支持協議有:FTP、Telnet、SMTP、HTTP、POP、NNTP、IMAP、SNMP、LDAP、
Rlogin、RIP、OSPF、PPTP、MS-CHAP、NFS、VRRP、YP/NIS、SOCKS、X11、CVS、IRC、
AIM、ICQ、Napster、ostgreSQL、Meeting Maker、Citrix ICA、Symantec、pcAnywhere、
NAI Sniffer、Microsoft SMB、Oracle QL*Net、Sybase及Microsoft SQL認證信息。

ettercap

ettercap也是基於arp,icmp協議攻擊的,不在介紹。
在這裏插入圖片描述

ettercap擁有圖形化界面和命令行兩種

在這裏插入圖片描述

方法

icmp重定向:icmp欺騙即基於重定向(redirect)的路由欺騙技術。其基本原理是欺騙其他的主機,將自身僞裝爲最近的路由,因此其他主機會將數據包發送進來,然後作爲中間人的攻擊者再重新將其轉發到真正的路由器上。於是我們便可以對這些數據包進行監聽。當然,icmp欺騙不適用於交換機的環境,若本機在交換機的環境下則最好選擇arp毒化的方式來進行攻擊。icmp欺騙方式的參數是真實路由器的MAC和IP,參數形式爲(MAC/IP)。
【例如】#Ettercap -M icmp:00:11:22:33:44:55/192.168.0.1
僅僅是重定向而已

DHCP spoofing:DHCP欺騙的原理是將攻擊者的本機僞裝成DHCP服務器,代替真實的DHCP服務器給新接入網絡的受害主機動態分配IP。這樣的缺點是可能會與真實的DHCP服務器重複分配IP造成衝突,而且只能針對新接入網段的主機,難以影響到之前的主機。DHCP spoofing方式的參數是可以分配出去的IP地址池、子網掩碼和DNS,參數形式爲(ip_pool/netmask/dns)
【例如】#Ettercap -M dhcp:192.168.0.30,35,50-60/255.255.255.0/192.168.0.1
對應的含義是:將分配192.168.0.30,35,50-60之中的地址,子網掩碼爲255.255.255.0,DNS服務器爲192.168.0.1。

tcpdump

Linux作爲網絡服務器,特別是作爲路由器和網關時,數據的採集和分析是不可少的。TcpDump是
Linux中強大的網絡數據採集分析工具之一。
用簡單的話來定義tcpdump,就是:dump the traffic on a network,根據使用者的定義對網絡上的
數據包進行截獲的包分析工具。
作爲互聯網上經典的的系統管理員必備工具,tcpdump以其強大的功能,靈活的截取策略,成爲每個
高級的系統管理員分析網絡,排查問題等所必備的工具之一。
tcpdump提供了源代碼,公開了接口,因此具備很強的可擴展性,對於網絡維護和入侵者都是非常有
用的工具。tcpdump存在於基本的 FreeBSD系統中,由於它需要將網絡接口設置爲混雜模式,普通用
戶不能正常執行,但具備root權限的用戶可以直接執行它來獲取網絡上的信息。因此係統中存在網絡分析工具主要不是對本機安全的威脅,而是對網絡上的其他計算機的安全存在威脅。
基本上tcpdump的總的輸出格式爲:系統時間 來源主機.端口 > 目標主機.端口 數據包參數

在這裏插入圖片描述

常用參數有

-i 指定網卡
在這裏插入圖片描述

src 來源協議 (進)
dst 出口協議(出)
host 指定目標機器
port 指定端口

測試

在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

wireshark

個人用得最多的抓包軟件
一、Wireshark(前稱Ethereal)是一個網絡封包分析軟件。網絡封包分析軟件的功能是擷取網絡封包,並儘可能顯示出最爲詳細的網絡封包資料。Wireshark使用WinPCAP作爲接口,直接與網卡進行數據報文交換
二、網絡封包分析軟件的功能可想像成 “電工技師使用電錶來量測電流、電壓、電阻” 的工作 - 只是將場景移植到網絡上,並將電線替換成網絡線。在過去,網絡封包分析軟件是非常昂貴的,或是專門屬於盈利用的軟件。Ethereal的出現改變了這一切。在GNUGPL通用許可證的保障範圍底下,使用者可以以免費的代價取得軟件與其源代碼,並擁有針對其源代碼修改及客製化的權利。Ethereal是目前全世界最廣泛的網絡封包分析軟件之一。

工作原理

以太網數據是以廣播方式發送的,意即局域網內的每臺主機都在監聽網內傳輸的數據。以太網硬件將監聽到的數據幀所包含的MAC地址與自己的MAC地址比較,如果相同,則接受該幀,否則忽略他,這個是以太網的過濾規則。但是,如果把以太網的硬件設置爲“混雜模式”,那麼它就可以接收網內的所有數據幀。WinPcap相當於是一個庫爲抓包工具提供相關的支持。嗅探器就是依據這種原理來監測網絡中流動着的數據

在協議分析中,包相當多可以使用標記包快速找到位置
在這裏插入圖片描述

追每個包的流向

在這裏插入圖片描述
在這裏插入圖片描述

添加過濾器

###
tcp dst port 3128
顯示目的TCP端口爲3128的封包。
ip src host 10.1.1.1
顯示來源IP地址爲10.1.1.1的封包。
host 10.1.2.3
顯示目的或來源IP地址爲10.1.2.3的封包。
src portrange 2000-2500
顯示來源爲UDP或TCP,並且端口號在2000至2500範圍內的封包。
not imcp
顯示除了icmp以外的所有封包。(icmp通常被ping工具使用)
src host 10.7.2.12 and not dst net 10.200.0.0/16
顯示來源IP地址爲10.7.2.12,但目的地不是10.200.0.0/16的封包。

snmp || dns || icmp
顯示SNMP或DNS或ICMP封包。
ip.addr == 10.1.1.1
顯示來源或目的IP地址爲10.1.1.1的封包。
ip.src != 10.1.2.3 or ip.dst != 10.4.5.6
顯示來源不爲10.1.2.3或者目的不爲10.4.5.6的封包。
換句話說,顯示的封包將會爲:
來源IP:除了10.1.2.3以外任意;目的IP:任意
tcp.port == 25 顯示來源或目的TCP端口號爲25的封包。
tcp.dstport == 25 顯示目的TCP端口號爲25的封包。
tcp.flags 顯示包含TCP標誌的封包。
tcp.flags.syn == 0x02 顯示包含TCP SYN標誌的封包。

過濾報文等

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章