前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Windows RID劫持

Windows RID劫持

原创
作者头像
一只特立独行的兔先生
发布2024-02-18 11:06:41
2940
发布2024-02-18 11:06:41
举报
(1)在WIndows中直接添加一个账号或者组的风险较高,容易很快的就被反制出来,而在WIndows中我们可以不添加一个用户,而是给一个已有用户去赋予权限,比如给GUEST用户或者其他系统自带用户赋予Administration的权限,在Windows中每个用户和组都具有一个独特SID,而系统是通过SID来区分每个用户账户和组的,而RID是SID的一部分,我们使用whoami /user可以查看当前登录机器用户的SID,如图7-1所示,其中最后一部分为RID,我们可以看到1000就为我当前所使用用户的RID,而当我们新建一个组或用,那么都会递增一位,我们还可以使用wmic useraccount get name,sid来查询所有用户的SID,如图1-2所示。
图1-1使用whoami /user可以查看当前登录机器用户的SID
图1-1使用whoami /user可以查看当前登录机器用户的SID
图1-2 使用wmic useraccount get name,sid来查询所有用户的SID
图1-2 使用wmic useraccount get name,sid来查询所有用户的SID
(2)在这里除了HTT和Test这俩个用户其他都是系统自带用户,他们的RID是从500开始递增的,而RID为500的用户为Administrator,而我们自己创建的用户都是从1000开始递增的,而在Windows中每个用户的RID就是他们每个用户的标识,他们将这个保存在HKLM\SAM\SAM\Domains\Account\Nmae中(主意打开这个注册表需要System权限),如图1-3所示。
图1-3 保存用户
图1-3 保存用户
(3)比如我们查看HTT的内容,发现值为0x3e8,转换成10进制就是1000,如图1-4所示,也就是说每个用户名内所储存的值的10进制就是每个用户名所对应的RID,而在User下的其他子项储存了RID对应用户的详细记信息,0x3e9这个子项就保存了用户test的详细信息,而每个子项中所储存的F值中0x30f和0x31f处就储存着用户的的RID的副本如图1-5、1-6所示。
图1-4 0x3e8转换
图1-4 0x3e8转换
图1-5 0x30f和0x31f处就储存着用户的的RID的副本
图1-5 0x30f和0x31f处就储存着用户的的RID的副本
图1-6 0x30f和0x31f处就储存着用户的的RID的副本
图1-6 0x30f和0x31f处就储存着用户的的RID的副本
(4)我们将0030进行修改,改成0x03e8也就是1000,将test的RID改成HTT的RID
我们登录到test来查看是否劫持成功,如图1-7所示是RID劫持之前的test用户的权限,如图1-8所示是RID劫持之后的权限。
图1-7 RID劫持之前的test用户的权限
图1-7 RID劫持之前的test用户的权限
图1-8 RID劫持之后的权限
图1-8 RID劫持之后的权限
(5)发现test用户继承了HTT用户的权限,但是并没有全部继承,在部分地方我们依然显示的test用户,我们所在组依然是Users,如图1-9所示。
图1-9 显示继承的权限
图1-9 显示继承的权限

注意:(攻击之后记得将RID进行复原,否则会影响正常使用)

而在实战中 我们可以使用MSF所提供的windows/manage/rid_hijack模块来帮助我们进行RID劫持。

我正在参与2024腾讯技术创作特训营第五期有奖征文,快来和我瓜分大奖!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • (1)在WIndows中直接添加一个账号或者组的风险较高,容易很快的就被反制出来,而在WIndows中我们可以不添加一个用户,而是给一个已有用户去赋予权限,比如给GUEST用户或者其他系统自带用户赋予Administration的权限,在Windows中每个用户和组都具有一个独特SID,而系统是通过SID来区分每个用户账户和组的,而RID是SID的一部分,我们使用whoami /user可以查看当前登录机器用户的SID,如图7-1所示,其中最后一部分为RID,我们可以看到1000就为我当前所使用用户的RID,而当我们新建一个组或用,那么都会递增一位,我们还可以使用wmic useraccount get name,sid来查询所有用户的SID,如图1-2所示。
  • (2)在这里除了HTT和Test这俩个用户其他都是系统自带用户,他们的RID是从500开始递增的,而RID为500的用户为Administrator,而我们自己创建的用户都是从1000开始递增的,而在Windows中每个用户的RID就是他们每个用户的标识,他们将这个保存在HKLM\SAM\SAM\Domains\Account\Nmae中(主意打开这个注册表需要System权限),如图1-3所示。
  • (3)比如我们查看HTT的内容,发现值为0x3e8,转换成10进制就是1000,如图1-4所示,也就是说每个用户名内所储存的值的10进制就是每个用户名所对应的RID,而在User下的其他子项储存了RID对应用户的详细记信息,0x3e9这个子项就保存了用户test的详细信息,而每个子项中所储存的F值中0x30f和0x31f处就储存着用户的的RID的副本如图1-5、1-6所示。
  • (4)我们将0030进行修改,改成0x03e8也就是1000,将test的RID改成HTT的RID
  • 我们登录到test来查看是否劫持成功,如图1-7所示是RID劫持之前的test用户的权限,如图1-8所示是RID劫持之后的权限。
  • (5)发现test用户继承了HTT用户的权限,但是并没有全部继承,在部分地方我们依然显示的test用户,我们所在组依然是Users,如图1-9所示。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档