内置于操作系统中的Windows Management Instrumentation(WMI)为攻击者提供了更多与本地程序交互的机会。WMI允许攻击者在wmic.exe可执行文件(以及其他一些文件)的帮助下使用脚本(例如PowerShell)并与攻击端的大多数程序功能进行交互。由于这些操作仅涉及受信任的内置Windows功能,因此杀毒软件技术难以进行检测和限制。有关WMI如何协助无文件攻击的解释,请参阅Matt Graeber撰写的滥用WMI构建持久、异步和无文件后门的文章。
攻击者通过利用这种良性和可信赖的实用程序,大大增加了逃避检测的概率。有关此类技术的其他示例,请参阅Matthew Dunwoody对APT29使用WMI和PowerShell构建无文件后门的概述。
技术4:内存中的恶意代码
虽然检查磁盘上的文件是许多杀毒软件产品的优势,但它们经常会被仅驻留在内存中的恶意代码所难道,由于内存是不稳定的和动态变化的,这就使恶意软件有机会改变其攻击方式或以其他方式逃避杀毒检测。
一旦攻击者开始在攻击端上执行恶意代码,那攻击者就可以将恶意软件解压缩到内存中,而不会将恶意控件保存到文件系统中,这可能涉及到将代码提取到进程本身的内存空间中的技术。在其他情况下,恶意软件会将代码注入受信任的流程和其他良性流程中。
内存攻击技术的案例包括:
- 内存注入利用Microsoft Windows的功能与操作系统进行交互,而不会利用漏洞。例如,经常被注入恶意软件进行滥用的API调用包括VirtualAllocEx和WriteProcessMemory,它们允许用一个进程将代码写入另一个进程。要了解这些技术的实际应用,请阅读Gal Bitensky对AZORult攻击的概述,AZORult是一个功能强大的信息窃取程序和下载程序。
- 攻击者可以将已编译的可执行文件包装成脚本,以便在运行时将恶意载荷提取到内存中,PowerSploit就是这样的工具包的一个例子,你可以通过阅读Asaf Aprozper和Gal Bitensky的GhostMiner分析来看到它的运行,而Chris Truncer的Veil框架又是另一个案例,感兴趣可以读一下。
- Process Doppelgänging是一种绕过杀软检测的新技术,这种新的攻击方式对所有windows平台都有效,并且能够攻击目前可见的大部分安全产品。Doppelgänging利用两种特性来掩盖加载修改版可执行文件的过程。通过使用NTFS,攻击者可以在不写入磁盘的情况下修改可执行文件。这意味着,攻击可以为修改版的可执行文件建立进程,而杀毒软件的安全机制检测不到。这种方法很像进程中空技术,但是更加高级。攻击者可以在没有可以进程和内存操作(如SuspendProcess和NtUnmapViewOfSection)的情况下,让恶意软件在正常软件的进程中执行任意代码。SynAck恶意软件就使用了这种逃避技术,以试图终止与虚拟机、办公应用程序、脚本解释器、数据库应用程序、备份系统以及游戏应用程序等相关的程序。研究人员认为,SynAc这样做的目的在于授予自身能够访问这些进程所使用的有价值文件的权限。如同其他勒索软件一样,SynAck也会收集一些关于受感染主机的基本信息,如计算机和用户名、操作系统版本信息等,然后使用随机生成的256位AES密钥对目标文件进行加密。在文件被加密后,将会被附加一个随机生产的扩展名。除此之外,SynAck还会清除系统存储的事件日志,并且可以通过修改注册表中的LegalNoticeCaption和LegalNoticeText键将自定义文本添加到Windows登录屏幕。
(编辑:惠州站长网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|