關注我們
QRcode 郵件聯系

MITM6:用IPv6攻陷IPv4網絡的工具

 feng  3,078 ℃  0條點評

隨著IPv6概念的提出,互聯網上針對IPv6協議的使用也日漸增多,但即便如此IPv6在公司內部卻并不受歡迎,很少會有公司使用IPv6。然而,大多數公司可能都忽略了一個問題,雖然IPv6可能沒有被我們主動啟用,但自Windows Vista以來的所有Windows版本(包括服務器版本)都默認啟用了IPv6,并且優先級高于IPv4。

在本篇博文中,我將為大家介紹一種針對IPv6的攻擊:即利用Windows網絡中的默認IPv6配置,偽裝DNS服務器來欺騙DNS reply,并將流量重定向到攻擊者指定的端點。接著,我還會為大家提供一種新的利用(臭名昭著的)Windows代理自動發現(WPAD)功能,來傳遞憑證并對網絡中的各種服務進行身份驗證的 方法。Fox-IT在GitHub上創建了該工具并命名為mitm6,大家可以在這里下載到。

IPv6攻擊

與IPv6的發展速度緩慢一樣,網上關于針對IPv6滲透測試的資料也少的可憐。盡管市面上有不少相關書籍也都或多或少的提到了諸如ARP欺騙之類的東西,但卻很少涉及IPv6,而可用于測試或利用IPv6配置的工具則更稀缺。這里我要提及的一款工具是THC IPV6攻擊套件,這也是mitm6靈感的來源。本文中描述的攻擊是SLAAC攻擊其中的一個版本,最早是由Infosec研究所的Alex Waters在2011年提出的。SLAAC攻擊通過建立一個流氓IPv6路由器,并設置各種服務對網絡中的所有流量實施中間人攻擊。之后,Neohapsis為這種攻擊開發了一個自動化工具名為suddensix。

對于SLAAC攻擊也有其弊端,由于SLAAC攻擊會嘗試在現有的IPv4網絡為當前所有設備創建一個覆蓋網絡。而在這滲透測試中并不是一個理想的情況,因為這么做會導致網絡穩定性受到明顯的影響。此外,攻擊者還需借助相當多外部的軟件包和服務才能正常執行攻擊操作。mitm6專注于更快更好的解決方案,測試人員可以根據需求選擇攻擊主機和欺騙DNS reply,同時能最大限度的減少對網絡正常運行帶來的影響。而且mitm6使用起來也非常簡單,幾乎不需要進行配置,并可在幾秒內執行攻擊。當攻擊任務完成后,則會根據工具中默認設置的超時時間,在較短時間內將網絡恢復到之前的狀態。

mitm6攻擊

攻擊階段1 – 主DNS接管

首先讓mitm6開始在攻擊者機器的主接口上偵聽,并通過DHCPv6向 Windows客戶端請求IPv6配置。默認情況下,自Windows Vista之后,每臺Windows計算機都會定期向該配置發起請求。我們可以通過Wireshark抓包來進行查看:

MITM6:用IPv6攻陷IPv4網絡的工具

mitm6將會應答這些DHCPv6請求,并為受害者分配本地鏈路范圍內的IPv6地址。而在實際的IPv6網絡中,這些地址由主機本身自動分配,不需要由DHCP服務器來配置,這使得我們有機會將攻擊者IP設置為受害者的默認IPv6 DNS服務器。需要注意的是,mitm6目前只針對基于Windows的操作系統,因為像macOS和Linux等其他操作系統,不使用DHCPv6來分配DNS服務器。

mitm6不會對外宣稱自己是網關,因此主機不會嘗試與本地網段或VLAN之外的IPv6主機進行通信。mitm6也不會嘗試對網絡中所有流量的中間人,而是選擇性地欺騙主機(在運行mitm6時可以指定過濾的域),這樣做也減少了對網絡造成的影響。

以下截圖顯示了mitm6的攻擊過程。該工具自動檢測攻擊者計算機的IP配置,并以包含攻擊者IP作為DNS服務器的DHCPv6應答回復網絡中客戶端發送的DHCPv6請求。它將周期性的發送通告路由器(RA)消息來提醒客戶端存在IPv6網絡,并且客戶端應該通過DHCPv6請求IPv6地址。這在某些情況下會加快攻擊速度,但這并不是必須要做的工作,我們可以在具有SLAAC攻擊防護的網絡上執行此攻擊。

MITM6:用IPv6攻陷IPv4網絡的工具

攻擊階段2 – DNS欺騙

在受害者機器上,我們看到我們的服務器被配置為了DNS服務器。由于Windows對IP協議的偏好,IPv6 DNS服務器將優于IPv4 DNS服務器。IPv6 DNS服務器將會 被用于查詢A(IPv4)和AAAA(IPv6)記錄。

MITM6:用IPv6攻陷IPv4網絡的工具

接著我們要做的是讓客戶端連接到攻擊者機器,我們的最終目標是讓用戶或瀏覽器自動向攻擊者機器進行身份驗證,這就是為什么我們要欺騙內部域testsegment.local中URL的原因。在步驟1的截圖中你可以看到,客戶端在分配了IPv6地址后立即開始請求有關wpad.testsegment.local的信息。這是我們在這次攻擊當中將要利用的一部分。

WPAD利用

WPAD利用的簡短史

Windows代理自動檢測功能一直以來都存在著巨大爭議,而且多年來一直被滲透測試人員所利用。它本意的用途是用于在企業環境中自動檢測用于連接到互聯網的網絡代理。歷史上,提供wpad.dat文件的服務器地址(提供這些信息)將使用DNS解析,如果沒有條目返回,地址將通過不安全的廣播協議解析,如鏈路本地多播名稱解析 (LLMNR)。攻擊者可以回復這些廣播名稱解析協議并對其進行欺騙,讓其認為WPAD文件位于攻擊者服務器上,然后提示進行身份驗證以訪問WPAD文件。這種認證是Windows默認提供的,無需用戶交互。這將會向攻擊者提供登錄在該計算機上的用戶的NTLM憑據,可被用于在NTLM中繼的過程中對服務進行認證。

然而在2016年微軟發布了安全公告MS16-077,通過增加兩項重要的保護措施來緩解這一攻擊:

WPAD文件的位置不再需要通過廣播協議請求,而只能通過DNS;

即使服務器請求,也不會自動進行認證。

雖然在網絡中,我們仍能碰到一些未完全修復的機器仍在通過LLMNR請求WPAD并自動進行認證,但我們也發現越來越多的公司開始開始注意到了這點并進行了很好的改善。

MS16-077之WPAD的利用

針對微軟的第一個安全措施僅通過DNS,mitm6可以幫助我們輕松繞過。一旦受害者機器將攻擊者設置為IPv6 DNS服務器,它將開始查詢網絡的WPAD配置。由于這些DNS查詢被發送給了攻擊者,它只能用自己的IP地址(是IPv4或IPv6取決于受害者機器請求的是什么)進行回復。

要想繞過第二個防護,我們需要做一些更復雜的操作。當受害者請求一個WPAD文件時,我們將不會請求驗證,而是提供一個攻擊者機器上設置作為代理的有效的WPAD文件。此時,當受害者運行任何使用Windows API連接到互聯網的應用程序或是瀏覽網頁,都將使用攻擊者機器作為代理。這在Edge,Internet Explorer,Firefox和Chrome中都可以使用,因為默認情況下它們都遵循WPAD系統設置。

現在當受害者連接到我們的代理服務器,我們可以通過CONNECT HTTP或GET后的完整URI識別,我們使用HTTP 407代理身份驗證進行回復。這與通常用于請求驗證的HTTP代碼HTTP 401不同。

IE/Edge和Chrome(使用IE設置)將自動向代理進行身份驗證,即使在最新的Windows版本上也是如此。在Firefox中,可以對該配置進行設置,默認情況下是啟用狀態。

MITM6:用IPv6攻陷IPv4網絡的工具

此時,Windows將會毫無防備的將NTLM challenge/response發送給攻擊者,攻擊者可以將其轉發給不同的服務。通過這種中繼攻擊,攻擊者可以對服務進行身份驗證,訪問網站和共享信息,如果受害者的權限足夠大,攻擊者甚至可以在計算機上執行代碼,并接管整個Windows域。關于NTLM中繼的相關內容,在我之前的博文中有過介,點擊這里查看。

完整的攻擊

在前面的幾節內容我對該類攻擊做了一個大致的描述和解釋。執行此攻擊本身非常簡單。首先我們啟動mitm6,它將開始中繼DHCPv6請求,然后開始在內部網絡中向DNS查詢請求名稱。在攻擊的第二部分,我們將使用到中繼工具ntlmrelayx。這個工具是Core Security impacket Python庫的一部分,是smbrelayx工具的一個改進版支持多種協議。Core Security和Fox-IT最近共同改進了ntlmrelayx,增加了幾項新功能(其中包括)使其能夠通過IPv6進行中繼,提供WPAD文件,自動檢測代理請求并提示受害者進行正確的身份驗證。如果你想進一步的了解這些新功能,請點擊relay-experimental分支查看。

要提供WPAD文件,我們需要在命令提示符中-wh參數后添加主機,并指定WPAD文件所在的主機。由于mitm6讓我們可以控制DNS,因此受害網絡中的任何不存在的主機名都可以執行。為了確保ntlmrelayx在IPv4和IPv6上偵聽,我們可以使用-6參數。以下截圖為我們展示了兩個工具當前的運行情況,顯示了兩個工具正在運行,mitm6有選擇地欺騙DNS回復,ntlmrelayx服務于WPAD文件,然后將身份驗證轉發到網絡中的其它服務器。

MITM6:用IPv6攻陷IPv4網絡的工具

MITM6:用IPv6攻陷IPv4網絡的工具

防御和解決方案

對于上述的這類攻擊,目前唯一的解決辦法是禁用IPv6。這將阻止Windows客戶端DHCPv6服務器查詢,并使攻擊者無法通過上述方法接管DNS服務器。

對于WPAD漏洞,最好的解決方案是通過組策略禁用代理自動檢測功能。如果您的公司內部使用代理配置文件(PAC文件),建議顯式配置PAC網址,而不是依靠WPAD自動檢測。

在寫這篇博文時,Google的Project Zero團隊也發現了WPAD中的漏洞,其博文中提到禁用WinHttpAutoProxySvc是禁用WPAD的唯一可靠方式。

最后,阻止NTLM中繼的唯一完整解決方案是完全禁用它并切換到Kerberos。更多關于NTLM中繼攻擊的解決方案可以參考我們之前的博文。

工具獲取

文中提及的相關工具可在Fox-IT GitHubimpacket repository獲取。

*參考來源:fox-it,FB小編 secist 編譯,轉載于FreeBuf

本文標簽:、、、
Python工具分析風險數據
國產網站惡意代碼監測(網馬監控)工具優化版
Joy:一款用于捕獲和分析網絡內部流量數據的工具Joy:一款用于捕獲和分析網絡內部流量數據的工具One-Lin3r:懶人的福音,滲透測試單行化工具One-Lin3r:懶人的福音,滲透測試單行化工具EvilURL v2.0一個生成用于釣魚攻擊的IDN域名的工具EvilURL v2.0一個生成用于釣魚攻擊的IDN域名的工具國產網站惡意代碼監測(網馬監控)工具優化版國產網站惡意代碼監測(網馬監控)工具優化版

已有0條評論,歡迎點評!

smiley smiley smiley smiley smiley smiley smiley smiley smiley smiley smiley smiley smiley smiley smiley smiley

國際慣例, 沙發拿下 . . .


河北家乡麻将下载 3月6日国王vs雄鹿直播 腾游娱乐中心官方网站 天津福彩快乐十分钟走势图啊 河南郑州福彩快三 中特是什么意思 热火vs步行者第6场 真钱手机棋牌app 山西快乐10分开奖走势图山 福建快3预测 刘伯温四肖期期中特枓 星悦云南麻将卡二条 麻将免费外挂软件 南通棋牌大厅下载 北京麻将下载 舟山清墩星空棋牌官网 安徽省快3开奖走势图