记一次域内横向移动尝试的检测与阻断实录

域内横向移动尝试通过 SMB/WinRM 凭据传递触发告警,结合 EDR 行为基线与 Windows 事件 4624/4648/4672 定位异常登录链路,最终通过 LAPS 密码重置与网络隔离完成阻断。

问题背景

域内环境长期依赖共享密码或弱口令本地管理员账户进行运维,导致一旦某台主机被攻陷,攻击者即可通过 Pass-the-Hash 或 Pass-the-Ticket 技术快速横向扩散。近期公司引入深信服 EDR 终端安全平台后,安全团队发现多起「可疑远程登录」与「异常进程启动」告警,指向域内某台文件服务器(FS01)与多台桌面终端存在异常交互。

本次事件源于红蓝对抗演练,蓝队在未提前通知的情况下模拟真实 APT 入侵路径:通过钓鱼邮件获取普通域用户权限后,尝试利用域内横向移动技术扩大控制范围。安全团队需在 15 分钟内完成检测、定位与阻断,验证 EDR + Windows 事件日志 + LAPS 联动的有效性。

故障现象

2026-09-13 23:47,EDR 控制台连续触发 3 级告警:

  1. 可疑远程执行:终端 WIN10-0423 以域账号 corp\svc_backup 通过 WinRM 连接文件服务器 FS01,启动 powershell.exe -nop -w hidden -enc <base64>
  2. 异常凭据使用:FS01 上出现大量 4648 事件(显式凭据登录),目标服务器为 DC01、FS02、APP01,时间间隔仅 4-7 秒。
  3. 高危行为:WIN10-0423 上 mimikatz.exe 进程启动(EDR 行为基线未放行),同时本地管理员组被添加新成员 corp\attacker

桌面终端 WIN10-0423 用户反馈「电脑卡顿、鼠标偶尔失灵」,安全团队远程查看进程树发现 svchost.exe 下挂载多个 powershell.exe 实例,内存占用异常升高。

排查过程

1. EDR 告警收敛与时间线还原

登录 EDR 控制台,按「终端 + 时间」聚合查看告警链:

1
2
3
4
5
23:47:12  WIN10-0423  进程启动 mimikatz.exe(父进程:powershell.exe)
23:47:15  WIN10-0423  网络连接 10.8.12.10:445(FS01 SMB)
23:47:19  FS01        登录事件 4624 Type=3(网络登录) 来源 WIN10-0423
23:47:22  FS01        4648 显式凭据登录 DC01(账号 svc_backup)
23:47:29  FS01        进程启动 wmic.exe /node:APP01 process call create ...

关键发现:svc_backup 账号在 23:47:19-23:47:45 之间对 7 台服务器发起 4624 Type=3 登录,目标服务器清单与域内「关键资产清单」高度重合,排除正常备份作业(备份窗口为 02:00-04:00)。

2. Windows 事件日志深度分析

在 FS01 上提取关键事件:

1
2
3
4
5
6
7
8
9
Get-WinEvent -FilterHashtable @{
    LogName='Security';
    ID=4624,4648,4672;
    StartTime='2026-09-13 23:40:00';
    EndTime='2026-09-13 23:50:00'
} | Where-Object {$_.Properties[5].Value -like '*svc_backup*'} |
   Select-Object TimeCreated, Id, @{N='Account';E={$_.Properties[5].Value}},
                 @{N='LogonType';E={$_.Properties[8].Value}},
                 @{N='SourceIP';E={$_.Properties[18].Value}}

输出显示:

  • 23:47:19 svc_backup Type=3 从 10.8.20.42(WIN10-0423)登录 FS01;
  • 紧接着 4648 事件记录该账号显式传递凭据到 DC01(目标 C:\Windows\System32\lsass.exe);
  • 4672 事件显示 svc_backup 被授予 SeDebugPrivilege、SeImpersonatePrivilege 等高权限。

结合 EDR 捕获的 mimikatz sekurlsa::logonpasswords 命令行,判断攻击者已在 WIN10-0423 上获取 svc_backup 的 NTLM Hash。

3. 凭据来源定位

svc_backup 为域内服务账号,密码由 LAPS 托管。正常情况下该账号仅允许从备份服务器(BAK01)登录 FS01。进一步检查 LAPS 密码历史:

1
2
Get-LapsADPassword -Identity FS01 -Domain corp.local -Credential (Get-Credential) |
    Select-Object ComputerName, Password, PasswordUpdateTime, ExpirationTime

发现 FS01 的 LAPS 密码于 2026-09-13 23:45:02 被「svc_backup」账号查询(实际为攻击者通过 Pass-the-Hash 冒用)。同时 WIN10-0423 的本地管理员密码(LAPS 托管)在 23:46:11 被重置为已知弱口令,说明攻击者已提前在该终端植入持久化后门。

4. 横向移动路径还原

攻击链还原:

  1. 钓鱼邮件 → 普通域用户 corp\li.ming 机器被控(WIN10-0423);
  2. 通过 svc_backup Hash 横向到 FS01(Type=3 网络登录);
  3. 在 FS01 上使用 sekurlsa::logonpasswords 导出多台服务器的本地管理员 Hash;
  4. 利用 wmic /node:<IP> process call create 在 APP01、DC01 上执行命令;
  5. 尝试在 DC01 上创建黄金票据持久化(被 EDR 行为基线拦截)。

解决方案

1. 紧急阻断

  • 终端隔离:通过 EDR 控制台对 WIN10-0423 执行「网络隔离」,仅保留与 EDR 服务器的通信;
  • 账号禁用:立即禁用 svc_backup 域账号,强制所有使用该账号的进程下线;
  • 密码重置:通过 LAPS 强制重置 FS01、DC01、APP01 的本地管理员密码,切断 Pass-the-Hash 链路。

2. 凭据治理加固

1
2
3
4
5
6
7
8
9
# 1. 强制所有域内服务器启用 LAPS(已部署但部分机器未入策略)
Get-ADComputer -Filter {OperatingSystem -like "*Windows Server*"} |
    Invoke-LapsADPasswordReset -Identity {$_.Name}

# 2. 限制服务账号登录范围(仅允许从指定跳板机登录)
Set-ADUser svc_backup -LogonWorkstations BAK01,BAK02

# 3. 启用 Windows Defender Credential Guard(GPO)
# Computer Configuration → Administrative Templates → System → Device Guard → Turn On Virtualization Based Security

3. EDR 规则优化

在 EDR 控制台新增两条检测规则:

  • 异常 WinRM 执行powershell.exe 父进程为 wsmprovhost.exe 且命令行含 -enc 时,触发 4 级告警并自动隔离;
  • 横向移动指纹:同一账号在 60 秒内对 ≥3 台服务器发起 Type=3 登录且目标不在「已知备份服务器」白名单,标记为高危横向移动。

4. 事后复盘与取证

导出 WIN10-0423 的 C:\Windows\PrefetchSRUM 数据库及 mimikatz 内存 dump,交由蓝队做进一步静态分析。确认攻击者未成功在 DC01 上创建持久化后门(黄金票据尝试被 EDR 拦截)。

根因分析

  1. 凭据管理缺失svc_backup 账号密码长期未轮换,且允许从任意域内主机登录,导致 Hash 一旦泄露即可全网横向。
  2. 终端安全基线不足:WIN10-0423 未启用 Credential Guard,mimikatz 可直接从 LSASS 导出明文凭据。
  3. 监控盲区:此前仅监控「失败登录」(4625),未对「成功但异常」的 Type=3 网络登录做基线建模,导致攻击链在 4 分钟内完成 7 台服务器的凭据收集。

预防措施

  1. LAPS 全覆盖 + 定期轮换:所有域内 Windows 主机(含桌面)必须加入 LAPS 策略,密码每 7 天自动轮换;服务账号密码由 Azure Key Vault 托管,禁止明文存储在脚本或配置文件中。
  2. 最小权限登录:服务账号严格限制 LogonWorkstations,仅允许从指定跳板机登录;普通域用户禁止远程桌面/WinRM 到服务器。
  3. EDR 行为基线持续优化:每月复盘「误报 vs 漏报」,将「异常远程执行」「横向移动指纹」规则迭代至生产环境;对高权限账号(域管、服务器本地管理员)启用「影子登录」监控,一旦检测到非预期来源立即告警。
  4. 红蓝对抗常态化:每季度执行一次「无通知」横向移动演练,验证 EDR + LAPS + 事件日志三层联动的 MTTD(平均检测时间)< 5 分钟、MTTR(平均响应时间)< 15 分钟。

总结

本次域内横向移动尝试因 EDR 实时告警 + Windows 事件日志深度分析,在 8 分钟内完成检测与阻断,验证了「行为基线 + 凭据治理 + 最小权限」三位一体防御体系的有效性。根本教训是:域内一旦有 Hash 泄露,横向移动速度远超人工响应,必须依赖自动化检测与 LAPS 自动轮换形成「自愈」闭环。后续将把「横向移动检测规则」固化到安全运营手册,并纳入新员工入职培训的必修场景。

延伸阅读

使用 Hugo 构建
主题 StackJimmy 设计