跳转到帖子
  • 游客您好,欢迎来到黑客世界论坛!您可以在这里进行注册。

    赤队小组-代号1949(原CHT攻防小组)在这个瞬息万变的网络时代,我们保持初心,创造最好的社区来共同交流网络技术。您可以在论坛获取黑客攻防技巧与知识,您也可以加入我们的Telegram交流群 共同实时探讨交流。论坛禁止各种广告,请注册用户查看我们的使用与隐私策略,谢谢您的配合。小组成员可以获取论坛隐藏内容!

    TheHackerWorld官方

渗透技巧—— RID劫持Windows账号


Anonymous

推荐的帖子

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,如下图所示

2-1.png

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的十六进制表示)

注:

你需要系统许可才能阅读。

例如

3-1.png

帐户A的注册表默认值是0x3e9。

注:

帐户是普通的用户权限。

详细信息的注册表位置是HKEY _本地_机器\萨姆\萨姆\域\帐户\用户\ 00003E9。

详情如下

3-2.png

F键的内容如下

3-3.png

偏移位置0x30f和0x31f对应于RID

因为是litte-endian字节存储,所以从上图的F键得到的RID值是0x03E9,换算成十进制的1001。

使用帐户A登录并执行whoami /all以获取帐户A的SID,如下图所示

3-4.png

相同内容

测试1: 伪造成内置管理员帐户ADMINISTRATOR

将账号A的RID改为500(固定值,表示windows系统内置管理员),对应的十六进制值为01F4,如下图所示

3-5.png

注:

帐户需要再次登录才能生效。

登录帐户A,帐户A继承了管理员的权限,成为管理员。

登录用户名为:原用户名和机器名,如下图所示

3-6.png

用户文件夹也会发生变化,如下图所示。

3-7.png

直观理解:

账号a变成了新账号a.WIN-BH7SVRRDGVA,继承了管理员的权限。

测试2: 伪造成管理员帐户1

创建一个RID为1000(0x03e8)的新管理员帐户1,如下图所示

4-1.png

将帐户A的RID修改为1000(0x03e8)

修改后,如下图所示

4-2.png

再次登录帐户a。

帐户A继承了帐户1的权限,成为管理员。

登录用户名改为1,whoami /all输出的用户名为A,但RID为1000 (RID为account 1),如下图所示

4-3.png

环境变量对应于用户1,如下图所示

4-4.png

直观理解:

账号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劫持的实现方法,分析了利用条件,并给出了防御建议。

留下回复

链接帖子
意见的链接
分享到其他网站

黑客攻防讨论组

黑客攻防讨论组

    You don't have permission to chat.
    • 最近浏览   0位会员

      • 没有会员查看此页面。
    ×
    ×
    • 创建新的...