12 月 8 日在 BlackHat 2017 欧洲(伦敦)会场上,来自 Ensilo 的安全研究人员介绍了一种名为 Process Doppelgänging 的新型代码注入技术,能够成功绕过多数杀毒软件和安全软件,从 Windows Vista 到最新版本的 Windows 10,几乎所有 Windows 版本中都可以运行 Process Doppelgänging 技术。
Bypass 多数杀毒软件
研究人员进行的测试结果显示,Process Doppelgänging 技术能够成功 Bypass 多家杀毒软件,如 Windows defender、AVG、卡巴斯基、Avast、360、McAfee 等。同时,研究人员表示使用 Process Doppelgaynging 技术运行著名的密码窃取实用程序 Mimikatz 也都没有被检测出,也说明该技术能够规避大多数防病毒软件的检测。
新型无文件攻击手法
据演讲者介绍,该技术是一种无文件的代码注入方法,利用了一个内置的 Windows 函数和一个未经注册的 Windows 进程加载程序实现攻击。研究显示,Process Doppelgienging 与另一种称为 Process Hollowing 的技术相似,但后者依赖于 Windows NTFS 事务处理机制,攻击者可以借助 Process Hollowing 技术,在内存中使用恶意代码代替合法进程,从而规避安全软件。目前所有的现代安全软件都能够检测到 Process Hollowing 技术的攻击,然而 Process Doppelgienging 利用的是 Windows NTFS 事务处理机制以及一种为 Windows XP 设计的老式 Windows 进程加载器进行攻击,能够成功避开多数防病毒软件检测。
来自 Ensilo 的安全研究人员 Tal Liberman 和 Eugene Kogan在会场上演示了这一过程。他们将 Process Doppelgänging 无文件攻击分为四个步骤:
1、处理 -将一个合法的可执行文件转换为 NTFS 事务,然后用恶意文件覆盖它。
2、加载 -从修改的(恶意)文件中创建一个内存段。
3、回滚-回滚事务(故意使事务失败),从而导致合法可执行程序的所有更改以一种从未存在的方式被删除。
4、推动 – 使用旧的 Windows 进程加载器来创建一个具有先前的内存段的进程(在第 2 步中),这实际上是恶意的,从来没有保存到磁盘,这将使它在大多数记录工具如现代的 EDRs 中不可见。
安全专家表示,该技术旨在允许恶意软件在目标机器上的合法进程中运行任意代码(包括已知的恶意代码),虽然非常类似于 Process Hollowing,但带有新颖的转变。Process Doppelgänging 的挑战是不使用类似 SuspendProcess、NtUnmapViewOfSection 这样的可疑进程和内存操作。
为完成挑战,安全研究人员利用了 NTFS Transaction,并在事务的上下文中覆盖了一个合法的文件。随之,从修改后的文件( 事务的上下文 )中定义了一个部分并从中创建了一个进程。此外,研究人员发现,在事务中扫描文件是他们迄今为止检查的供应商不可能做到的,而且由于回滚事务,活动并没有留下任何痕迹。
NTFS Transaction 是 Windows 的一个特性,用于将事务整合到 NTFS 文件系统中,使应用程序开发人员更容易处理错误并保持数据完整性,还可以管理文件和目录。并且 NTFS Transaction 也是一个独立的空间,允许 Windows 应用程序开发人员编写文件输出例程,而这些例程的结果可以重构为失败或成功的状态。
几乎 “秒杀” 所有 Windows 版本
研究人员Liberman 表示,Process Doppelgienging 技术即使在最新版本的 Windows 10 上也能够运行,除了今年早些时候发布的 Windows 10 Redstone 和 Fall Creators Update 之外,因为在这些后来的版本中,Process Doppelgienging 攻击触发了蓝屏死机( BSOD )。幸运的是,由于需要知道关于进程创建时大量无事实证明的细节,所以在处理 Process Doppelgänging 攻击方面具有技术挑战性。然而坏消息是,因为利用了 Windows 系统的基本特性和过程加载机制的核心设计,所以攻击并不能修补。
消息来源:Security Affairs,编译:榆榆,译审:青楚、FOX,终审:FOX
本文由 HackerNews.cc 翻译整理,封面来源于网络。
转载请注明“转自 HackerNews.cc ” 并附上原文链接。
请登录后发表评论
注册