Ruby570bocadito/peekaboo

GitHub: Ruby570bocadito/peekaboo

peekaboo 是一个自动化Linux权限提升工具,通过扫描系统配置错误并利用GTFOBins数据库来获取root权限。

Stars: 0 | Forks: 0

header

Linux 权限提升自动利用工具
单一二进制文件。零依赖。自动提权。

Go Status License Size Zero Dependencies

downloads

## 🎯 什么是peekaboo? **peekaboo** 是一个自动化的Linux权限提升工具,它扫描目标系统,识别配置错误,并**自动利用这些错误**来获取root权限。 它的工作流程分为 **3个阶段**:扫描 → 枚举 → 利用。无网络调用。无依赖。只需放置二进制文件并运行即可。 ``` ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ SCAN │───▶│ ENUMERATE │───▶│ EXPLOIT │ │ (read-only)│ │ GTFOBins DB │ │ Auto-root │ └─────────────┘ └─────────────┘ └─────────────┘ 10+ vectors 60+ bins safe→danger ``` 专为 **CTF竞赛**、**渗透测试任务** 和 **红队行动** 而构建。 ## ⚡ 功能特性 | 攻击向量 | 检测能力 | 利用方式 | |--------|-----------|--------------| | **SUID二进制文件** | 扫描10+个目录的SUID位 | 为60+个二进制文件提供GTFOBins命令 | | **Sudo配置错误** | 解析 `sudo -l` 输出 | NOPASSWD + GTFOBins 自动利用 | | **可写Cron** | 检查cron目录及相关脚本 | 反向shell注入 | | **Docker逃逸** | 检测docker组成员资格 | `docker run -v /:/mnt` 逃逸 | | **Capabilities** | 读取 `/proc/self/status` | cap_setuid 利用 | | **NFS no_root_squash** | 解析 `/etc/exports` | 挂载并以root身份获取文件 | | **可写PATH** | 检查PATH目录 | 二进制文件植入检测 | | **Systemd服务** | 扫描 `/etc/systemd/system` | 服务劫持 | | **/etc/passwd** | 权限检查 | 追加root用户 | | **/etc/shadow** | 权限检查 | 破解或覆盖哈希值 | ## 🚀 快速开始 ### 安装 ``` # 克隆 git clone https://github.com/Ruby570bocadito/peekaboo.git cd peekaboo # 构建(需要 Go 1.26+) go build -o peekaboo . # 或从发布页面下载预构建二进制文件 ``` ### 使用 ``` # 仅扫描(安全,只读) ./peekaboo # 自动利用发现的向量 ./peekaboo --exploit # 带风险限制的自动利用 ./peekaboo --exploit --risk=medium # 仅特定向量 ./peekaboo --vector=suid,sudo # 用于自动化的 JSON 输出 ./peekaboo --json # 安静模式(退出代码:0=成功,1=失败) ./peekaboo --quiet ``` ## 🎬 演示 ### 扫描阶段 ``` ╔══════════════════════════════════════════╗ ║ peekaboo — Linux PrivEsc AutoPwn ║ ║ ruby570bocadito (c) 2026 ║ ╚══════════════════════════════════════════╝ UID: testuser PID: 1337 Host: target [1/3] Scanning system... [!] SUID → SUID binary: python3.10 (GTFOBins: true) (/usr/bin/python3.10) [.] SUID → SUID binary: find (GTFOBins: true) (/usr/bin/find) [!] SUDO → NOPASSWD sudo: /usr/bin/find → find (/usr/bin/find) [!] CRON → Writable cron job — inject command (/etc/cron.d/backup) [!] FILE → Writable /etc/passwd — inject root user (/etc/passwd) [!] FILE → Readable /etc/shadow — crack root hash (/etc/shadow) [!] NFS → NFS export with no_root_squash (/shared *(rw,no_root_squash)) [2/3] Enumerating vectors... ── Findings ── [!] SUID → SUID binary: python3.10 (GTFOBins: true) (/usr/bin/python3.10) [!] SUDO → NOPASSWD sudo: /usr/bin/find → find (/usr/bin/find) [!] CRON → Writable cron job — inject command (/etc/cron.d/backup) [!] FILE → Writable /etc/passwd — inject root user (/etc/passwd) [3/3] Exploiting... (max risk: MEDIUM) [try] SUID python3.10 [!] ROOT OBTAINED Vector: SUID python3.10 [+] Root shell starting... ``` ### 所有命令 ``` ./peekaboo # Enum only (no exploit) ./peekaboo --exploit # Auto-exploit safe vectors first ./peekaboo --exploit --risk=safe # Only SAFE risks ./peekaboo --exploit --risk=danger # Everything (including dangerous) ./peekaboo --vector=suid,sudo,cron # Specific vectors only ./peekaboo --exploit --one-shot # Stop after first success ./peekaboo --json # Machine-readable output ./peekaboo --quiet # Exit code only (0=root, 1=fail) ./peekaboo --rooteame ./rooteame.ko # Load rootkit on success ./peekaboo --stealth # Slow scan (evade IDS) ``` ## 🏗️ 架构 ### 引擎流程 ``` ┌─────────────────────────────────────────────────────────────┐ │ peekaboo │ ├─────────────────────────────────────────────────────────────┤ │ main.go CLI flags + orchestration │ │ universe.go Types, risk levels, output formatting │ │ scanner.go FASE 1 — passive discovery (10+ checkers) │ │ enumerate.go FASE 2 — findings → exploit vectors │ │ exploit.go FASE 3 — execute vectors (safe→danger) │ │ gtfobins.go Offline GTFOBins database (~60 binaries) │ └─────────────────────────────────────────────────────────────┘ ``` ### 基于风险的执行顺序 ``` SAFE ──▶ LOW ──▶ MEDIUM ──▶ HIGH ──▶ DANGER │ │ │ │ │ │ │ │ │ └─ shadow overwrite │ │ │ └─ passwd injection, cron inject │ │ └─ cap_sys_ptrace │ └─ find SUID, awk sudo └─ python SUID spawn shell ``` ### 文件结构 ``` peekaboo/ ├── main.go CLI entry point + orchestration ├── scanner.go 10 vulnerability scanners ├── enumerate.go Findings → exploit vectors ├── exploit.go Exploitation engine ├── gtfobins.go Embedded GTFOBins database ├── universe.go Types, constants, formatting ├── peekaboo_test.go Unit tests (9 tests) │ ├── docker/ │ ├── Dockerfile.vulnerable Target with 10 deliberate flaws │ ├── Dockerfile.clean Secure baseline system │ ├── Dockerfile.edgecases Edge case scenarios │ ├── docker-compose.yml Test network │ └── test_runner.sh Automated test runner │ ├── brain/ Development documentation │ └── SESSION_*.md │ └── README.md ``` ## 🧪 Docker 测试 ``` # 构建所有测试镜像 cd docker docker compose build # 启动测试网络(易受攻击 + 干净 + 边界情况) docker compose up -d # 在易受攻击的目标上运行 peekaboo docker exec peekaboo-vulnerable peekaboo --exploit # 在干净系统上运行(应发现最少的向量) docker exec peekaboo-clean peekaboo # 运行边界情况场景 docker exec peekaboo-edgecases peekaboo --vector=sudo # 运行完整测试套件 ./test_runner.sh ``` ## 📊 风险等级 | 等级 | 示例 | 自动利用? | 文件系统更改? | |-------|----------|---------------|---------------------| | **安全** | python SUID → shell | ✅ 是 | 否 | | **低** | find SUID, awk sudo | ✅ 是 | 轻微 | | **中** | cap_sys_ptrace | ⚠️ 可选 | 可能触发警报 | | **高** | passwd注入, cron注入, docker逃逸 | ⚠️ 可选 | 是 | | **危险** | shadow覆盖, 内核漏洞利用 | ❌ 仅手动 | 是,可能导致崩溃 | ## 📦 GTFOBins 数据库 **60+个二进制文件** 附带利用命令,**嵌入在二进制文件中**。运行时无网络调用。适用于隔离环境。
点击查看所有支持的二进制文件 **Shell二进制文件 (SUID):** python, python2, python3, python3.8-3.13, perl, perl5, php, php5-8.2, ruby, ruby2-3, lua, lua5.3-5.4, node, nodejs, bash, dash, zsh, ksh, fish, sh **Sudo二进制文件:** find, vim, vi, less, more, man, awk, gawk, nawk, sed, gdb, nmap, tcpdump, tar, zip, unzip, rsync, scp, socat, env, nice, timeout, stdbuf, watch, make, pip, pip3, npm, gem, git, ssh, docker, lxc, apache2, cpan, ed, ex, ftp, wall, systemctl, journalctl, mysql, psql, sqlite3
## 🗺️ 路线图 - [ ] 内核CVE检测模块 (Dirty Pipe, PwnKit 等) - [ ] 从官方仓库自动更新GTFOBins - [ ] SSH密钥检测和凭据扫描 - [ ] `--lhost`/`--lport` 参数用于反向shell载荷 - [ ] 带等级的结构化日志记录 (DEBUG, INFO, WARN, ERROR) - [ ] CSV/HTML报告导出 - [ ] `--dry-run` 模式 (预测但不执行) - [ ] 信号处理 (Ctrl+C 清理) - [ ] Windows权限提升支持 - [ ] 与C2框架集成 (BTY) ## ⚠️ 免责声明 本工具仅设计用于**授权的安全测试**、**CTF竞赛**和**教育目的**。 - 仅可在你拥有或获得明确书面授权进行测试的系统上使用 - 滥用可能违反当地及国际法律 - 作者不对本工具造成的任何滥用或损害负责

Ruby570bocadito 用心构建 ❤️

标签:CTF工具, EVTX分析, Go语言, GTFOBins, root访问, Web报告查看器, 二进制分析, 云安全运维, 协议分析, 单文件, 子域名枚举, 数据展示, 日志审计, 权限提升, 漏洞搜索, 程序破解, 系统安全, 红队, 自动利用, 请求拦截, 错误配置利用, 零依赖