DACL
DACL揭DACL 揭露了域内对象与对象之间的权限关系,可以是用户对用户的,用户对主机的,主机对主机的,等等诸如此类。例如,用户A对组B具 John 对用户 app_security 具有GenericWrite的 GenericWrite 的权限,那么用户A可 John 可以更改组B的成员。DACL无为其设置一个 SPN。DACL 无疑是域内最值得我们关注的信息利用之一,因为它与我们的利用息息相关。
对于DACL的 DACL 的枚举,最直观的就是使用SharpHound进 SharpHound 进行枚举信息搜集然后使用BloodHound进 BloodHound 进行查看,虽然SharpHound在枚举 BloodHound 有的时候,因为请求过多可能引起防御方的警惕。也会遗漏一些 DACL。
除此之外,我们也可以组合 PowerView中的命令,查看某个用户的DACL,以及我们当前用户对其他用户的DACL:
枚举特定用户的DACL
指定目标用户,可以看到其他域对象作用于其的 DACL (对该用户具有 DACL 的对象以及权限)
我们可以看到,用户 john 对 app_security 具有 WriteProperty 权限。 枚举当前用户对其他用户的权限 Get-DomainUser | Get-ObjectAcl -ResolveGUIDs | Foreach-Object {$_ | Add-Member -NotePropertyName Identity -NotePropertyValue (ConvertFrom-SID $_.SecurityIdentifier.value) -Force; $_} | Foreach-Object {if ($_.Identity -eq $("$env:UserDomain\$env:Username")) {$_}} 枚举当前用户对其他组的权限 Get-DomainGroup | Get-ObjectAcl -ResolveGUIDs | Foreach-Object {$_ | Add-Member -NotePropertyName Identity -NotePropertyValue (ConvertFrom-SID $_.SecurityIdentifier.value) -Force; $_} | Foreach-Object {if ($_.Identity -eq $("$env:UserDomain\$env:Username")) {$_}}Get-ObjectAcl -Identity
offsec<用户名> -ResolveGUIDs | Foreach-Object {$_ | Add-Member -NotePropertyName Identity -NotePropertyValue (ConvertFrom-SID $_.SecurityIdentifier.value) -Force; $_} | Select Identity,AceType,ObjectCN,ActiveDirectorys | findstr '\'