发布于19小时前19小时 背景某次授权内网演练结束后,蓝队在一台 Windows 终端发现 rundll32.exe 周期性访问陌生域名,但 EDR 只记录到“可疑网络连接”,没有给出载荷入口。现场目标不是直接运行样本观察效果,而是还原远控木马的加载链、持久化位置、C2 通信特征和权限边界,并将结论转换成可复用的检测与修复项。以下操作应在断网快照虚拟机或受控恶意代码分析沙箱中完成。样本使用只读介质转入,动态分析网络接入 FakeNet-NG 或 INetSim,不允许连接真实互联网。问题定位先保全证据,再做逆向。建议同时保存原始样本、内存、进程树、网络连接、计划任务、服务、启动项和 PowerShell 日志。不要先删除文件,否则容易丢失父进程、落地路径和配置解密所需的数据。mkdir C:\IR\case-2025-01 certutil -hashfile C:\Suspect\update.dll SHA256 > C:\IR\case-2025-01\hash.txt sigcheck64.exe -accepteula -h -i -m C:\Suspect\update.dll > C:\IR\case-2025-01\sigcheck.txt handle64.exe -accepteula C:\Suspect\update.dll > C:\IR\case-2025-01\handles.txt netstat -ano > C:\IR\case-2025-01\netstat.txt tasklist /v > C:\IR\case-2025-01\tasklist.txt schtasks /query /fo LIST /v > C:\IR\case-2025-01\tasks.txt reg query HKCU\Software\Microsoft\Windows\CurrentVersion\Run /s > C:\IR\case-2025-01\run-hkcu.txt reg query HKLM\Software\Microsoft\Windows\CurrentVersion\Run /s > C:\IR\case-2025-01\run-hklm.txt wevtutil epl Microsoft-Windows-PowerShell/Operational C:\IR\case-2025-01\powershell.evtx 文件哈希用于关联全网资产和样本版本,但不能单独作为检测依据。远控木马经常逐机重打包,稳定特征通常位于配置结构、导入函数组合、互斥体、持久化命令行和通信字段。静态拆解:确认加载方式与配置位置先用 Detect It Easy、PEStudio 或 LIEF 检查 PE 头、编译时间、节区熵、导入表和签名。编译时间可能被伪造;更值得关注的是节区权限异常、入口点落在高熵节区、导入表过小,以及 VirtualAlloc、VirtualProtect、WriteProcessMemory、CreateRemoteThread、WinHttpOpen、CryptDecrypt 等 API 的组合。若样本是 DLL,应先确认导出函数和宿主命令。现场常见形式是 rundll32.exe C:\ProgramData\cache.dll,Start。用 Ghidra 或 IDA 跟进入口时,优先标记四类逻辑:配置读取、持久化写入、网络初始化、任务分发。不要一开始逐函数精读,先从字符串、交叉引用和导入 API 建立调用图。python -c 逆向分析、样本行为与调试流程示意 网络请求、日志与边界流量分析示意
17小时前17小时 这类 Windows 远控样本,建议把“样本行为”和“主机留痕”分开记录,否则最后容易只得到一批域名/IP,却无法证明感染链。比较实用的拆解顺序是:静态定位配置与持久化逻辑,动态确认进程树和网络协议,再回到宿主机做时间线。 1. 先保全,再运行 不要直接在日常虚拟机双击。至少记录 SHA-256、PE 时间戳、签名状态和导入表,并关闭共享目录、剪贴板、宿主机 DNS 代理。网络侧可用 INetSim/FakeNet-NG 接管,避免样本连到真实 C2。 Get-FileHash .\sample.exe -Algorithm SHA256 Get-AuthenticodeSignature .\sample.exe | Format-List * sigcheck64.exe -nobanner -a -h -i .\sample.exe PE 时间戳只能作为线索,不能直接当编译时间;不少样本会伪造时间戳。若熵值异常、导入函数很少且入口点附近只有解密循环,优先考虑先脱壳,再分析持久化和 C2 配置。 2. 动态阶段重点看“父子进程 + 写入位置 + 首次外连” Procmon 建议过滤样本 PID 及其子进程,重点关注 Process Create、WriteFile、RegSetValue、CreateFile。同时保存 PML 和 CSV,不要只留截图。常见需要核对的位置包括: HKCU/HKLM\Software\Microsoft\Windows\CurrentVersion\Run* HKLM\SYSTEM\CurrentControlSet\Services 计划任务、WMI 永久事件订阅、启动目录 %AppData%、%ProgramData%、%Temp% 中新落地的 PE、DLL、LNK autorunsc64.exe -accepteula -a * -c -h -s -m > autoruns.csv schtasks /query /fo LIST /v > tasks.txt sc query type= service state= all > services.txt reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Run" /s reg query "HKLM\Software\Microsoft\Windows\CurrentVersion\Run" /s WMI 持久化经常被漏掉,可以直接枚举三个对象并按名称关联: Get-CimInstance -Namespace root/subscription -ClassName __EventFilter Get-CimInstance -Namespace root/subscription -ClassName CommandLineEventConsumer Get-CimInstance -Namespace root/subscription -ClassName __FilterToConsumerBinding 3. C2 不要只提取 IP,要描述协议特征 IP 和域名容易轮换,更有价值的是记录:首次连接前的 DNS 查询、目标端口、TLS SNI/证书、HTTP URI、User-Agent、固定包头、心跳周期、请求体编码方式,以及这些字段在样本中的生成位置。若配置经过 XOR/Base64/AES 包装,最好给出解码前后的字节和对应函数地址,这样 IOC 才能复核。 pktmon start --capture --comp nics --pkt-size 0 --file-name c:\temp\sample.etl rem 运行样本并观察后停止 pktmon stop pktmon etl2pcap c:\temp\sample.etl --out c:\temp\sample.pcapng 如果样本采用 HTTPS,单靠抓包未必能看到应用层。可在调试器里对 WinHttpSendRequest、HttpSendRequestW、InternetConnectW、connect、WSASend 下断点,回溯参数和调用栈;这通常比盲目做中间人代理更快,也能识别证书锁定。 4. 宿主机排查要建立时间线 以样本首次执行时间为中心,前后扩展 30~60 分钟,对齐 Prefetch、Amcache、Shimcache、任务计划日志、服务安装日志、PowerShell 日志和 DNS 缓存。几个高价值检查项: Get-WinEvent -FilterHashtable @{LogName='System'; Id=7045} | Select-Object TimeCreated,Id,Message Get-WinEvent -FilterHashtable @{LogName='Microsoft-Windows-TaskScheduler/Operational'; Id=106,140,141,200,201} | Select-Object TimeCreated,Id,Message Get-NetTCPConnection | Sort-Object State,RemoteAddress | Format-Table -AutoSize Get-CimInstance Win32_Process | Select-Object ProcessId,ParentProcessId,Name,ExecutablePath,CommandLine 发现可疑外连后,不要立即只杀进程或删文件。先记录 PID、父 PID、命令行、加载模块、网络连接和文件哈希;条件允许时采集内存。否则进程注入、反射加载或解密后的 C2 配置会一起丢失。 5. 修复应按“隔离—取证—清持久化—轮换凭据—复核”执行 如果远控已经运行并具备交互能力,应按主机失陷处理,而不是只删除落地文件。先从交换机/EDR 侧隔离网络,避免在受控主机上依赖样本可能篡改过的工具;随后清理对应服务、任务、WMI 订阅和 Run 键。若样本接触过浏览器、邮件客户端、VPN、SSH 密钥或管理员会话,应从干净设备轮换凭据并撤销现有令牌。 恢复后建议至少复核三项:原持久化对象不再出现;重启后无同类进程树和外连;边界日志中无其他主机命中相同协议特征。对高权限主机或无法确认影响边界的情况,重装通常比“手工清干净”更可信。 如果原帖后续能补充样本哈希、持久化位置、C2 流量片段和关键函数地址,分析结论会更容易复现,也便于把 IOC 转成可落地的 Sigma/Suricata/EDR 检测规则。
创建帐户或登录后发表意见