A True Story
这才攻防演练第三天,某家单位就接到指挥部通知,靶标丢失。
无文件攻击:来自黑客对杀软的降维打击
“无文件投递”指的是恶意程序被投递到目标主机上这个过程中所使用的技术,主要针对杀软的“实时防护”功能,恶意程序投递阶段如果按传统的“先写盘再运行”的方式,则大概率能被扫描到;但如果这个过程中没有恶意程序文件写盘,则能从根本上绕过“实时防护”。无文件投递通常有利用脚本(如Powershell、JS等)远程加载恶意程序、利用Loader反射加载PE文件与漏洞利用等三种主要方法。
“无文件持久化”指的是恶意程序已经植入到目标主机上,但需要保证每次主机重启,恶意程序都能被重新运行起来,这个过程叫做“持久化”。按传统的方式,持久化也需要“从磁盘启动可执行文件”;但如果在这个阶段没有恶意程序从磁盘启动,也能绕过“实时防护”。
杀软为什么不告警?
主动防御则是一种基于规则的行为检测与拦截技术,通常作为实时防护的补充,在实时防护无法检测某些威胁的时候能够给予一定的兜底能力。但从实践经验来看,主动防御所发挥的作用有限,因为传统杀软的主动防御功能通常偏向于单个进程的单点行为检测,在实战中限制较为明显。
针对杀软这三大功能特点,在实战对抗中,已经有比较成熟的方法去绕过,比如利用代码混淆或移除杀软检测特征等来实现免杀。而无文件攻击使用几乎没有恶意代码/特征的文件,杀软自然也就更无法检出。
需要注意的是,无文件这个看似高阶的攻击技术已经越来越“平民化”,出现了诸多可轻松实现无文件攻击的平台,其中最知名的可能就是CobaltStrike平台。此外,还有开源PoshC2平台与新兴的Sliver开源平台,以及专注于Powershell无文件攻击的Empire软件等。
并且,无文件攻击步骤之简单,超乎你想象!来看一起真实的黑客攻击案例。
案例
一份Word简历 HR点开就被“黑”
这是一起典型的无文件攻击事件,黑客利用Word程序的宏功能发起攻击,整个攻击过程仅持续8秒,6步即完成:
-
HR打开Word文档,允许运行宏后,会运行文件中携带的VBA程序 -
VBA宏通过加密协议反连C2,下载Shellcode代码 -
VBA宏启动 Rundll32.exe 程序,这是操作系统可信程序 -
通过writeProcessMemory与CreateRemoteThread命令注入Shellcode -
运行恶意代码 -
写入计划任务,Powershell命令下载Shellcode,实现无文件持久化
这一攻击过程可分为两个阶段:
原文始发于微信公众号(微步在线):当红队已获得靶标,为何你的杀软依旧静悄悄