在企业级攻防场景中,如果你怀疑目标主机遭遇了 Cobalt Strike(CS)上线,正确的溯源流程要从攻击链条、通信特征、文件痕迹 、进程与注册表残留 等方面入手。以下是一步步专业且实战的溯源流程,适合护网或高级排查工作:
🧠 一、CS上线常见特征识别
判断是否为 CS 马最直接的依据是以下行为是否出现:
-
可疑出站流量(通常是 HTTPS / DNS)
-
网络连接目的地为异常 IP 或域名(无 SNI,长连接)
-
某进程执行了powershell、rundll32、mshta、regsvr32 等 LOLBin
-
使用了 well-known Beacon 配置:间隔(Jitter)、变种路径等
-
终端出现计划任务、新服务、开机启动项
🕵️ 二、入侵行为链定位与证据收集
✅1. 网络层分析
-
抓包分析(Wireshark、tcpdump)
-
特征:TLS握手无 SNI + 小报文 + 定期心跳
-
DNS隧道特征:大量 DNS TXT 查询 + 长字符串
-
-
Netstat+进程映射
netstat -ano | findstr :443 tasklist | findstr <PID>
-
流量特征提取工具:
-
Zeek:提取SSL证书、SNI字段、URI路径等
-
Suricata:基于规则的Beacon检测(内含CS特征库)
-
✅2. 主机层行为分析
-
命令执行记录(Prefetch / RecentFileCache)
-
Powershell命令:
powershell -w hidden -enc ...
-
脚本落地:
C:\Users\xxx\AppData\Roaming\xxx.vbs
-
-
计划任务或服务
schtasks /query /fo LIST /v Get-ScheduledTask
-
注册表持久化残留
-
常见位置:
HKCU\Software\Microsoft\Windows\CurrentVersion\Run
-
可以用 Regshot 或 Autoruns 工具对比变动
-
-
内存残留(抓内存进行字符串匹配)
-
Volatility 使用:
volatility -f memdump.raw --profile=Win10x64_18362 malfind volatility -f memdump.raw strings | grep -Ei "beacon|cobalt|github|base64"
-
✅3. 文件与目录行为分析
-
查找最近创建/修改的可疑文件(如:.dll .vbs .dat)
dir /a /s /tw
-
查看是否存在加密通信配置文件:
-
Beacon 配置常以
.bin
,.dat
,.raw
命名 -
使用 Beacon解析工具 提取配置信息
-
🧩 三、溯源目标:谁、何时、从哪来
溯源对象 | 方法 | 工具/命令 |
---|---|---|
初始入侵来源 | 查看堡垒机/EDR日志、VPN/AD登录记录 | EDR后台、SIEM |
工具来源 | 查文件落地路径、hash比对、上传时间 | hash对比、VirusTotal |
通信对象 | 提取远程IP/域名,查WHOIS、IP归属 | ipwhois、Censys |
操作行为人 | 是否为内部账号被盗用、排查AD认证记录 | event ID 4624, 4672 |
🧱 四、溯源关键补充建议
-
建立 IOC 特征库:IP、域名、文件hash、注册表键值
-
启用 Sysmon + WEF,采集细粒度操作信息
-
配合 Wazuh / Graylog 做日志聚合与告警回溯
-
多平台比对(堡垒机 + AD + EDR + 防火墙 + Proxy 日志)