跳转到帖子

逆向木马远控实战:从 PE 持久化、C2 行为到内网留痕的完整排查

精选回复

发布于

背景在一次已授权的内网攻防复盘中,终端告警显示某办公主机上的文档阅读器启动了异常子进程。样本随后复制到用户目录,并通过计划任务保持启动。本文以 Windows PE 远控样本为对象,说明如何在隔离环境中完成静态逆向、动态验证、C2 识别、主机排查和修复。重点不是判断文件是否“像病毒”,而是还原执行链:入口文件如何落地、如何建立持久化、通过什么协议回连、能够触达哪些权限边界,以及日志中留下了什么证据。以下操作仅面向授权测试与事件响应。样本应放入无生产凭据、无共享目录、默认断网的隔离虚拟机;需要观察网络行为时,优先使用 FakeNet-NG、INetSim 等模拟服务,不应直接放通互联网。问题定位:先保全现场,再处理样本发现可疑进程后不要立即删除文件。直接删除会破坏时间线,也可能触发样本的自删除或看门狗机制。先记录进程树、网络连接、文件哈希、签名状态、启动项和计划任务,再制作样本副本。对于虚拟机,建议先创建快照;对于真实终端,至少保全相关日志和内存。# 以管理员 PowerShell 执行;输出目录应位于受控取证介质
$Out = 'C:\IR\case-2025-001'
New-Item -ItemType Directory -Force $Out | Out-Null

Get-CimInstance Win32_Process |
Select-Object ProcessId,ParentProcessId,Name,ExecutablePath,CommandLine,CreationDate |
Export-Csv

逆向分析与样本观察示意图
逆向分析、样本行为与调试流程示意
服务器与云环境安全示意图
服务器、云资产与权限边界梳理示意

这类排查里,建议不要把“PE 静态特征、持久化项、C2 连接、内网痕迹”分开看,最好先统一成一条时间线。尤其要注意:文件的 PE 编译时间和落地时间都可能被伪造,可信度更高的是 USN Journal、Prefetch、Amcache、计划任务日志和进程创建日志之间的交叉印证。

现场可以先做低扰动采集,避免一上来删除样本或重启机器:

mkdir C:\IR
wevtutil epl Microsoft-Windows-Sysmon/Operational C:\IR\sysmon.evtx
wevtutil epl Security C:\IR\security.evtx
wevtutil epl Microsoft-Windows-TaskScheduler/Operational C:\IR\tasks.evtx
reg save HKLM\SYSTEM C:\IR\SYSTEM.hiv /y
reg save HKLM\SOFTWARE C:\IR\SOFTWARE.hiv /y
reg save HKLM\SAM C:\IR\SAM.hiv /y
tasklist /v > C:\IR\tasklist.txt
netstat -ano > C:\IR\netstat.txt
schtasks /query /fo LIST /v > C:\IR\schtasks.txt

持久化不应只查常见的 Run 键。建议至少覆盖服务、计划任务、WMI 永久订阅、Winlogon、IFEO、AppInit_DLLs 和启动目录:

reg query "HKLM\Software\Microsoft\Windows\CurrentVersion\Run" /s
reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Run" /s
reg query "HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon" /s
reg query "HKLM\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options" /s
sc query type= service state= all
powershell -NoProfile "Get-CimInstance -Namespace root/subscription -Class __EventFilter; Get-CimInstance -Namespace root/subscription -Class CommandLineEventConsumer; Get-CimInstance -Namespace root/subscription -Class __FilterToConsumerBinding"

分析 C2 时,比单看域名/IP 更有价值的是记录“进程—父进程—连接—DNS—落地文件”的关系。比如异常连接对应的 PID 是否由 Office、脚本解释器或临时目录程序拉起;连接是否具有固定周期、固定包长、失败后退避等特征。Sysmon 环境重点关联 Event ID 1、3、11、13、22;没有 Sysmon 时,可从 Security 4688、DNS Client 日志、防火墙日志和 Prefetch 补证。

内网留痕建议重点排查横向执行链,而不是只搜索恶意文件名:Security 4624/4625 看 LogonType 3、9、10,4648 看显式凭据,4672 看高权限登录,7045 看远程服务创建,5140/5145 看管理共享访问;同时检查远端主机是否出现同一账号、同一源 IP、相邻时间窗口的登录与进程创建。若发现 PsExec/WMI/WinRM 痕迹,还应分别核对服务创建、WMI-Activity 和 PowerShell Operational 日志。

最后,IOC 建议分成“强指标”和“行为指标”:样本 SHA-256、签名信息、落地路径属于强指标;父子进程链、注册表位置、任务名称、C2 周期和横向登录模式属于行为指标。前者适合快速封堵,后者更适合发现改名、换壳或重新打包后的同族样本。隔离主机前先保全内存和网络连接,处置后再做凭据轮换,并从已知最早失陷时间向前回溯一段日志,避免把首次告警时间误当成入侵起点。

创建帐户或登录后发表意见

最近浏览 0

  • 没有会员查看此页面。