轉載自:http://bobao.360.cn/learning/detail/3201.html
2016-11-18 11:42:25 來源:安全客 作者:qingxp9 · 360無線電安全研究部@無線攻防團隊
0. 前言
在滲透測試時,很多人還是在使用PSEXEC類工具。PSEXEC類的工具有各種語言的實現,如Metasploit的psexec psexec_psh,Impacket psexec,pth-winexe,Empire Invoke-Psexec,最早Sysinternals公司pstools工具包當中的psexec。
這些工具都非常出色,但經過這么多年的發展,在各種防御軟件環境下psexec類工具很多時候已經無法開展滲透測試工作。
在win下要想執行命令有幾種方法:
IPC上傳at&schtasks遠程執行
PSEXEC 這也是用的最多,但是會留下痕跡
WMI 最安全方法,沒有任何知覺,所有window系統啟用服務,但防火牆開啟將會無法連接
PsRemoting posershel遠程執行命令
1. PSEXEC
PSEXEC執行原理
通過ipc$連接,然后釋放psexesvc.exe到目標機器。
通過服務管理SCManager遠程創建psexecsvc服務,並啟動服務。
客戶端連接執行命令,服務端啟動相應的程序並執行回顯數據。
這里描述的是Sysinternals中的psexec,不過MSF、Impacket、pth 工具中的psexec用的都是同種思路。
為什么丟棄PSEXEC
psexec類工具會釋放文件,特征明顯,專業的殺毒軟件都能檢測到。
需要安裝服務,會留下日志,並且退出時偶爾會出現服務不能刪除的情況。
需要開啟admin$ 445端口共享。
在事后攻擊溯源時,調查人員會通過日志信息來推測出你的攻擊過程。但是它的優點在於,能直接給我們提供目標主機的system權限。
2. 使用WMI來執行命令
WMI 的全稱是 Windows Management Instrumentation,它出現在所有的 Windows 操作系統中,由一組強大的工具集合組成,用於管理本地或遠程的 Windows 系統。當攻擊者使用wmiexec來進行攻擊時,Windows系統默認不會在日志中記錄這些操作,這意味着可以做到攻擊無日志,同時攻擊腳本無需寫入到磁盤,具有極高的隱蔽性。越來越多的APT事件中也出現了WMI攻擊的影子,利用WMI可以進行信息收集、探測、反病毒、虛擬機檢測、命令執行、權限持久化等操作。
最開始我不太喜歡WMI,因為通過WMI執行的命令是沒有回顯的,這會帶來很大的不便。不過在HES2014上有研究者提出了回顯的思路,加上psexec類的攻擊已被很多的殺軟查殺,研究下WMI攻擊還是很有必要的。
《WMI SHELL》 - new way to get shells on remote Windows machines using only the WMI service
常見的WMI攻擊工具有這些 PTH-WMIS (最早wmi攻擊的工具,單條命令執行,無回顯,需要pth-smbget配合讀取結果) impackets wmiexec(Linux跨window經常用) wmiexec.vbs (國人制造 為了回顯會寫文件) Invoke-WmiCommand&Invoke-PowerShellWmi
window本地的測試工具wmic默認情況下是無法得到回顯的,顯然這不是我們想要的
wmic /node:192.168.38.137 /user:administrator /password:123456 process call create cmd.exe
使用wmiexec.vbs執行命令測試。
使用impackets wmiexec執行命令測試,執行命令可以回顯。在Linux跨window滲透時候經常使用。
wmiexec.py administrator:pass@192.168.38.137
3. 使用PsRemoting來執行命令
PowerShell遠程命令執行基於WinRM。WinRM指的是Windows遠程管理服務,它會監聽HTTP(5985)、HTTPS(5986),不過此服務除了Windows Server 2012及R2默認啟用外,其他默認都是禁用的。管理員為了方便對服務器的遠程管理,也許將此端口開啟,這種事就像內網弱口令一樣,做滲透嘛,什么奇跡都有可能發生。
利用PowerShell滲透可以繞過殺軟、繞過白名單防護設備,並且還可以得到返回的數據,簡直是殺人越貨神器。但由於默認禁用的原因,在內網滲透測試時,我暫時還未使用過這種技術。
Enter-PSSession 192.168.38.137 -Credential administrator
4. 總結
其實說了這么多,在內網滲透的時候更推薦使用WMI。WMI的好處有很多,但WMI也不是萬能的,還是需要根據具體的網絡環境來調整滲透手法,滲透測試過程中要牢記擦掉自己痕跡,不使用ARP等動靜特別大攻擊手法。
對於不知道psexec執行會留下什么痕跡的同學可以看看 http://bobao.360.cn/learning/detail/3186.html。昨天剛和同事討論研究完psexec的執行過程后便發現這篇文章,但是它沒有講清其執行原理。
本文由 安全客 原創發布,如需轉載請注明來源及本文地址。
本文地址:http://bobao.360.cn/learning/detail/3201.html