天天看點

Potato洋芋win綜合提權Potato洋芋win綜合提權0x01 NBNS和WDAP WPAD:0x02 攻擊準備0x03 HTTP – > SMB NTLM中繼0x04 使用漏洞當然msf中也内置了nbns攻擊的子產品

Potato洋芋win綜合提權

0x01 NBNS和WDAP

NBNS:

在 Windows 系統中的另外一種名稱就是 NetBIOS 名稱,準确的說 NetBIOS 名稱并非是一種名字系統,而是 Windows 作業系統網絡的一個程式設計接口,允許主機之間使用 NetBIOS 名稱進行通信,通信過程是建立在 NetBIOS 協定之上的。在安裝完 Windows 系統後系統會預設使用計算機的名字做為目前主機的 NetBIOS 名稱。它的最大長度為 16 個字元,其中最後一位是不可配置的,用于指定 NetBIOS 的服務類型。如果計算機名稱不足 15 位則使用空格補全到 15 位,反之,如果計算機名稱超過 15 位 則會截取前 15 位。常見的 NetBIOS 字尾有 0x20(檔案和列印服務)、0x00(工作站服務)、0x03(報信者服務)等。

使用nbtstat -n指令檢視本機的 NetBIOS 名稱。

使用nbtstat -A ipaddress指令檢視指定 IP 主機的 NetBIOS 名稱。

Windows做DNS解析時有如下步驟:  

1.local hosts file - C:\Windows\System32\drivers\etc\hosts

2.DNS

3.NBNS

那麼當通路者輸入一個不存在的域名,而LOCAL HOST FILE、DNS伺服器均無法給出解析時,我們可愛又人性化的Windows就會發送NBNS請求進行查詢。 

Potato洋芋win綜合提權Potato洋芋win綜合提權0x01 NBNS和WDAP WPAD:0x02 攻擊準備0x03 HTTP – > SMB NTLM中繼0x04 使用漏洞當然msf中也内置了nbns攻擊的子產品

如圖所示,我們可以看到NBNS請求的位址是172.16.0.255,是一個廣播包。

即任何人可以回複并重定向流量。

WPAD:

WPAD(Web Proxy Auto-Discovery Protocol) 是 Web 代理自動發現協定的簡稱,該協定的功能是可以使區域網路中使用者的浏覽器可以自動發現内網中的代理伺服器,并使用已發現的代理伺服器連接配接網際網路或者企業内網。WPAD 支援所有主流的浏覽器,從 IE 5.0 開始就已經支援了代理伺服器自動發現/切換的功能,不過蘋果公司考慮到 WPAD 的安全風險,在包括 OSX 10.10 及之後版本的作業系統中的 Safari 浏覽器将不再支援 PAC 檔案的解析。

WPAD 工作原理

當系統開啟了代理自動發現功能後,使用者使用浏覽器上網時,浏覽器就會在目前區域網路中自動查找代理伺服器,如果找到了代理伺服器,則會從代理伺服器中下載下傳一個名為 PAC(Proxy Auto-Config) 的配置檔案。該檔案中定義了使用者在通路一個 URL 時所應該使用的代理伺服器。浏覽器會下載下傳并解析該檔案,并将相應的代理伺服器設定到使用者的浏覽器中。

講到現在大家一定思路清晰了:當下我們的目的是回複NBNS響應,進而轉移流量進行欺騙。 

Potato洋芋win綜合提權Potato洋芋win綜合提權0x01 NBNS和WDAP WPAD:0x02 攻擊準備0x03 HTTP – > SMB NTLM中繼0x04 使用漏洞當然msf中也内置了nbns攻擊的子產品

0x02 攻擊準備

憑借欺騙NBNS響應的能力,我們可以針對我們的NBNS欺騙攻擊的127.0.0.1。我們淹沒在目标機器(我們自己的機器)與NBNS響應資料包的主機”WPAD”,或”WPAD.DOMAIN.TLD”間,我們設定WPAD主機的IP位址為127.0.0.1。預設配置如下 

Potato洋芋win綜合提權Potato洋芋win綜合提權0x01 NBNS和WDAP WPAD:0x02 攻擊準備0x03 HTTP – > SMB NTLM中繼0x04 使用漏洞當然msf中也内置了nbns攻擊的子產品

同時,我們在127.0.0.1上運作一個HTTP伺服器本地。當它接收到一個請求”HTTP://wpad/wpad.dat“,它類似如下回應:

Potato洋芋win綜合提權Potato洋芋win綜合提權0x01 NBNS和WDAP WPAD:0x02 攻擊準備0x03 HTTP – > SMB NTLM中繼0x04 使用漏洞當然msf中也内置了nbns攻擊的子產品

這将導緻目标上的所有HTTP流量将通過我們的伺服器上運作127.0.0.1重定向。 

有趣的是,當即使是低權限的使用者進行這種攻擊也會影響到所有使用者。這包括管理者和系統帳戶。

0x03 HTTP – > SMB NTLM中繼

與所有的HTTP流量,現在流經我們控制的伺服器上,我們可以用來要求NTLM身份驗證! 

在Potato的exploit中,所有的請求都以302重定向到的”http://localhost/GETHASHESxxxxx“,其中xxxxx是一些獨特的辨別符。請求”http://localhost/GETHASHESxxxxx“會401響應要求NTLM身份驗證。 

在NTLM憑據傳遞到本地的SMB監聽器,會建立一個新的系統服務,運作你定義的指令,此指令将以”NT AUTHORITY \ SYSTEM”權限運作。

0x04 使用漏洞

1.Windows 7

https://www.youtube.com/watch?v=Nd6f5P3LSNM

Potato.exe -ip <local ip> -cmd <command to run> -disable_exhaust true

這将執行NBNS欺騙攻擊,欺騙”WPAD”解析到127.0.0.1,然後檢查Windows Defender更新。 

2.Windows Server 2008

https://www.youtube.com/watch?v=z_IGPWgL5SY

Potato.exe -ip <local ip> -cmd <command to run> -disable_exhaust true -disable_defender true --spoof_host WPAD.EMC.LOCAL

比較好使 

3.Windows 8/10, Server 201

https://www.youtube.com/watch?v=Kan58VeYpb8

Potato.exe -ip <local ip> -cmd <cmd to run> -disable_exhaust true -disable_defender true

當然msf中也内置了nbns攻擊的子產品

Nbns應答子產品:

Potato洋芋win綜合提權Potato洋芋win綜合提權0x01 NBNS和WDAP WPAD:0x02 攻擊準備0x03 HTTP – &gt; SMB NTLM中繼0x04 使用漏洞當然msf中也内置了nbns攻擊的子產品

設定相關參數,運作 這裡的ip為你響應惡意nbns請求的ip,這裡為我的kali的ip。

Potato洋芋win綜合提權Potato洋芋win綜合提權0x01 NBNS和WDAP WPAD:0x02 攻擊準備0x03 HTTP – &gt; SMB NTLM中繼0x04 使用漏洞當然msf中也内置了nbns攻擊的子產品

SMB中繼子產品:

Potato洋芋win綜合提權Potato洋芋win綜合提權0x01 NBNS和WDAP WPAD:0x02 攻擊準備0x03 HTTP – &gt; SMB NTLM中繼0x04 使用漏洞當然msf中也内置了nbns攻擊的子產品

HTTP子產品:

Potato洋芋win綜合提權Potato洋芋win綜合提權0x01 NBNS和WDAP WPAD:0x02 攻擊準備0x03 HTTP – &gt; SMB NTLM中繼0x04 使用漏洞當然msf中也内置了nbns攻擊的子產品

此時目标通路一個不存在域名或者一個不存在的smb通信主機名時,會向NBNS請求解析名稱

我們就可以捕獲到hash憑據, 此示範中密碼為空。

Potato洋芋win綜合提權Potato洋芋win綜合提權0x01 NBNS和WDAP WPAD:0x02 攻擊準備0x03 HTTP – &gt; SMB NTLM中繼0x04 使用漏洞當然msf中也内置了nbns攻擊的子產品
Potato洋芋win綜合提權Potato洋芋win綜合提權0x01 NBNS和WDAP WPAD:0x02 攻擊準備0x03 HTTP – &gt; SMB NTLM中繼0x04 使用漏洞當然msf中也内置了nbns攻擊的子產品

相關拓展位址

https://github.com/foxglovesec/Potato

https://github.com/foxglovesec/RottenPotato

https://github.com/breenmachine/RottenPotatoNG

posted @ 2019-04-08 21:53 卿先生 閱讀(...) 評論(...) 編輯 收藏

繼續閱讀