中間人攻擊小結

數據截獲

1.站表溢出(mac泛洪)

交換機中站表的項的工作原理
通過以太網幀的源MAC地址學習獲得,當交換機無法找到以太網幀的目標MAC地址,會廣播該幀給所有端口。站表每一項都有生命週期,如果週期內沒有收到與源MAC地址匹配的對應幀則刪除該項。當站表填滿時,交換機停止學習時所有幀將廣播出去,直到某項被刪除。

攻擊手法
局域網內,kali機(攻擊機)運行macof腳本
先發送大量虛假源MAC地址幀佔領交換機的站表,使得交換機轉發的每一幀都是廣播發送,攻擊者設置網卡爲混雜狀態則可截獲所有經過交換機的報文。

防禦
限制每個端口允許學習的最大地址數,這樣從某個端口學習的地址數達到上限就不會記錄到站表中

附腳本

#mac泛洪攻擊腳本
from scapy.all import *
import time
 
iface = 'eth0'    //設置攻擊機網卡
try:
    while 1:   //不斷泛洪
        randmac = str(RandMAC())  //隨機mac地址
        randip = str(RandIP())   //隨機IP地址
        packet = Ether(src=randmac,dst=randmac)/IP(src=randip,dst=randip)  //利用scapy庫對其進行封包
        sendp(packet,iface=iface,loop=0)  //開始攻擊
        
except KeyboardInterrupt:   //報錯處理
	print('/n[+]Stop')   

 

2.ARP欺騙

原理
局域網中的主機根據MAC地址進行通信,發送方檢查其ARP緩存是否存儲目標IP的MAC地址,否則廣播發送ARP請求報文,只有目標IP的主機纔會響應一個包含其MAC地址的ARP應答報文,發送方收到應答後,更新自身ARP緩存。

攻擊手法
通過僞造IP地址與MAC地址的映射關係實現欺騙攻擊。。發送虛假的ARP請求或應答報文,使目標主機接收錯誤的(目標)IP和(攻擊者)MAC綁定關係。
kali下自帶的arpspoof工具 arpspoof -i [interface攻擊機網卡] -t [目標ip] [gateway]

防禦
①客戶端 靜態綁定 網關真實地址,arp -s 網關IP 網關MAC
②路由器交換機設備上設置 端口與MAC 的靜態綁定
③定期檢測自身ARP緩存,檢測是否存在MAC地址相同的不同表項
 

3.DHCP欺騙

原理
DHCP用於自動配置終端接入網絡所需的信息。此過程主機並沒有對DHCP服務器進行認證。攻擊者可以僞裝成DHCP服務器,使主機剛接入網絡時就被分配虛假網關,隨後主機的所有通信都會經過攻擊者指定網關。

攻擊手法
①攻擊者將僞造的DHCP服務器接入局域網,當目標主機發送DHCP廣播請求時並收到多個DHCP服務器應答時(最先響應的服務器爲其提供配置信息),只要僞造DHCP早一步對目標主機應答,那麼目標主機將收到僞造DHCP的虛假配置信息(其中虛假網關IP通常是DHCP),因此當目標主機通信時,僞造DHCP都會收到報文。

②也可通過惡意腳本佔滿dhcp服務器的可分發ip,然後運行惡意dhcp服務器,然後將網關指向攻擊機或者攻擊者可控機(啓動路由能力),通過它抓包獲取數據包內容

防禦
①將交換機劃分爲信任及與非信任端口,交換機只轉發從信任端口發出的DHCP報文(請求和確認),將真實DHCP服務器端口和連接不同交換機的端口設置爲信任端口。
②在交換機上激活,以構建一個表項,映射:客戶端mac地址,ip地址,ip地址,vlan以及端口id對應關係
 

4.ICMP路由重定向

原理
路由器A檢測主機使用非優化路由時,會向主機發送一個ICMP重定向報文,要求其改變路由爲從路由B發送報文,同時,路由A會把初始報文向路由B轉發,主機以後的報文都從路由B發出。
在這裏插入圖片描述
攻擊手法:(單向截獲)
攻擊者向目標主機發送虛假ICMP重定向消息,該消息源地址爲實際路由,該消息用來通知主機新路由爲攻擊者機器,主機錯認爲該消息來自真實路由,錯誤地修改自己的默認網關爲攻擊者機器,此後目標主機發送的報文都會經過攻擊機機器。

netwox 86 功能:sniff and send ICMP4/ICMP6 redirect (嗅探和發送icmp重定向報文)
攻擊機先在etc/sysctl.conf 將參數改爲“1”,開啓路由轉發功能

netwox 86 -f [被攻擊主機ip地址] -g [新指定的網關ip地址] -i [當前網關ip地址]

防禦
①網關端:
·關閉ICMP重定向(no ip redirects)
·變長子網掩碼劃分網段
·使用網絡控制列表(ACL)和代理
②主機端:
可以使用防火牆等過濾掉ICMP報文,將主機配置成不處理ICMP重定向消息
linux

#vim /etc/sysctl.conf    
net.ipv4.conf.eth0.accept_redirects = 0    
net.ipv4.conf.eth1.accept_redirects = 0    
net.ipv4.conf.lo.accept_redirects = 0    
net.ipv4.conf.default.accept_redirects = 0    
net.ipv4.conf.all.accept_redirects = 0

windows

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
EnableICMPRedirects REG_DWORD 0x0(默認值爲0x1)

說明:該參數控制Windows 2000是否會改變其路由表以響應網絡設備(如路由器)發送給它
的ICMP重定向消息,有時會被利用來幹壞事。Win2000中默認值爲1,表示響應ICMP重定向報文,需改爲0。
 

欺騙攻擊

1.DNS欺騙

DNS工作原理
當客戶向服務器查詢域名時,本地DNS服務器首先在本地緩存中進行查找,然後在本地數據庫進行查詢;如果沒有匹配信息則像根服務器或指定的DNS服務器進行迭代查詢,每臺服務器都重複類似動作,當在某臺服務器的數據庫找到對應信息後,查詢路徑中的所有服務器都會在自己的緩存中保存一份複製,然後返回給路徑中的下一個服務器。

攻擊手法
攻擊者根據DNS工作原理,通過攔截和修改DNS的請求和應答包進行定向DNS欺騙,即只有目標主句查詢特定域名時,才修改返回的DNS應答爲虛假IP,其他情況還是返回真實的DNS應答。當主機訪問特定域名時,其實訪問的是攻擊者指定的IP地址,從而實現DNS欺騙。

DNS欺騙手段主要有
①緩存感染:攻擊DNS服務器,將虛假的映射寫入到服務器的緩存或數據庫中,當DNS查詢經過該服務器時,服務器返回虛假應答報文

②DNS信息劫持:截獲並修改DNS主機A記錄、MX記錄、CNAME記錄應答報文,返回虛假的應答報文給目標主機

③DNS重定向:截獲並修改DNS主機的NS記錄應答報文,返回虛假的DNS服務器地址給目標,當主機訪問特定域名時,實際上從虛假服務器獲得DNS應答

④host劫持:修改目標主機的Hosts文件,寫入虛假的主機-IP映射,主機優先查詢hosts文件中的映射,沒找到匹配信息才發送DNS請求

主要工具:Cain&AbelEttercap

防禦
①在個人主機建立白名單,爲經常訪問的域名建立一個主機和IP地址映射的白名單,存在hosts文件中,dns解析優先查找Hosts文件
②直接用IP地址訪問,但是有些站點配置虛擬主機,拒絕直接訪問IP地址
③應用加密通信,web—https,遠程訪問----SSH,用基於SSL的協議收發數據和郵件等

 
GOT IT!

 
******************************************************
閱讀《內網攻防》以及本人對此做的實驗小結~

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