文章目录
Adfind是一款在域环境下非常强大的信息搜集工具,支持在域环境下多种信息的查询以及筛选,是内网渗透中的一款利器。
下载地址,该地址下载工具不需要压缩包密码
Adfind下载
https://github.com/mai-lang-chai/AD-Penetration-Testing-Tools/blob/master/AdFind.zip
使用
adfind 工具使用的结构如下:其中 switches 是连接参数,-b 是指定要查询的根节点 basedn,-f 是指定过滤的条件,attr 是指定要显示的属性。
AdFind.exe [switches] [-b basedn] [-f filter] [attr list]
[switches]
该选项是连接参数,如果adfind在域内主机上运行,则无需该选项,如果是域外机器上执行,则需要指定域控和提供一个有效的域用户和密码
./Adfind.exe -h ip:端口 -u tmac\administrator -up admin@123 -sc dclist
#-h: ip及端口 (ip:端口)
#-u:提供用户名
#-up:提供密码
#-sc:查询域控列表
[-b basedn]
该选项指定要查询的根节点basedn
- 查询 dn dc=tmac,dc=com下的所有机器
Adfind -b dc=tmac,dc=com -f "objectcategory=computer" dn
- 查询 dn CN=Computers,DC=xie,DC=com 下的所有机器
Adfind.exe -b CN=Computers,DC=tmac,DC=com -f "objectcategory=computer" dn
[-f filter]
该选项指定查询的过滤条件,使用-f参数过滤不同的查询条件
- 查询域内所有机器
Adfind.exe -f "objectcategory=computer" dn
- 查询域内所有用户
AdFind.exe -f "(&(objectCategory=person)(objectClass=user))" dn
[attr list]
该选项用于指定查询出来的结果显示哪个属性。当不使用该参数时,会显示查询对象的所有属性
- 查询域内所有机器,显示所有机器的所有属性
Adfind.exe -f "objectcategory=computer"
- 查询域内所有机器,显示所有机器的dn属性
Adfind.exe -f "objectcategory=computer" dn
- 查询域内所有机器,显示所有机器的name属性
Adfind.exe -f "objectcategory=computer" name
查询域控
查询域控名称
AdFind.exe -sc dclist
查询域控版本
AdFind.exe -schema -s base objectversion
- 域控版本对应的数字
Windows 2000 Server operating system: 13
Windows Server 2003 operating system: 30
Windows Server 2003 R2 operating system: 31
Windows Server 2008 operating system (AD DS): 44
Windows Server 2008 R2 operating system (AD DS): 47
Windows Server 2012 operating system (AD DS): 56
Windows Server 2012 R2 operating system (AD DS): 69
Windows Server 2016 operating system (AD DS): 87
Windows Server v1709 operating system (AD DS): 87
Windows Server v1803 operating system (AD DS): 88
Windows Server v1809 operating system (AD DS): 88
Windows Server 2019 operating system (AD DS): 88
Active Directory Application Mode (ADAM): 30
Windows Server 2008 (AD LDS): 30
Windows Server 2008 R2 (AD LDS): 31
Windows Server 2012 (AD LDS): 31
Windows Server 2012 R2 (AD LDS): 31
Windows Server 2016 (AD LDS): 31
Windows Server v1709 (AD LDS): 31
Windows Server v1803 (AD LDS): 31
Windows Server v1809 (AD LDS): 31
Windows Server 2019 (AD LDS): 31
委派相关
非约束委派
原理:
机器A(域控)访问具有非约束委派权限的机器B的服务,会把当前认证用户(域管用户)的的TGT放在ST票据中,一起发送给机器B,机器B会把TGT存储在lsass进程中以备下次重用。从而机器B就能使用这个TGT模拟认证用户(域管用户)访问服务。
利用场景
攻击者拿到了一台配置非约束委派的机器权限,可以诱导域管来访问该机器,然后得到管理员的TGT,从而模拟域管用户。
相关命令
- 查询域中配置非约束性委派的主机(机器账户)
AdFind.exe -b "DC=tmac,DC=com" -f "(&(samAccountType=805306369)(userAccoun tControl:1.2.840.113556.1.4.803:=524288))" -dn
- 查询域中配置非约束性委派的服务账户
AdFind.exe -b "DC=tmac,DC=com" -f "(&(samAccountType=805306368)(userAccoun tControl:1.2.840.113556.1.4.803:=524288))" -dn
约束性委派
原理:
由于非约束委派的不安全性,微软在windows server 2003中引入了约束委派,对Kerberos协议进行了拓展,引入了SService for User to Self (S4U2Self)和 Service for User to Proxy (S4U2proxy)。
利用场景:
如果攻击者控制了服务A的账号,并且服务A配置了到域控的CIFS服务的约束性委派。
则攻击者可以先使用S4u2seflt申请域管用户(administrator)访问A服务的ST1,然后使用S4u2Proxy以administrator身份访问域控的CIFS服务,即相当于控制了域控。
相关命令
- 查询域中配置了约束性委派的主机,并可以看到被委派的SPN
AdFind.exe -b "DC=tmac,DC=com" -f "(&(samAccountType=805306369)(msds-allow edtodelegateto=*))" msds-allowedtodelegateto
- 询域中配置了约束性委派的服务账户,并可以看到被委派的 SPN
AdFind.exe -b "DC=tmac,DC=com" -f "(&(samAccountType=805306368)(msds-allow edtodelegateto=*))" msds-allowedtodelegateto
基于资源的非约束性委派
原理:
基于资源的约束委派(RBCD)是在Windows Server 2012中新加入的功能,与传统的约束委派相比,它不再需要域管理员权限去设置相关属性。RBCD把设置委派的权限赋予了机器自身,既机器自己可以决定谁可以被委派来控制我。也就是说机器自身可以直接在自己账户上配置msDS-AllowedToActOnBehalfOfOtherIdentity属性来设置RBCD。
所以核心就是谁或什么权限能修改msDS-AllowedToActOnBehalfOfOtherIdentity
简单的讲,也就是如果攻击者能够在data的机器上设置msDS-AllowedToActOnBehalfOfOtherIdentity属性为ServiceA,
也就允许ServiceA利用s4u2self协议代表其他用户身份来访问data的话,那我们就可以做到横向移动及提权等操作。
利用
资源约束委派利用分类:
1、通过管理主机加入域的用户拿下主机
2、已知Acount Operators组用户拿下主机
3、结合HTLM Relay攻击拿下主机(CVE-2019-1040)
相关命令
- 查询域中配置基于资源的约束性委派主机
AdFind.exe -b "DC=tmac,DC=com" -f "(&(samAccountType=805306369)(msDS-Allo wedToActOnBehalfOfOtherIdentity=*))" msDS-AllowedToActOnBehalfOfOtherIdentit y
- 查询域中配置基于资源的约束性委派的服务账户
AdFind.exe -b "DC=tmac,DC=com" -f "(&(samAccountType=805306368)(msDS-Allo wedToActOnBehalfOfOtherIdentity=*))" msDS-AllowedToActOnBehalfOfOtherIdentit y
这位师傅写的更全面:https://blog.youkuaiyun.com/weixin_45910629/article/details/138755006