目錄
內網殺軟探測與應對實戰方案
一、總體思路
二、探測階段——殺軟工具與手法
2.1 進程與服務檢測
2.2 注冊表與文件系統檢測
2.3 Nmap 與 NSE 腳本掃描
三、處理階段——探測到殺軟后的應對措施
3.1 分析評估
3.2 應對策略
四、判斷與驗證——注入 webshell 后如何使用 tasklist/svc 檢查
4.1 使用 tasklist/svc 命令
4.2 使用 svc 命令查看服務狀態
4.3 實際工作場景示例
五、總結
內網殺軟探測與應對實戰方案
一、總體思路
-
信息收集與殺軟探測
- 對內網主機進行全面掃描,確認是否安裝殺毒軟件(AV)、端點檢測工具(EDR)等安全產品。
- 利用多種工具(如 WMIC、tasklist、注冊表查詢、Nmap NSE 腳本等)收集目標主機上運行的進程、服務和軟件信息,從而判斷是否存在殺軟及其版本、運行狀態。
-
分析與應對
- 根據檢測結果,評估殺軟對后續操作(如上傳工具、執行提權、反彈 shell 等)的干擾風險。
- 制定繞過方案:采用內存執行、代碼混淆、反射 DLL 注入等技術,降低在磁盤生成可疑文件的風險,并嘗試繞過殺軟掃描。
-
后續操作與判斷
- 在注入 webshell 后,利用 tasklist 和 svc 命令檢查目標主機上運行的進程與服務,判斷殺軟是否仍在運行或是否對后續操作產生影響。
- 根據檢測到的殺軟服務(例如 Windows Defender 的 MsMpEng.exe、第三方殺軟進程如 McAfeeSvc.exe、AVP.exe 等),決定后續是否需要進一步繞過或禁用部分安全功能(在合法測試中模擬情景)。
二、探測階段——殺軟工具與手法
2.1 進程與服務檢測
-
使用 tasklist 命令:
在獲得初步反彈 shell 后,執行:tasklist /svc
該命令會列出所有進程及其對應的服務。觀察輸出中是否有殺軟常見進程,例如:
- Windows Defender:MsMpEng.exe
- McAfee:McAfeeSvc.exe、McUICnt.exe
- Kaspersky:AVP.exe
- Symantec:SymDaemon.exe
- Trend Micro:TmCCSrv.exe
-
使用 WMIC 查詢:
通過 WMIC 獲取安裝的軟件列表:wmic product get name,version | findstr /I "Defender McAfee Kaspersky Symantec"
或通過遠程方式查詢目標機器的信息:
wmic /node:"<目標IP>" product where "name like '%Defender%'" get name,version
2.2 注冊表與文件系統檢測
-
注冊表查詢:
利用 reg query 命令查詢常見殺軟的安裝信息:reg query "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall" /s | findstr /I "Defender McAfee Kaspersky"
同時檢查 64 位系統下的 WOW6432Node 分支。
-
文件查找:
檢查常見殺軟安裝目錄下是否存在特定文件。例如 Windows Defender 的配置文件、McAfee 的更新日志文件等。
2.3 Nmap 與 NSE 腳本掃描
- 利用 Nmap:
使用帶有殺軟特定 NSE 腳本的 Nmap 掃描,可以識別一些常見殺毒軟件對外開放的管理接口或更新服務。例如:
部分 NSE 腳本可能會返回關于安全產品的 Banner 信息。nmap -sV --script http-title,ssl-cert -p 80,443 <目標IP>
三、處理階段——探測到殺軟后的應對措施
3.1 分析評估
- 確定殺軟類型與版本:
根據 tasklist、WMIC、注冊表等信息,確定目標主機上運行的殺軟產品及其版本、實時保護狀態。 - 評估干擾風險:
判斷殺軟是否啟用了實時監控、文件掃描、行為檢測等機制。如果殺軟檢測嚴格,上傳文件、執行新程序、反彈 shell 等操作可能被攔截或清除。
3.2 應對策略
-
內存執行技術:
- 盡量使用內存中執行的方法,如 PowerShell 反彈 shell、反射式 DLL 注入等,避免在磁盤上生成可疑文件。
- 例如利用 PowerShell Base64 編碼命令執行:
powershell -EncodedCommand <Base64字符串>
-
代碼混淆與加密:
- 對上傳的 Payload 進行代碼混淆,或利用自定義解密器在內存中解密并執行,降低 AV 簽名檢測風險。
-
調整執行時機與間隔:
- 避免在殺軟高負載或實時掃描期間執行高風險操作,適當延時執行。
-
禁用/繞過策略(在合法測試場景中):
- 在獲取更高權限后,如果目標環境允許測試,可以嘗試臨時停止殺軟服務:
但此操作需謹慎使用,因會留下明顯痕跡。net stop "Windows Defender Service"
- 在獲取更高權限后,如果目標環境允許測試,可以嘗試臨時停止殺軟服務:
四、判斷與驗證——注入 webshell 后如何使用 tasklist/svc 檢查
4.1 使用 tasklist/svc 命令
- 執行命令:
在已注入 webshell 后,執行以下命令檢查目標主機的進程列表和服務關聯:tasklist /svc
- 判斷依據:
- 查看殺軟進程: 如發現 MsMpEng.exe(Windows Defender)、AVP.exe(Kaspersky)、McAfeeSvc.exe 等是否正在運行。
- 觀察服務狀態: 確認殺軟相關服務是否處于啟動狀態,以及是否對新上傳的可疑文件進行掃描。
- 對比時間戳與 CPU 占用: 如果剛剛執行了文件上傳或反彈 shell命令,觀察這些進程是否突然出現異常的 CPU 占用或日志記錄,可能表明殺軟干預了操作。
4.2 使用 svc 命令查看服務狀態
- 查看服務:
通過 Windows 的 svc 命令或 SC 命令,可以列出當前正在運行的服務:sc query type= service state= all | findstr /I "Defender McAfee Kaspersky"
- 通過該命令判斷目標主機殺軟服務的運行狀態(如 RUNNING、STOPPED 等)。
4.3 實際工作場景示例
案例描述:
在一次內網滲透測試中,測試人員通過注入 webshell 進入目標主機后,首先執行 tasklist /svc
命令,發現系統中運行著 “MsMpEng.exe” 和 “DefenderUpdateService” 服務,表明 Windows Defender 正在啟用實時保護。
為避免操作被殺軟干擾,測試人員進一步采用 PowerShell 內存執行技術上傳了混淆后的反彈 shell Payload,并利用 Base64 編碼命令執行,從而成功在內存中執行 Payload。
同時,利用 sc query
命令確認 Windows Defender 服務狀態為 RUNNING,但由于內存中執行的方式未在磁盤留下文件,成功規避了殺軟的文件掃描。
隨后,測試人員通過對比任務列表和服務狀態,判斷目標主機殺軟對當前操作的干擾較小,從而繼續進行后續的提權和橫向移動。
4.4 判斷進程是否為殺軟工具
- 想要這個本地化部署判斷殺毒軟件得工具,私聊我。
五、總結
-
探測階段:
- 通過 tasklist、WMIC、注冊表查詢、Nmap NSE 腳本等手段,全面識別目標內網主機上安裝的殺軟及其運行狀態。
-
處理階段:
- 根據檢測結果,評估殺軟對后續上傳、反彈 shell、提權操作的影響。
- 采用內存執行、代碼混淆、延時執行等策略來繞過殺軟檢測,并在合法測試范圍內(或在紅隊演練中)視情況暫時禁用部分服務。
-
判斷驗證:
- 在注入 webshell 后,通過 tasklist /svc 和 sc query 命令檢查關鍵殺軟進程和服務的狀態,判斷是否存在干擾,并確認操作是否成功執行。