2016年,美国民主党全国委员会(DNC)遭受网络攻击。调查人员震惊地发现:攻击者APT29(代号"Cozy Bear",据称与俄罗斯对外情报局有关)并未携带任何"武器"入场。他们没有投放定制恶意软件,没有利用零日漏洞。他们只是拿起了Windows系统自带的工具——PowerShell、WMI、certutil——然后优雅地完成了入侵。
这就是"离地攻击"(Living-off-the-Land,缩写LOTL)的精髓:攻击的最高境界,是让你的防御系统认不出这是一场攻击。
同样的手法被FIN7网络犯罪组织发扬光大。该组织通过Carbanak后门,从全球银行窃取了超过10亿美元。调查人员发现,Carbanak几乎完全依赖WMI和PowerShell实现持久化和横向移动——没有传统意义上的恶意文件可供扫描。
今天,超过70%的成功攻击都采用了无文件技术。当攻击者学会借用系统自身的"语言"说话,你的传统杀软正在变成聋哑人。

无文件(Fileless):恶意代码从不在磁盘上留下可执行文件。PowerShell直接内存执行、JScript寄生在文档中、宏代码动态生成——攻击载荷在你的视野中完全隐形。
无签名(Non-Signed):攻击者使用的正是Windows签名的合法工具。certutil.exe是微软签名的系统工具,wmic.exe、mshta.exe、bitsadmin.exe莫不如此。你的白名单机制面对"自家孩子"只能放行。
无感知(Unnoticeable):这些操作与管理员的日常运维行为高度相似。哪个IT人员不曾用PowerShell查过用户、用certutil下载过更新?攻击者就这样淹没在海量的正常操作中。
典型攻击手法包括:
|
技术手法 |
滥用工具 |
攻击目的 |
|
PowerShell混淆执行 |
powershell.exe |
下载载荷、远程执行、内存驻留 |
|
WMI事件订阅持久化 |
wmic.exe, mofcomp.exe |
建立后门、接收远控指令 |
|
BITS后台下载 |
bitsadmin.exe |
低调传输恶意文件 |
|
certutil远程解码 |
certutil.exe -urlcache |
下载并Base64解码恶意载荷 |
|
mshta远程HTA |
mshta.exe |
执行托管的恶意脚本 |
传统EDR/杀软基于文件扫描、特征匹配、签名验证——面对这些"借来的刀",它们要么看不见,要么看见了也以为是"好人"。
现代EDR的核心能力,在于从文件中心转向行为中心。它不再执着于"这个文件是不是恶意的",而是追问"这个进程的行为是否异常"。
脚本解混淆与命令审计:EDR捕获所有PowerShell、JScript、VBScript的完整执行日志,包括被Base64编码或拼接的恶意命令。当攻击者执行"下载-解码-执行"的下载摇篮(Download Cradle)时,EDR能还原完整的攻击链。
LOLBins行为监控:针对certutil的-urlcache -split -f下载行为、mshta的远程脚本执行、regsvr32的COM脚本加载,EDR建立细粒度的进程行为图谱。即使工具本身是合法的,一旦行为越界,立即触发告警。
WMI事件订阅深度监控:EDR监控__EventFilter、__Consumer和__FilterToConsumerBinding的创建——这是WMI持久化的标准路径。当攻击者通过WMI建立后门时,EDR能检测到这种异常的系统级修改。
内存行为检测:通过ETW(Windows事件跟踪)和内核级遥测,EDR可以检测到反射性DLL注入、进程 hollowing等内存操作技术——即使它们从未触及磁盘。
父进程-子进程链分析:PowerShell不应由Word启动,这是最简单也最有效的异常信号。EDR通过完整的进程谱系追踪,能发现"不正常的孩子由不正常的父母生下"的攻击链。
无文件攻击的本质,是攻击者与防御者之间的一场"身份盗窃"——攻击者偷走了你系统工具的"身份证",在你的眼皮底下畅通无阻。
EDR的意义,在于撕掉那层伪造的身份伪装。它不是简单地封禁PowerShell(那会让你的IT运维陷入瘫痪),而是为每一种"合法行为"建立上下文档案:当PowerShell下载远程脚本时,它关联了哪些网络连接?执行了什么命令?持续了多久?有什么后续动作?
这才是现代安全运营的正确姿势——不是把刀藏起来,而是给每把刀装上GPS和行为记录仪。