Anonymous 发布于2022年11月8日 分享 发布于2022年11月8日 0x00 前言 在之前的文章《渗透技巧——Windows系统的帐户隐藏》中,介绍了利用账号克隆建立隐藏账号的技巧。通过复制与目标帐户对应的注册表项F的值,隐藏帐户获得了相同的权限。 如果我们换个思路,用目标账号的key F的一些内容覆盖现有账号,现有账号能获得目标账号的权限吗? 这就是本文将要介绍的3354 ridhijacking方法。 注: 该方法于2017年12月首次发布,地址如下: http://csl.com.co/rid-hijacking/ 0x01 简介 本文将介绍以下内容: RID劫持方法 写剧本的实现思路 利用率分析 防御探测 0x02 相关概念 SID 安全标识符(全称)是一种可变长度的结构,Windows系统使用它来唯一地标识用户或组。 官方地址: https://msdn . Microsoft . com/en-us//库/windows/桌面/aa379594(v=vs.85)。aspx SID包含以下信息: SID结构的修订级别 48位标识符权限值 相对标识符 实例 Windows命令行执行whoami /all获取当前用户的SID,如下图所示 SID:S-1-5-21-2752016420-1571072424-526487797-1001 s表示该字符串是SID。 1表示SID的版本号。 5-21-2752016420-1571072424-526487797相应的ID权限 001代表RID RID Windows系统帐户对应于固定RID: 500:管理员 501:客人 502: krbtgt(域环境) 512:域管理员(域环境) 513:域用户(域环境) 514:域来宾(域环境) 515:域计算机(域环境) 516:域控制器(域环境) 0x03 RID劫持方法 对于Windows系统,注册表HKEY _本地_机器\山姆\山姆\域\帐户\用户\名称包含当前系统的所有帐户的列表,每个帐户的默认键值对应于帐户详细信息的注册表位置(即RID的十六进制表示) 注: 你需要系统许可才能阅读。 例如 帐户A的注册表默认值是0x3e9。 注: 帐户是普通的用户权限。 详细信息的注册表位置是HKEY _本地_机器\萨姆\萨姆\域\帐户\用户\ 00003E9。 详情如下 F键的内容如下 偏移位置0x30f和0x31f对应于RID 因为是litte-endian字节存储,所以从上图的F键得到的RID值是0x03E9,换算成十进制的1001。 使用帐户A登录并执行whoami /all以获取帐户A的SID,如下图所示 相同内容 测试1: 伪造成内置管理员帐户ADMINISTRATOR 将账号A的RID改为500(固定值,表示windows系统内置管理员),对应的十六进制值为01F4,如下图所示 注: 帐户需要再次登录才能生效。 登录帐户A,帐户A继承了管理员的权限,成为管理员。 登录用户名为:原用户名和机器名,如下图所示 用户文件夹也会发生变化,如下图所示。 直观理解: 账号a变成了新账号a.WIN-BH7SVRRDGVA,继承了管理员的权限。 测试2: 伪造成管理员帐户1 创建一个RID为1000(0x03e8)的新管理员帐户1,如下图所示 将帐户A的RID修改为1000(0x03e8) 修改后,如下图所示 再次登录帐户a。 帐户A继承了帐户1的权限,成为管理员。 登录用户名改为1,whoami /all输出的用户名为A,但RID为1000 (RID为account 1),如下图所示 环境变量对应于用户1,如下图所示 直观理解: 账号A变成了原来的账号1,继承了1的权限,但是在一些功能的显示上保留了账号A。 0x04 编写脚本的实现思路 实现思路 获取系统权限 读取指定帐户的注册表信息。 修改固定偏移地址并将其指定为新的RID。 导入注册表并完成修改。 实施细节请参考《渗透技巧——Windows系统的帐户隐藏》中的描述。 参考代码: https://github.com/3gstudent/Windows-User-Clone 因为功能比较简单,所以实现代码留给读者。 msf对应的实现模块:windows/manage/rid _ jack 0x05 利用分析 对于RID劫持,实现原理很简单:定位帐户的注册表文件,修改代表RID信息的位置即可。 但是,有以下d 环境变量被修改,影响正常使用。 用户名的显示有问题,很容易被发现。 模拟管理员权限会创建一个新的用户文件夹。 利用场景 启用account guest,修改RID,登录account guest,获得高权限。 修改低权限用户的RID,登录获得高权限。 0x06 防御检测 从防御的角度来说,攻击者首先需要获得当前系统的系统权限。 测试思路: 检查注册表HKEY _本地_机器\ Sam \ Sam \ domains \ account \中的信息是否有任何异常。 客人账户开了吗? 0x07 小结 介绍了RID劫持的实现方法,分析了利用条件,并给出了防御建议。 留下回复 链接帖子 意见的链接 分享到其他网站 更多分享选项…
推荐的帖子