一、前戏:让人无法拒绝的"运维电话"
攻击的开头其实并不新鲜,但非常"重工业"。
首先,受害者的收件箱会遭遇邮件炸弹(Email Bombing)。想象一下,你正因为几千封垃圾邮件清理不掉而崩溃时,电话响了。对方自称是公司的IT支持,语气专业、态度诚恳,说监测到了你的邮箱异常,需要远程接入帮你"修复反垃圾规则"。
人在这种焦虑状态下最容易放下防备。攻击者引导受害者使用Quick Assist(Windows自带远程协助)或AnyDesk。接入后,他们熟练地打开浏览器,访问了一个部署在AWS上、仿冒微软的钓鱼页面。
页面提示要输入密码才能"更新Outlook规则"。这步棋走得极妙:既收割了你的域账号密码,又为接下来的恶意文件下载打好了"这是安全补丁"的心理预防针。
二、核心技术:DLL侧载(Sideloading)的艺术
当受害者点击"更新规则"后,下载的并不是补丁,而是一个陷阱。为了躲避杀毒软件,攻击者玩了一手高级的免杀渗透。
1. 借刀杀人
他们下发了一个带有合法数字签名的二进制文件。研究人员发现了好几个版本,包括ADNotificationManager.exe、DLPUserAgent.exe甚至系统自带的Werfault.exe。这些白名单文件本身没问题,但它们启动时会习惯性地加载一些配套的DLL。
2. 狸猫换太子
攻击者将一个精心伪造的恶意vcruntime140_1.dll放在同目录下。程序启动时,会优先加载当前目录下的DLL,这就是典型的DLL Sideloading(侧载)。你的EDR看到的是微软或知名厂商的可信进程在运行,自然也就放行了。
三、硬核对抗:地狱之门(Hell's Gate)与EDR绕过
作为IT工程师,咱们得看点底层的。这个恶意的DLL并不是简单的后门,它内部集成的免杀技术非常硬核:
- 控制流混淆:静态分析工具看到的指令集逻辑像乱麻一样,根本理不清。
- 延迟执行:针对自动沙箱分析,代码会先执行一些毫无意义的循环"睡一会儿",等沙箱超时退出了再干活。
- 动态调用绕过:这是最硬的地方。它使用了Hell's Gate(地狱之门)和Halo's Gate(光环之门)技术。
现在的EDR喜欢在ntdll.dll的系统调用(Syscalls)上设卡(Hooking)。攻击者通过Hell's Gate技术,直接在内存中动态寻找原始的系统调用号(SSN),然后绕过EDR的监控钩子,直接跟内核对话。这就好比你在高速公路上设了收费站,结果人家直接开着越野车从旁边的荒野跑了。
四、最终形态:Havoc Demon的降临
穿透防御后,DLL会释放出Havoc Demon的Shellcode并在内存中执行。Havoc是一款比Cobalt Strike更现代的C2框架,它的Demon代理非常轻量且难以检测。
攻击者显然深谙"鸡蛋不放在一个篮子里"的道理:
- 计划任务:创建Scheduled Tasks,确保重启后Havoc Demon依然能自动上线。
- 合法RMM备份:在部分机器上,他们甚至部署了Level RMM或XEOX等合法的远程监控管理工具。即使Havoc被安全人员发现了,他们依然可以通过这些合法的"运维工具"重新杀回来。
五、经验复盘:我们该如何防范?
通过这次复盘,我总结了几点咱们日常运维和安全建设中必须注意的坑:
- 警惕"自带工具":Windows自带的Quick Assist简直成了黑客的远程控制神器,建议在内网策略中严格限制此类工具的使用权限。
- 别迷信数字签名:白名单程序加载DLL的过程是盲目的。对于IT部门来说,需要监控那些不常改动的系统目录下出现的异常DLL文件。
- 行为胜过指纹:针对Hell's Gate这种直接系统调用的技术,特征码查杀已经失效了。我们需要更多关注异常的内网横向扫描、非正常时间段的计划任务创建等行为特征。
黑客已经比你更了解你的运维流程了,他们用最专业的工具,演最像你的戏。
本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf
客服小蜜蜂(微信:freebee1024)


