ATT&CK -

admin 2024年4月15日01:51:50评论3 views字数 1276阅读4分15秒阅读模式

Process Doppelgänging

Windows 事务性 NTFS (TxF) 作为一种执行安全文件操作的方法引入 Vista。
为了确保数据的完整性,TxF 在给定的时间只允许一个事务句柄写文件。
在写句柄事务终止之前,其他所有句柄都与写句柄隔离,只能读取打开写句柄时已提交的文件版本。
为了避免损坏,如果系统或应用程序在写事务期间失败,TxF 将自动执行回滚。

尽管不宜使用 TxF 应用程序编程接口 (API),但在 Windows 10 中仍然启用了。

攻击者可以利用 TxF 来执行进程注入 (Process Injection) 的无文件变体,即 Process Doppelgänging。
与进程镂空 ( Process Hollowing) 类似,Process Doppelgänging 涉及替换合法进程的内存,实现可能规避防御和检测的恶意代码的隐藏执行。
Process Doppelganging 利用 TxF 时还避免使用被高度监控的 API 函数,如 NtUnmapViewOfSection、VirtualProtectEx 和 SetThreadContext。

Process Doppelgänging 分 4 步实现,:
- 事务-使用合法可执行文件创建 TxF 事务,然后使用恶意代码覆盖该文件。
这些更改将被隔离,并且仅在事务上下文中可见。
- 加载-创建共享内存段并加载恶意可执行文件。
- 回滚-撤消对原始可执行文件的更改,有效地从文件系统中删除恶意代码。
- Animate-从受污染的内存段创建进程并启动执行。

缓解

这种类型的攻击技术无法轻易通过预防性控制缓解或修补,因为它基于对操作系统设计功能的滥用。例如,缓解特定的 API 调用可能会产生意想不到的副作用,例如阻止合法的进程加载机制正常运行。应该集中精力阻止攻击者工具在活动链中更早地运行,并识别后续的恶意行为。

虽然Process Doppelgänging 可用于规避特定类型的防御,识别可用于执行攻击者行动的潜在恶意软件,并在适当的情况下使用白名单审计和/或拦截它(如 AppLocker 的,[ 8] 或软件限制政策 。),这仍然是个好的实践。

检测

监视和分析对 CreateTranscation,CreateFileTransacted,RollbackTransaction 以及其他很少使用的标志 TxF 活动的函数的调用。ProcessDoppelgänging 还通过调用 NtCreateProcessEx 和 NtCreateThreadEx 以及用于修改另一个进程(如 WriteProcessMemory)内存的 API 调用来调用 Windows 进程加载器的过时和未记录的实现。

扫描在 PsSetCreateProcessNotifyRoutine 期间报告的文件对象,它会在创建或删除进程时触发回调,特别注意具有写访问权限的文件对象。 还要考虑将内存中加载的文件对象与磁盘上的相应文件进行比较。

分析进程行为以确定进程是否正在执行通常不执行的操作,例如打开网络连接,读取文件或可能与泄密后行为相关的其他可疑操作。

- 译者: 林妙倩、戴亦仑 . source:cve.scap.org.cn

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年4月15日01:51:50
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   ATT&CK -https://cn-sec.com/archives/2657963.html

发表评论

匿名网友 填写信息