一、问题背景
我司终端安全统一由 EDR(Endpoint Detection and Response,采用 CrowdStrike Falcon)纳管,全量约 2400 台办公终端均安装了轻量 Agent,开启行为检测与勒索防护。办公网通过域控下发组策略,约束软件安装与宏执行。网络侧有邮件安全网关(Mimecast)做反钓鱼与附件沙箱。
2025-08-14 上午 09:51,EDR 控制台弹出一条"Malicious PowerShell Behavior"高危告警,涉及研发部员工 zhang.qiang 的笔记本(主机名 LAPTOP-ZQ,IP 10.20.35.77,OS Windows 11 23H2)。告警摘要指出该终端在数分钟内发起了与外网 C2 的可疑 HTTPS 通信,并伴随无文件 PowerShell 载荷执行。作为当班安全运维,我立即接入终端取证与隔离流程。
二、故障现象
EDR 告警原文如下:
|
|
同时观测到该终端:
- 出口防火墙日志显示 09:48 起向 185.xx.xx.141 发起周期性 HTTPS 请求(约每 60 秒一次,典型信标心跳)。
- 主机进程树出现
wscript.exe → powershell.exe → rundll32.exe的异常链路,且 rundll32 加载了临时目录下的updater.dll。 - zhang.qiang 反馈:早上收到一封"快递包裹异常"的钓鱼邮件,附件是
package_notice.hta,双击后弹出"无法打开"的假错误,但之后电脑风扇转得厉害、偶有卡顿。
基本判定:钓鱼 HTA 附件释放了远控木马(RAT),终端已沦为 C2 控制的肉鸡。
三、排查过程
第一步:网络隔离,防止横向扩散。
在不关停主机、保留内存现场的前提下,先通过 EDR 一键"Network Containment"将终端从业务 VLAN 隔离到 quarantine 网段,仅保留与 EDR 控制台的通信:
|
|
第二步:进程与文件溯源。
从 EDR 拉取进程树,还原攻击链:
|
|
在终端上用 Autoruns 检查发现木马已写入启动项:
|
|
第三步:IOC 提取与影响面排查。
提取本次 IOC:C2 域名/IP、落地文件哈希(SHA256)、HTA 样本。在 SIEM 中全网下发检索,确认仅 LAPTOP-ZQ 一台主机命中,未出现横向移动(该木马本身不含内网传播模块,但已尝试读取浏览器保存的密码与域凭证缓存)。
|
|
四、解决方案
处置以"清除 + 凭证吊销 + 恢复"为主线:
- 终止恶意进程并删除持久化:
|
|
-
吊销并重置凭证:该终端曾登录过域账号,存在凭证缓存风险,强制 zhang.qiang 改密并使其所有 TGT 失效(
Set-ADAccountPassword+ krbtgt 滚动待评估);同时让其注销已登录的 Web 应用会话。 -
样本提交与封堵:将 HTA/RAT 样本上传沙箱(ANY.RUN)做深度分析,提取 C2 域名加入防火墙与邮件网关黑名单;在 EDR 中创建自定义 IOC 阻止规则,全网阻断该哈希。
-
系统恢复:由于 RAT 可能残留在系统目录,按安全规范不冒险"手工清理",而是从标准镜像重装系统并还原个人数据(数据盘已隔离备份),确保彻底干净。
-
解除隔离与复盘:恢复后解除 Network Containment,10:20 终端回归业务网,全程未影响其他员工。
五、根因分析
- 入口:钓鱼邮件附件
package_notice.hta利用了 mshta.exe 可直接执行 HTA 脚本的特性,绕过了"禁用宏"的防护(HTA 不属于 Office 宏,组策略未限制)。 - 载荷:HTA 内嵌 JavaScript 经 wscript 调用 PowerShell 下载二次载荷,使用
IEX无文件执行规避磁盘查杀,再用 rundll32 加载 DLL 实现常驻,属于典型的"无文件 + 落地 DLL"混合技战术。 - 短板:终端组策略未禁用 mshta.exe 与脚本宿主(wscript/cscript);邮件网关沙箱对 HTA 类附件的检出率不足;该员工安全意识培训覆盖不全。
六、预防措施
- 收紧脚本宿主:通过 GPO 禁用
mshta.exe、wscript.exe、cscript.exe的非必要执行(或仅允许白名单路径),从源头掐断 HTA 执行链。 - 强化邮件网关:在 Mimecast 中对
.hta/.js/.vbs/.scr等危险扩展名直接剥离或隔离,并提升沙箱对无文件载荷的检出策略。 - 攻击面收敛:启用 EDR 的"脚本控制/PowerShell 约束语言模式",对
IEX + Invoke-WebRequest这类组合做默认阻断。 - 凭证保护:推广 Windows Hello for Business 替代密码登录,降低终端缓存凭证被窃取的价值;启用 LSASS 受保护进程。
- 意识与演练:将 HTA/快捷方式类钓鱼纳入季度钓鱼演练,对研发等高风险岗位增加专项培训。
七、总结
这是一次标准的"钓鱼 HTA → 无文件 PowerShell → DLL 远控"终端失陷事件。EDR 的行为检测(IOA)在攻击链早期就抓住了 PowerShell 异常,配合一键网络隔离,把影响牢牢限制在了单台终端,没有波及内网。最大的启示是:传统"基于文件哈希"的杀毒对无文件攻击几乎无效,必须依赖 EDR 的行为分析与快速 containment 能力;而 GPO 对 mshta/脚本宿主的禁用,则是性价比极高的一道前置防线。终端安全没有银弹,但"EDR 看得见 + 隔离快 + 策略收得紧 + 人训得到位"四件套,足以把绝大多数同类事件挡在可控范围内。