前言
構建零信任網絡,自然離不開網絡準入(NAC),這就涉及到交換機的一些安全測試,于是有了此文《從交換機安全配置看常見局域網攻擊》。
交換機安全配置
如本文標題所說從交換機安全配置看常見的局域網攻擊,那么下面提到的各種攻擊方式,自然是建立在交換機安全配置之上來說的。我們通過h3c官方提供的《H3C 交換機安全加固手冊》和《安全配置指導》,從這兩份手冊可以看出交換機支持的安全配置非常多,基本已經覆蓋了各種我們熟知局域網攻擊。下面就挑幾個典型的攻擊方式進行演示。
arp欺騙
【一>所有資源關注我,私信回復“資料”獲取<一】
1、電子書籍(白帽子)
2、安全大廠內部視頻
3、100份src文檔
4、常見安全面試題
5、ctf大賽經典題目解析
6、全套工具包
7、應急響應筆記
8、網絡安全學習路線
原理
在每臺主機都有一個ARP緩存表,緩存表中記錄了IP地址與mac地址的對應關系,而局域網數據傳輸依靠的是MAC地址。ARP緩存表機制存在一個缺陷,就是當請求主機收到ARP應答包后,不會去驗證自己是否向對方主機發送過ARP請求包,就直接把這個返回包中的IP地址與MAC地址的對應關系保存進ARP緩存表中,如果原有相同IP對應關系,原有的則會被替換。
那么攻擊者就可以發送惡意廣播消息,告訴目標我是某某主機,毒化目標主機arp緩存表,這就是arp欺騙。
工具
arpspoof
Ettercap
bettercap
arp攻擊主要有如下兩種場景:
arp斷網攻擊,主要原理是:毒化目標主機arp緩存表,欺騙網關地址;
中間人嗅探,主要原理是:目標主機和網關雙向欺騙,需配合路由轉發功能。
攻擊演示
這里,我們采用bettercap進行arp攻擊演示。
攻擊者:192.168.6.3
目標:192.168.6.5
1.啟動bettercap,如果機器有多網卡需指定對應網卡,http-ui根據個人喜好決定是否開啟。具體命令如下所示:
sudo ./bettercap -caplet http-ui -iface en0
如下顯示即為成功
賬號密碼在http-ui.cap里面可以找到
2.主機探測:
進入LAN選項卡,開始進行主機探測。
也可以直接在終端輸入命令開啟,如下
3.配置開啟arp欺騙
進入Advanced選項卡開始進行arp欺騙,如下所示。
默認會欺騙整個局域網主機,我們按需進行配置,配置目標ip,把fullduplex一起打開可以欺騙還可以網關(雙向)。
然后回來LAN選項卡,可以看著這個小圖標即為配置成功。
最后再來看下效果
如上可以看到攻擊成功的效果,目標機器arp表里面網關mac被改成了攻擊者的mac。
再看看交換機的路由表也一樣如此。
wireshark抓包結果如下,一目了然。
arp欺騙防御
接下來我們再來看看交換機如何防護這種攻擊。
通過翻官方手冊,找到如下這條:
進行簡單配置后,達到了預期效果。
system-view
arp check enable
arp user-ip-conflict record enable
為了更全面的防御各種ARP攻擊,最后整理出如下配置:
system-view
arp check enable
# arp spoof
arp user-ip-conflict record enable
# arp flood
arp source-suppression enable
arp source-suppression limit 100
arp resolving-route enable
arp resolving-route probe-count 5
arp resolving-route probe-interval 3
arp valid-check enable
arp active-ack enable
DNS欺騙
原理
需要和ARP欺騙配合使用,當ARP欺騙成功后,嗅探到對方發出的DNS請求數據包,分析數據包取得ID和端口號后,向目標發送自己構造好的一個DNS返回包,對方收到DNS應答包后,發現ID和端口號全部正確,即把返回數據包中的域名和對應的IP地址保存進DNS緩存表中,而后來的當真實的DNS應答包返回時則被丟棄。
工具
Ettercap
bettercap
dns欺騙主要用途就是用來釣魚。
攻擊演示
我們還是用bettercap進行演示:
配置并啟用arp欺騙。
配置dns欺騙
此處為了方便演示,我們起了一臺kali當web服務器,待會兒dns欺騙會用到。
再配置dns欺騙,此處用博客進行演示,讓域名解析到192.168.6.3上,也是就之前配置好的kali。
然后我們在被欺騙的主機上主動發起dns查詢,可以看到符合我們的預期。
我們再用wireshark篩選一下結果如下,可以看到成功偽造了dns應答包。
Bettercap更多模塊使用,請直接查看官方文檔。
https://www.bettercap.org/modules/
關于arp攻擊最常見的就是上面演示的兩種,除此之外還有一些攻擊如arp泛洪之類的,由于操作比較簡單,這里不做演示??捎孟旅婀ぞ哌M行測試:
https://github.com/davidgfnet/net-tools
https://github.com/EmreOvunc/ARP-Poisoning-Tool
DHCP Flood
原理
攻擊源發送大量DHCP請求報文給DHCP服務器,占用DHCP服務器大量的CPU資源并耗盡DHCP服務器上的地址空間,使合法的DHCP客戶端無法獲取到IP地址。
工具
這里主要采用yersinia進行演示:
https://github.com/kamorin/DHCPig
https://github.com/tomac/yersinia
yersinia介紹
yersinia是一款針對交換機二層網絡的攻擊工具,功能包括:
支持針對以下網絡協議的攻擊:
生成樹協議 (STP)
思科發現協議 (CDP)
動態中繼協議 (DTP)
動態主機配置協議 (DHCP)
熱備路由器協議 (HSRP)
802.1q
802.1x
交換機間鏈路協議 (ISL)
VLAN 中繼協議 (VTP)
攻擊演示
1.以圖形化界面方式啟動
yersinia -G
2.配置并啟動dhcp攻擊
開始前,先看看dhcp的ip使用情況,可以看到一切正常。
回到kali開始配置,切換到DHCP選項卡,可以看到支持四種模式,我們只需要選擇支持dos的就可以發起DHCP Flood攻擊。
kali發起攻擊后,到交換機再看ip池的使用,如下圖可以看到已經使用了很多ip。這種攻擊主要是把dhcp的ip池占滿,那么別的客戶端就不能正常獲取ip了。
DHCP攻擊防御
# 配置DHCP Flood攻擊檢測最大報文數為2,檢測時間為9000毫秒
dhcp flood-protection threshold 2 9000
# 配置DHCP Flood攻擊表項老化時間為90秒
dhcp flood-protection aging-time 90
# 配置DHCP Snooping
最后
這些xp時代的技術放到今天已經不好用了,在實戰中也基本不會用上這些攻擊方式,只能說時代變了。