AhnLab 安全情报中心(ASEC)发现 Andariel 攻击组织在入侵过程中使用恶意文件执行 RID 劫持攻击。
RID 劫持是一种攻击技术,涉及修改具有受限权限的帐户(例如普通用户或访客帐户)的相对标识符 (RID) 值,以匹配具有更高权限的帐户(例如管理员)的 RID 值。在韩国互联网和安全局 (KISA) 的公开帖子“TTPs #11:章鱼行动 - 针对集中式管理解决方案的攻击策略分析”中,提到 Andariel 威胁组织在操作系统内创建后门帐户时使用了 RID 劫持技术。RID 劫持攻击很难在基于行为的检测系统中检测到,因为它们涉及创建隐藏帐户并修改该帐户的 RID 值。
本博客将介绍 RID 劫持攻击过程以及违规事件中所使用的技术。
1. RID劫持的概念
RID 劫持是一种攻击技术,涉及修改具有较低权限的帐户(例如普通用户或来宾帐户)的 RID 值,以匹配具有较高权限(管理员)的帐户的 RID 值。通过修改 RID 值,威胁行为者可以欺骗系统将该帐户视为具有管理员权限。威胁行为者可以使用各种类型的帐户执行 RID 劫持,包括:
-
使用系统中现有的常规用户帐户
-
激活访客帐户
-
创建新帐户
RID 劫持通常通过操纵安全帐户管理器 (SAM) 数据库来执行。威胁行为者可以创建管理员帐户或提升权限以获得管理员访问权限,而无需知道密码。
2. RID劫持攻击流程
以下是在违规事件案例中发现的 RID 劫持攻击的各个阶段。
图 1. RID 劫持攻击的过程
2.1 SYSTEM 权限提升
SAM 注册表管理 Windows 中的身份验证和授权并存储用户帐户信息。常规管理员权限无法访问它,需要 SYSTEM 权限才能访问和修改。
威胁行为者使用 PsExec 和 JuicyPotato 等提权工具在受感染系统上获取 SYSTEM 权限。在本案例中,威胁行为者使用 PsExec 通过远程命令执行恶意文件,而恶意文件以 SYSTEM 权限运行。
图 2. 使用 PsExec 命令(SYSTEM)时的文件权限示例
2.2 创建本地用户帐户
威胁行为者要么使用系统中现有的用户帐户,要么创建新帐户。在本例中,威胁行为者创建了一个帐户来执行 RID 劫持攻击。
威胁行为者使用“net user”命令创建了一个帐户。在创建帐户时,如果在帐户名称末尾添加 $,则该帐户将具有隐藏属性。在这种情况下,无法使用“net user”命令识别该帐户,只能在 SAM 注册表中识别。
图3. 检查账户创建结果(net user,registry)
然后,威胁行为者使用“net localgroup”命令将创建的帐户添加到远程桌面用户组和管理员组。将帐户添加到远程桌面用户组后,即可使用 RDP 访问该帐户。
2.3 通过修改注册表值来更改 RID
在 RID 劫持攻击中,威胁行为者会修改 SAM 注册表中帐户的 RID 值,以便 Windows 操作系统将其识别为已更改的 RID。因此,威胁行为者会修改 SAM 注册表中的值以更改 RID 值。
在 Windows 操作系统中,与用户帐户相关的注册表项存储在路径“HKEY_LOCAL_MACHINE SAMSAMDomainsAccountUsers”中。用户帐户的 RID 以小端格式写入每个帐户项下“F”值的 0x30 – 0x33 区域中的 4 个字节。威胁行为者将此偏移处的值更改为劫持目标的 RID。
图 5. 恶意软件内部更改 RID 的功能
一旦 RID 值发生更改,Windows 操作系统就会识别威胁行为者创建的帐户具有与目标帐户相同的权限,从而实现权限提升。
3. 威胁行为者使用的恶意文件
Andariel 威胁组织利用自己编写的恶意文件和开源工具实施 RID 劫持攻击,两个恶意文件均包含 RID 劫持攻击流程中描述的攻击过程,但部分特征存在差异。
表 1. 执行 RID 劫持攻击的恶意文件比较
3.1 修改SAM注册表访问权限
RID劫持需要SYSTEM权限,因为需要访问SAM注册表项。Andariel威胁组织开发的样本如果没有系统权限则无法正常运行。开源工具CreateHiddenAccount即使拥有管理员权限也可以执行所有功能。分析该工具的运行过程发现,它使用了Windows默认程序regini来授予权限。
图6. 使用regini.exe以管理员权限访问注册表
regini 是微软提供的 CLI 工具,可以通过文本文件编辑 Windows 注册表。通过在文本文件中指定注册表项路径和权限,可以执行创建、修改、删除和更改注册表项权限等行为。CreateHiddenAccount 中标识的 ini 文件修改了 RID Hijacking 攻击所需的 SAM 注册表访问权限。在本例中,默认权限 (System) 17 与选项 1 (Administrator) 一起添加到 SAM 注册表路径中,从而允许使用管理员权限修改 SAM 注册表项。
图 7. ini 文件内容示例
3.2 添加注册表的行为
除了创建账户名带有‘$’的隐藏账户外,Andariel 攻击组织使用的恶意文件还执行了其他行为以最大程度地降低暴露风险。在完成 RID Hijacking 后,使用‘reg export’命令提取与账户相关的注册表项。
表2. 提取账户相关注册表项的行为和命令
之后,威胁行为者删除其帐户并使用之前提取的 REG 文件再次添加注册表项。通过此过程,该帐户将不会出现在检查系统中帐户列表的命令和工具中。但是,与其他方法不同,如果重新启动系统,计算机管理中的“本地用户和组”将能够再次搜索该帐户,从而可以检查帐户状态。
使用上述方法创建的账户无法完全隐藏。然而,威胁行为者的行为可以被解读为有意将账户暴露降至最低,并保持持久性。
表3 重启前后查看账号列表方式及是否可以查看账号对比
原文始发于微信公众号(Ots安全):Andariel Attack Group使用的RIF劫持技术
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论