標題:內網滲透之中間人欺騙攻擊

taibeihacker

Moderator

ARP攻击​

协议简介​

ARP全稱為Address Resolution Protocol,即地址解析協議,它是一個根據IP地址獲取物理地址的TCP/IP協議,主機發送信息時將包含目標IP地址的ARP請求廣播到網絡上的所有主機,並接收返回消息,以此確定目標的物理地址,收到返回消息後將該IP地址和物理地址存入本機ARP緩存中並保留一定時間,下次請求時直接查詢ARP緩存以節約資源。
ARP地址解析協議是建立在網絡中各個主機互相信任的基礎上的,網絡上的主機可以自主發送ARP應答消息,其他主機收到應答報文時不會檢測該報文的真實性就會將其記入本機ARP緩存,故而攻擊者可以向某一主機發送偽ARP應答報文,使其發送的信息無法到達預期的主機或到達錯誤的主機,這就構成了一個ARP欺騙。

工作原理​

环境假设​

主機A:
IP地址:192.168.1.1MAC地址:0A-11-22-33-44-01主機B:
IP地址:192.168.1.2MAC地址:0A-11-22-33-44-02

工作流程​

第1步:根據主機A上的路由表內容,確定用於訪問主機B的轉發IP地址是192.168.1.2,然後A主機在自己的本地ARP緩存中檢查主機B的匹配MAC地址第2步:如果主機A在ARP緩存中沒有找到映射,它將詢問192.168.1.2的硬件地址,從而將ARP請求幀廣播到本地網絡上的所有主機,源主機A的IP地址和MAC地址都包括在ARP請求中,本地網絡上的每台主機都接收到ARP請求並且檢查是否與自己的IP地址匹配,如果主機發現請求的IP地址與自己的IP地址不匹配,它將丟棄ARP請求第3步:主機B確定ARP請求中的IP地址與自己的IP地址匹配,則將主機A的IP地址和MAC地址映射添加到本地ARP緩存中第4步:主機B將包含其MAC地址的ARP回复消息直接發送回主機A第5步:當主機A收到從主機B發來的ARP回复消息時,會用主機B的IP和MAC地址映射更新ARP緩存,本機緩存是有生存期的,生存期結束後,將再次重複上面的過程,主機B的MAC地址一旦確定,主機A就能向主機B發送IP通信了

缓存机制​

ARP緩存是一個用來儲存IP地址和MAC地址的緩衝區,其本質就是一個IP地址-MAC地址的對應表,表中每一個條目分別記錄了網絡上其他主機的IP地址和對應的MAC地址,每一個以太網或令牌環網絡適配器都有自己單獨的表,當地址解析協議被詢問一個已知IP地址節點的MAC地址時,先在ARP緩存中查看,若存在,就直接返回與之對應的MAC地址,若不存在,才發送ARP請求向局域網查詢,為了使廣播量最小,ARP維護IP地址到MAC地址映射的緩存以便將來使用
ARP緩存可以包含動態和靜態項目,動態項目隨時間推移自動添加和刪除,每個動態ARP緩存項的潛在生命週期是10分鐘,新加到緩存中的項目帶有時間戳,如果某個項目添加後2分鐘內沒有再使用,則此項目過期並從ARP緩存中刪除,如果某個項目已在使用,則又收到2分鐘的生命週期,如果某個項目始終在使用,則會另外收到2分鐘的生命週期,一直到10分鐘的最長生命週期,靜態項目一直保留在緩存中,直到重新啟動計算機為止

ARP欺骗​

ARP地址解析協議是建立在網絡中各個主機互相信任的基礎上的,它的誕生使得網絡能夠更加高效的運行,但其本身也存在缺陷,ARP地址轉換錶依賴於計算機中高速緩衝存儲器動態更新的,而高速緩衝存儲器的更新是受到更新周期的限制的,只保存最近使用的地址的映射關係表項,這使得攻擊者有了可乘之機,可以在高速緩衝存儲器更新表項之前修改地址轉換錶,實現攻擊。
ARP請求為廣播形式發送的,網絡上的主機可以自主發送ARP應答消息,並且當其他主機收到應答報文時不會檢測該報文的真實性就將其記錄在本地的MAC地址轉換錶,這樣攻擊者就可以向目標主機發送偽ARP應答報文,從而篡改本地的MAC地址表,ARP欺騙可以導致目標計算機與網關通信失敗,更會導致通信重定向,所有的數據都會通過攻擊者的機器,攻擊者再對目標和網關之間的數據進行轉發,則可作為一個'中間人',實現監聽目標卻又不影響目標正常上網的目的。

欺骗实践​

基本环境​

攻擊主機:192.168.174.129 00:0c:29:39:be:eb普通主機:192.168.174.170 00:0c:29:08:ad:eb網關地址:192.168.174.2

断网攻击​

Step 1:在攻擊主機上關閉端口轉發
#終止
echo 0 /proc/sys/net/ipv4/ip_forward
#允許
echo 1 /proc/sys/net/ipv4/ip_forward
1049983-20230129140559574-267061974.jpg

Step 2:在普通主機上查看當前ARP解析列表
1049983-20230129140600284-753195515.jpg

Step 3:在普通主機上向百度進行ping試
ping www.baidu.com -t
1049983-20230129140600986-1420595615.jpg

可以正常訪問百度:
1049983-20230129140601711-377836780.jpg

Step 4:之後在攻擊主機上通過aprspoof進行斷網攻擊
Usage: arpspoof [-i interface] [-c own|host|both] [-t target] [-r] host
# 參數解釋:
-i 指定使用的接口
-c 指定當還原arp配置時t使用的MAC地址,默認為使用原來的MAC(即當停止arpspoof命令後,默認取消毒化)
-t 指定要毒化的主機,如果不指定的話默認為局域網下所有主機
-r 雙向毒化(host和target),從而雙向撲捉數據(僅當同時指定-t的時候才有效)
#執行示例:
arpspoof -i eth0 -t 192.168.174.170 192.168.174.2
1049983-20230129140602635-1232145428.jpg

Step 5:之後可以看到ping請求超時,同時瀏覽器無法打開www.baidu.com,同時查看ARP解析表會發現網關的MAC地址被成功欺騙後設置成了攻擊者的MAC地址
1049983-20230129140603363-1270054129.jpg
Step 6:之後中斷攻擊(由於我們之前沒有指定-c參數所以會還原原先的MAC地址)
1049983-20230129140604067-1512025892.jpg

可以看到ping恢復正常,同時頁面和ARP表也恢復正常
1049983-20230129140604705-349404777.jpg

图片数据​

Step 1:開啟端口轉發,允許本機像路由器一樣轉發數據信息
echo 1 /proc/sys/net/ipv4/ip_forward
1049983-20230129140605296-780391879.jpg

Step 2:在普通主機上查看當前ARP解析列表
1049983-20230129140605937-5170927.jpg

Step 3:在普通主機上訪問Web頁面
1049983-20230129140606648-1919331429.jpg

Usage: arpspoof [-i interface] [-c own|host|both] [-t target] [-r] host
# 參數解釋:
-i 指定使用的接口
-c 指定當還原arp配置時t使用的MAC地址,默認為使用原來的MAC(即當停止arpspoof命令後,默認取消毒化)
-t 指定要毒化的主機,如果不指定的話默認為局域網下所有主機
-r 雙向毒化(host和target),從而雙向撲捉數據(僅當同時指定-t的時候才有效)
#執行示例:
arpspoof -i eth0 -t 192.168.174.170 192.168.174.2
1049983-20230129140607359-1535379602.jpg

Step 5:之後driftnet 獲取受害者用戶訪問網站時殘留的圖片數據信息
1049983-20230129140608085-1225498038.jpg
1049983-20230129140608818-1299779077.jpg
1049983-20230129140609542-1723239514.jpg

登录凭证​

Step 1:這裡我們接著上面圖片數據的部分展開,我們在攻擊主機上使用ettercap捕獲通信數據
ettercap -Tq -i eth0
1049983-20230129140610245-861224181.jpg

Step 2:模擬一個第三方FTP服務
1049983-20230129140610921-563578121.jpg

Step 3:用戶訪問第三方FTP服務並進行認證
1049983-20230129140611552-869109915.png

Step 4:攻擊者成功捕獲到用戶的賬戶密碼信息
1049983-20230129140612222-670821545.jpg

欺骗扩展​

這裡我們補充幾個在Windows下常用的ARP欺騙手法以及ARP欺騙工具的使用~

NetFuke​

测试环境​

目標主機:192.168.174.170(Win 7)攻擊主機:192.168.174.169(Windows Server 2003)網關地址:192.168.174.2

欺骗流程​

Step 1:在攻擊主機上運行NetFuke軟件並進行嗅探配置(此處的網卡必須要識別出來IP地址,否則無法進行ARP欺騙)
1049983-20230129140612974-455784759.png

Step 2:配置ARP欺騙
1049983-20230129140613650-1836780355.png

Step 3:插件命令參數設置
1049983-20230129140614397-2145380496.jpg

Step 4:開啟ARP欺騙
1049983-20230129140615228-1163122555.png

攻击检测​

XArp工具简介​

XArp是國外的一款熱門的ARP防火牆軟件,能夠幫助用戶建立一個專門的檢測系統,使用高級技術來檢測應對網絡上的各類ARP攻擊,例如,使用ARP欺騙,攻擊者可以竊聽您的所有網絡流量,包含電子郵件與密碼,所有這一切都完全沒有被發現,XArp執行主動與被動方法來檢測此類攻擊。

攻击检测​

Step 1:開啟NetFuke實施ARP欺騙攻擊
1049983-20230129140615902-1963725991.png

Step 2:之後再XARP端可以看到報警信息以及相關記錄信息
1049983-20230129140616614-1756824487.jpg

PS:個人感覺這個工具並不是那麼好~

防御措施​

ARP欺騙的防御手法主要從以下兩個方面出發:
a、阻斷偽造數據包的傳播:
該方法主要是從交換機或者路由器等網絡設備的角度出發,以交換機為例,將交換機的端口、MAC地址、IP地址三者綁定,生成DAI(Dynamic ARP Inspection)檢測表,如果某個端口的主機發送了與它在DAI表中的條目不相符的數據包,可以選擇令其斷網或者丟棄其發送的數據包
b、受害者不接受偽造數據包
該方法主要是從用戶的角度出發,首先不要隨便接入陌生的網絡是一定的,其次,用戶可以在設備上安裝ARP防火牆,如果是技術人員,可以選擇建立靜態ARP條目(適用於不會經常變動且數量較少的網絡環境),Windonwde用戶使用命令'arp -s ip'地址mac地址來進行靜態綁定

DNS攻击​

域名系统​

DNS(Domain Name System),即域名解析協議,域名系統以分佈式數據庫的形式將域名和IP地址相互映射,簡單來說,DNS是用來解析域名的,有了DNS我們就不用再記住煩人的IP地址,用相對好記的域名就可以對服務器進行訪問,即使服務器更換了IP地址,我們依舊可以通過域名訪問該服務器,這樣能夠使我們更方便的訪問互聯網
1049983-20230129140617417-1882185836.png

當我們在瀏覽器中輸入www.baidu.com後,將經歷以下查詢過程:
客戶機向本地DNS服務器查詢www.baidu.com本地DNS服務器檢查本地數據庫,由於沒有baidu.com域的記錄,因此它將查詢信息傳遞到根域DNS服務器,請求解析主機名稱根域DNS服務器把負責解析'com'域的DNS服務器的IP地址返回給本地DNS服務器本地DNS服務器將請求發送給負責'com'域的DNS服務器負責'com'域的服務器根據請求將負責'baidu.com'域的DNS服務器的IP地址返回給本地DNS服務器本地DNS服務器向負責'baidu.com'區域的DNS服務器發送請求,由於此服務器具有www.baidu.com的記錄,因此它將www.baidu.com 的IP地址返回給本地DNS服務器本地DNS服務器將www.baidu.com的IP地址發送給客戶機域名解析成功後,客戶機將http請求發送給Web服務器Web服務器響應客戶機的訪問請求,客戶機便可以訪問目標主機

DNS欺骗​

DNS在互聯網中扮演著如此重要的角色,但是在設計DNS協議時,設計者沒有考慮到一些安全問題,導致了DNS的安全隱患與缺陷,DNS欺騙就是利用了DNS協議設計時的一個非常嚴重的安全缺陷
首先,欺騙者向目標機器發送構造好的ARP應答數據包,ARP欺騙成功後,嗅探到對方發出的DNS請求數據包,分析數據包取得ID和端口號後,向目標發送自己構造好的一個DNS返回包,對方收到DNS應答包後,發現ID和端口號全部正確,即把返回數據包中的域名和對應的IP地址保存進DNS緩存表中,而後來的真實的DNS應答包返回時則會被丟棄

欺骗实践​

测试环境​

攻擊主機:192.168.174.129目標主機:192.168.174.170

简易测试​

Step 1:測試攻擊主機的網絡連通性
1049983-20230129140618086-1953357804.jpg

Step 2:之後在攻擊者主機端啟動Apache服務並構造一個釣魚頁面,這裡簡化為一個普通的HTML頁面,本地測試效果如下
1049983-20230129140618746-1746632493.png

Step 3:查找etter.dns文件,並修改該配置文件,將www.al1ex.com指向本機IP地址
locate etter.dns
leafpad /etc/ettercap/etter.dns
1049983-20230129140619383-361146956.jpg
1049983-20230129140620078-689761696.jpg

Step 4:使用ettercap開始欺騙
ettercap -G
1049983-20230129140620777-615927757.jpg

之後開啟DNS欺騙
 
返回
上方