Potato利用已知的Windows中的問題,以獲得本地權(quán)限提升,即NTLM中繼(特別是基于HTTP > SMB中繼)和NBNS欺騙。
使用下面介紹的技術(shù),它有可能為一個(gè)非特權(quán)用戶獲得對Windows主機(jī)的默認(rèn)配置”NT AUTHORITY \ SYSYTEM”級(jí)別的訪問。
該漏洞是由3個(gè)主要部分,所有這些都有些配置通過命令行執(zhí)行:
NBNS是一個(gè)廣播UDP協(xié)議,可在Windows環(huán)境中常用的名稱解析。在滲透測試中,我們經(jīng)常嗅探網(wǎng)絡(luò)流量和響應(yīng)NBNS在本地網(wǎng)絡(luò)上觀察到的查詢。在提權(quán)之前,我們不能想當(dāng)然地認(rèn)為我們能夠嗅探網(wǎng)絡(luò)流量,那么如何才能做到NBNS欺騙?
如果能夠提前獲知哪個(gè)目標(biāo)主機(jī)(在這種情況下,我們的目標(biāo)是127.0.0.1)將發(fā)送NBNS查詢,就可以制作一個(gè)信號(hào)并使其淹沒在目標(biāo)主機(jī)與NBNS響應(yīng)(因?yàn)樗且粋€(gè)UDP協(xié)議)。一個(gè)挑戰(zhàn)是,NBNS分組中的2字節(jié)字段–TXID,必須在請求和響應(yīng)相匹配。我們可以通過迅速遍歷所有可能的65536間的值克服這一點(diǎn)。
如果我們試圖欺騙主機(jī)有一個(gè)DNS記錄了嗎?好了,我們可以強(qiáng)制DNS查找以一種有趣的方式失敗。使用一個(gè)名為”端口耗盡”,我們結(jié)合每一個(gè)UDP端口技術(shù)。當(dāng)您嘗試進(jìn)行DNS查詢將失敗,因?yàn)閷]有可用的源端口為DNS應(yīng)答來。
在測試中,這已被證明是100%成功。
憑借欺騙NBNS響應(yīng)的能力,我們可以針對我們的NBNS欺騙攻擊的127.0.0.1。我們淹沒在目標(biāo)機(jī)器(我們自己的機(jī)器)與NBNS響應(yīng)數(shù)據(jù)包的主機(jī)”WPAD”,或”WPAD.DOMAIN.TLD”間,我們設(shè)定WPAD主機(jī)的IP地址為127.0.0.1。默認(rèn)配置如下
同時(shí),我們在127.0.0.1上運(yùn)行一個(gè)HTTP服務(wù)器本地。當(dāng)它接收到一個(gè)請求”HTTP://wpad/wpad.dat“,它類似如下回應(yīng):
FindProxyForURL(url,host){
if (dnsDomainIs(host, 'localhost')) return 'DIRECT';
return 'PROXY 127.0.0.1:80';}
這將導(dǎo)致目標(biāo)上的所有HTTP流量將通過我們的服務(wù)器上運(yùn)行127.0.0.1重定向。
有趣的是,當(dāng)即使是低權(quán)限的用戶進(jìn)行這種攻擊也會(huì)影響到所有用戶。這包括管理員和系統(tǒng)帳戶。見截圖”egoldstein_spoofing.png”和”dade_spoofed.png”的例子。
與所有的HTTP流量,現(xiàn)在流經(jīng)我們控制的服務(wù)器上,我們可以用來要求NTLM身份驗(yàn)證!
在Potato的exploit中,所有的請求都以302重定向到的”http://localhost/GETHASHESxxxxx“,其中xxxxx是一些獨(dú)特的標(biāo)識(shí)符。請求”http://localhost/GETHASHESxxxxx“會(huì)401響應(yīng)要求NTLM身份驗(yàn)證。
在NTLM憑據(jù)傳遞到本地的SMB監(jiān)聽器,會(huì)創(chuàng)建一個(gè)新的系統(tǒng)服務(wù),運(yùn)行你定義的命令,此命令將以”NT AUTHORITY \ SYSTEM”權(quán)限運(yùn)行。
Potato.exe -ip local ip> -cmd command to run> -disable_exhaust true
這將執(zhí)行NBNS欺騙攻擊,欺騙”WPAD”解析到127.0.0.1,然后檢查Windows Defender更新。
Potato.exe -ip local ip> -cmd command to run> -disable_exhaust true -disable_defender true --spoof_host WPAD.EMC.LOCAL
比較好使
Potato.exe -ip local ip> -cmd cmd to run> -disable_exhaust true -disable_defender true
比較蛋疼,需要等待24小時(shí)。視頻中為了快點(diǎn)出結(jié)果,更改了系統(tǒng)時(shí)間。
在Windows中啟用”身份驗(yàn)證擴(kuò)展保護(hù)”以防護(hù)NTLM中繼攻擊。
SMB簽名也可以減輕這種類型的攻擊,然而這將需要對我而言更多的研究來證實(shí)。
使用同樣的NBNS欺騙技術(shù)來使用Potato攻擊,我們可以對任何主機(jī)執(zhí)行NBNS欺騙,只要可以在UDP 137端口上成功通信。我們只需要發(fā)送UDP數(shù)據(jù)包的速度不夠快,在NBNS請求超時(shí)之前進(jìn)行回復(fù)。
這方面的一個(gè)演示視頻可以看出,在https://www.youtube.com/watch?v=Mzn7ozkyG5g
演示實(shí)驗(yàn)室具有以下設(shè)置:
PFSense防火墻10.0.0.0/24 – >企業(yè)網(wǎng)絡(luò)10.0.1.0 / 24 – >服務(wù)器網(wǎng)絡(luò)
從企業(yè)網(wǎng)絡(luò),我們將在服務(wù)器網(wǎng)絡(luò)上的攻擊機(jī)。
Usage: python Responder.py –I eth0 –spoof
https://github.com/foxglovesec/Potato
http://drops.wooyun.org/pentesting/11799 【利用 NetBIOS 協(xié)議名稱解析及 WPAD 進(jìn)行內(nèi)網(wǎng)滲透】
http://drops.wooyun.org/tips/11107 【基于WPAD的中間人攻擊】
http://drops.wooyun.org/papers/10887 【W(wǎng)indows 名稱解析機(jī)制探究及缺陷利用】
http://www.freebuf.com/articles/5238.html 【使用NetBios Spoofing技術(shù)滲透內(nèi)網(wǎng)】
https://www.owasp.org/images/1/1d/NTLM_Relay_Attacks.pdf
https://en.wikipedia.org/wiki/SMBRelay
轉(zhuǎn)載自:安全工具箱 ? Potato(邪惡土豆)–windows全版本猥瑣提權(quán)
聯(lián)系客服