本文阅读大约需要3分钟;
在叙述这个情报之前,我先简介一下我理解的“持久性”。持久性技术是红队较为高阶的技能,它追求的是“隐”和“藏”的完美结合,将恶意活动隐藏于无形之中。
-
“隐”:持久性技术需要隐藏恶意代码的踪迹,避免被安全软件或管理员发现。这需要攻击者对系统底层机制有深入的了解,才能找到隐藏恶意代码的最佳位置,例如系统内核、引导扇区、注册表等。
-
“藏”:持久性技术还需要隐藏攻击者的意图,避免引起目标系统的警觉。这需要攻击者对目标系统的业务流程和安全策略有深入的了解,才能将恶意活动伪装成正常的操作,例如将恶意代码嵌入到正常的系统服务中。
从红队攻击的角度看,持久性技术是我们长期控制目标系统的关键手段。
常见的持久性技术:
-
启动项修改:修改操作系统的启动项,让恶意软件在系统启动时自动加载,这是最 classic 的持久性技术之一。
例如,在 Windows 系统中,可以修改注册表
HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentV
-
计划任务:创建计划任务,定时执行恶意代码,例如每天凌晨连接到 C2 服务器,下载最新的指令。例如,在 Windows 系统中,可以使用 schtasks 命令创建计划任务,在 Linux 系统中,可以使用 cron 来实现。
-
系统文件替换:将系统中的合法文件替换为恶意文件,例如替换 DLL 文件、驱动程序等,从而在系统运行时加载恶意代码。这需要攻击者对系统底层机制有深入的了解,才能找到合适的替换目标。
-
后门程序:安装后门程序,允许攻击者绕过正常的身份验证机制,秘密访问目标系统。后门程序可以隐藏在系统中,难以被发现和清除。
-
Rootkit: Rootkit 是一种高级的持久性技术,它可以修改操作系统的内核,隐藏进程、文件、网络连接等信息,使恶意软件难以被检测到。
-
Bootkit: Bootkit 是一种感染系统引导扇区的恶意软件,它可以在操作系统启动之前运行,从而绕过操作系统的安全机制,并加载其他恶意软件。这是最难清除的持久性技术之一。
-
WebShell: 在Web服务器上安装 WebShell,它允许攻击者通过Web浏览器远程访问和控制服务器。WebShell 通常被伪装成正常的网页文件,难以被发现。
红队视角下的持久性技术:
-
目标导向: 选择合适的持久性技术取决于攻击目标和目标系统的环境。例如,如果攻击目标是窃取敏感数据,可以使用计划任务定时窃取数据并发送到攻击者的服务器;如果攻击目标是控制服务器,可以使用后门程序或 rootkit 来维持访问权限。
-
规避检测: 持久性技术需要尽可能地规避安全软件和管理员的检测。例如,可以使用代码混淆技术、加密技术、进程注入等方法来隐藏恶意代码。
-
灵活多变: 攻击者会根据实际情况,灵活地组合使用多种持久性技术,以提高攻击的成功率和隐蔽性。
今天在国外某社区论坛上发现了一种新的持久性方法。此方法涉及劫持 Windows 组件对象模型 (COM) 系统中的TypeLib 库,特别针对 explorer.exe 等进程,以实现隐秘、持久的代码执行。
注册表项、计划任务和自动运行文件夹等传统的持久性技术是众所周知的,并且受到密切监控。然而,正如 Zhmailo解释的那样,“这些方法对于防御者来说是众所周知的,这使得它们很容易被发现”。由于需要一种更难以捉摸的方法,他将注意力转向了COM系统——Windows的一个长期存在且经常被误解的组件。
该技术的关键在于TypeLib的使用,其中包含有关COM类和接口的基本信息。神奇的事情发生在LoadTypeLib()函数上,它通常从注册表中的指定路径加载 TypeLib 库。然而,正如 Zhmailo 发现的那样,“如果 explorer.exe 调用 LoadTypeLib() 函数,并且我们劫持了名字对象所需的注册表项,则名字对象将在 explorer.exe 内实例化,并且其代码将被执行”。这一发现使得代码能够在 explorer.exe中执行explorer.exe是一个随操作系统自动启动的进程,提供了不间断的持久性。
为了帮助找到可利用的TypeLib,Zhmailo的团队创建了一个名为TypeLibWalker的工具,它可以自动检测易受攻击的注册表项。正如报告中指出的,该工具“允许您自动执行检测可能被劫持的潜在易受攻击的注册表项的过程”。有了它,攻击者可以识别可被覆盖的 TypeLib 路径,从而实现隐秘的持久性,而无需手动监视注册表更改。
TypeLibWalker的工具下载地址:
https://github.com/CICADA8-Research/TypeLibWalker
如果您觉得文章对您有所帮助,还请您关注我!
原文始发于微信公众号(再说安全):2024新的持久性技术:使用 Explorer.exe 进行 TypeLib 劫持
- 左青龙
- 微信扫一扫
- 右白虎
- 微信扫一扫
评论