首页/安全/应急响应速查/影响范围与横向扩散初判

影响范围与横向扩散初判

用同一 C2 地址、同一被控账号、同一样本哈希三条线索判断是否已横向移动;先圈范围再清理,避免边清边扩散。

应急响应速查安全更新于 2026-10-13

影响范围与横向扩散初判

确认一台主机被控之后,紧接着要回答的问题是:还有哪些主机也被控制了。可用的线索主要有三条——相同的 C2 地址或域名、相同的被控账号、相同的样本哈希或计划任务。用这三条线索在日志平台、终端管理平台、被动流量记录与堡垒机日志里横向检索,就能大致圈出受影响范围。这件事必须在清理之前完成,否则会边清边扩散。

基本信息

线索一同一 C2 地址、域名或端口出现在多台主机
线索二同一账号在多台主机出现异常登录或异常 sudo 记录
线索三相同文件哈希、相同计划任务或相同监听端口出现在多台主机
数据来源集中日志平台、终端管理平台、被动流量、堡垒机与 VPN 登录审计
输出物受影响主机清单,含首次出现时间与当前状态
收尾条件清单内每台主机都已确认状态,并有明确的处置结论

典型使用场景

  • 单台主机确认被控后,快速判断是孤立事件还是批量攻击
  • 确认攻击者是否已经通过跳板机或域控横向移动
  • 为清理排定优先级:先处理仍在活动的主机
  • 向管理层汇报影响范围时提供有依据的清单
  • 清理完成后复检清单,确认没有遗漏主机

跨主机检索 IOC

跨主机检索 IOC
IOC_IP='203.0.113.10'; IOC_HASH='示例哈希值'          # 替换为真实值
sudo grep -rl "$IOC_IP" /var/log /etc 2>/dev/null | head -n 20
for h in web01 web02 db01; do echo "== $h"; ssh "$h" "sudo grep -rl '$IOC_IP' /var/log 2>/dev/null | head -n 5"; done
for h in web01 web02 db01; do echo "== $h"; ssh "$h" "crontab -l 2>/dev/null | grep -i suspicious"; done
sudo grep -rl "$IOC_HASH" /evidence 2>/dev/null | head -n 5     # 本机证据目录内的哈希检索

线索与判据

线索检索位置命中后的判断
C2 地址连接日志、防火墙日志、被动流量命中即认为该主机与攻击者有过通信
被控账号登录日志、sudo 记录、堡垒机审计命中说明凭据已被复用,需重置密码
样本哈希终端扫描记录、文件清单命中说明同一载荷被投放过多台主机
计划任务特征各主机任务表与执行日志命中说明持久化被批量部署
监听端口各主机连接列表命中说明后门服务在多个节点开启
范围没圈清楚就开始清理单机,攻击者可以从邻居主机再打回来,清理变成反复劳动。正确节奏是先圈范围、再定方案、最后统一清理,并且清理期间保持对清单内主机的监控。
检索值要选准确:经过 NAT 的出口地址、云厂商的公共地址段、CDN 地址都不适合当 IOC,直接拿去全网检索只会得到成片噪声,反而掩盖真正的信号。

易错点

  • 只看单台主机就宣布收尾:跳板机、域控与备份服务器上的同一账号往往被忽略
  • 拿 NAT 出口地址当 IOC 全网检索:噪声淹没真信号,还会造成大面积误封
  • 先清理后圈范围:攻击者从邻居主机再打回来,反复劳动
  • 数据来源单一:只看主机日志会漏掉堡垒机与终端平台的记录
  • 清单不做时间标注:无法判断每台主机是同时被控还是后续扩散

数据来源与参考

  • MITRE ATT&CK 横向移动(TA0008)
  • NIST SP 800-61 遏制阶段

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌