freeBuf
主站

分类

云安全 AI安全 开发安全 终端安全 数据安全 Web安全 基础安全 企业安全 关基安全 移动安全 系统安全 其他安全

特色

热点 工具 漏洞 人物志 活动 安全招聘 攻防演练 政策法规

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

当红队已获得靶标,为何你的杀软依旧静悄悄
2023-02-07 14:34:49
所属地 北京

这才攻防演练第三天,某家单位就接到指挥部通知,靶标丢失。

这家单位的安全负责人老李已经懵了,明明已经尽力做了安全防护,连终端杀软都安装了三个不同供应商产品,为什么结局还是来得这么快?关键是,三个杀软和约好了一样,静悄悄地,连一条告警信息都没有!

经外部专家历时两周的溯源,最终报告出来了。老李看着各种专业术语:域前置、远控马、反射加载、Payload、横向移动……依旧不明白为什么杀软不告警?

老李横竖看了半夜,终于从字缝里看出来歪歪扭扭的几个字——无文件攻击。

无文件攻击:来自黑客对杀软的降维打击

“无文件”攻击的精髓在于“恶意程序文件不写盘”,所以能从根本上绕过基于文件检测技术的安全产品(比如杀软)。一般而言,无文件攻击分为“无文件投递”和“无文件持久化”两个阶段。

"无文件投递"指的是恶意程序被投递到目标主机上这个过程中所使用的技术,主要针对杀软的“实时防护”功能,恶意程序投递阶段如果按传统的“先写盘再运行”的方式,则大概率能被扫描到;但如果这个过程中没有恶意程序文件写盘,则能从根本上绕过“实时防护”。无文件投递通常有利用脚本(如Powershell、JS等)远程加载恶意程序、利用Loader反射加载PE文件与漏洞利用等三种主要方法。

“无文件持久化”指的是恶意程序已经植入到目标主机上,但需要保证每次主机重启,恶意程序都能被重新运行起来,这个过程叫做“持久化”。按传统的方式,持久化也需要“从磁盘启动可执行文件”;但如果在这个阶段没有恶意程序从磁盘启动,也能绕过“实时防护”。

杀软为什么不告警?

上文提到的“实时防护”是主流杀软的三大功能之一,其他两个是文件扫描与主动防御。实时防护与文件扫描都是基于特征的文件检测技术,主要针对写入硬盘的文件进行检测。但如果落盘文件没有恶意代码或恶意特征,杀软难以检出,也就没有告警。

主动防御则是一种基于规则的行为检测与拦截技术,通常作为实时防护的补充,在实时防护无法检测某些威胁的时候能够给予一定的兜底能力。但从实践经验来看,主动防御所发挥的作用有限,因为传统杀软的主动防御功能通常偏向于单个进程的单点行为检测,在实战中限制较为明显。

针对杀软这三大功能特点,在实战对抗中,已经有比较成熟的方法去绕过,比如利用代码混淆或移除杀软检测特征等来实现免杀。而无文件攻击使用几乎没有恶意代码/特征的文件,杀软自然也就更无法检出。

需要注意的是,无文件这个看似高阶的攻击技术已经越来越“平民化”,出现了诸多可轻松实现无文件攻击的平台,其中最知名的可能就是CobaltStrike平台。此外,还有开源PoshC2平台与新兴的Sliver开源平台,以及专注于Powershell无文件攻击的Empire软件等。

并且,无文件攻击步骤之简单,超乎你想象!来看一起真实的黑客攻击案例。

一份Word简历 HR点开就被“黑”

小燕(化名)是某企业HR,她根本没想到,只是打开了一份名为“张xx-大客户经理-7年经验”的Word文档,然后电脑就被“黑”了。

这是一起典型的无文件攻击事件,黑客利用Word程序的宏功能发起攻击,整个攻击过程仅持续8秒,6步即完成:

  1. HR打开Word文档,允许运行宏后,会运行文件中携带的VBA程序

  2. VBA宏通过加密协议反连C2,下载Shellcode代码

  3. VBA宏启动 Rundll32.exe 程序,这是操作系统可信程序

  4. 通过writeProcessMemory与CreateRemoteThread命令注入Shellcode

  5. 运行恶意代码

  6. 写入计划任务,Powershell命令下载Shellcode,实现无文件持久化

这一攻击过程可分为两个阶段:

步骤1~步骤5:属于无文件投递阶段,黑客向目标投递了一个看似正常的Word文件,Word中的宏仅仅是一个加载Shellcode的loader,实际的Shellcode是在loader运行时才反连C2下载,这是非常典型的利用反射加载手法实现的无文件投递。整个过程中没有新的恶意文件写盘,且Shellcode也只会驻留在内存中,不会写盘,所以,到目前为止杀软都检测不到,更不会告警。

利用Loader通过反射加载实现无文件攻击的一般流程

步骤6:属于无文件持久化阶段,Word文档利用宏写入“计划任务”,在开机后会自动执行一段命令,这段命令中嵌入了编码后的Powershell脚本,会连接C2下载Shellcode并加载执行,典型的利用脚本远程加载恶意代码的技术手法,同样没有文件写盘,完美绕过杀软。

如果无文件攻击不能被有效阻断,那么后续攻击行为将接踵而至:盗取密码、获取凭证、内网横移、进入生产网、数据窃取……将给公司带来不可预估的后果。包括APT、挖矿、勒索攻击等网络攻击事件都有可能源自这一份小小的Word文档。

那么遭遇无文件攻击真的就只能束手就范吗?下篇文章将从无文件攻击原理出发,揭秘如何快速、有效地检测并反制无文件攻击,敬请关注!

# 终端安全 # 无文件攻击
本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录