strikoder/gtfobinSUID

GitHub: strikoder/gtfobinSUID

一款Python脚本,用于自动化检查SUID/SGID二进制文件是否存在于GTFOBins数据库中,以识别潜在的提权漏洞。

Stars: 30 | Forks: 2

banner # gtfobinSUID V1.3 **由 [strikoder](https://www.youtube.com/@strikoder) 开发** `gtfobinSUID` 是一款轻量级的 Python 工具,用于自动化 SUID/SGID 二进制文件枚举。它会将发现的二进制文件与 [GTFOBins](https://gtfobins.github.io) 数据库进行比对,并支持在线和离线两种模式。 在离线模式下,它使用一个本地数据库文件 (db.txt),该文件可以通过抓取 GTFOBins 的最新条目进行自动更新。 ## 🎥 演示 ![gtfobinSUID 演示](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/2cad2a5c59074934.gif) ## 🔹 功能特性 - 支持 Linux、macOS 和 Windows - 能处理带版本号的二进制文件名(如 python3、perl5.42 等) - 可按需打印用于在 Linux 系统上枚举 SUID/GUID 的命令 - 极简设计,除 `requests` 外无其他依赖(*在 Kali Linux 上通常已预装*) - 当某些二进制文件(如 pkexec 和 sudo)启用了 SUID 时,会显示可能存在漏洞的提示 - 检查二进制文件在 GTFOBins 上是否存在 **SUID** 或 **Limited SUID** 条目,并在处理过程中打印 `[FOUND]`、`[FOUND - Limited SUID]` 或 `[NOT FOUND]` ## 标志位 - **--online(默认)**:直接从 GTFOBins 获取实时数据 - **--update-db**:自动拉取所有 GTFOBins 的 SUID 和 Limited SUID 条目 - **--offline(无网络时自动切换)**:在无网络环境下使用本地 `db.txt` ## 安装说明 选择您偏好的安装方法: ### 方法一:使用 pipx 使用 pipx 在独立环境中安装: ``` pipx install gtfobinsuid ``` ### 方法二:使用 pip 全局或在虚拟环境中安装: ``` pip3 install gtfobinsuid ``` ### 方法三:从源码安装 克隆仓库并安装依赖: ``` git clone https://github.com/strikoder/gtfobinSUID.git cd gtfobinsuid pip install requests ``` ### 方法四:独立脚本 下载并直接运行,无需安装: **使用 wget:** ``` wget -q -O gtfobinsuid.py "https://raw.githubusercontent.com/strikoder/gtfobinSUID/main/gtfobinsuid.py" chmod +x gtfobinsuid.py ./gtfobinsuid.py ``` **使用 curl:** ``` curl -sL -o gtfobinsuid.py "https://raw.githubusercontent.com/strikoder/gtfobinSUID/main/gtfobinsuid.py" chmod +x gtfobinsuid.py ./gtfobinsuid.py ``` ## 使用说明 ### 1. 基本用法 直接粘贴您的 SUID/SGID 枚举输出: ``` python3 gtfobinsuid.py ``` 然后粘贴类似如下的内容: ``` /usr/bin/find /usr/bin/passwd /usr/bin/sudo /bin/mount ``` 按下 **Ctrl+d** (Linux/macOS) 或 **Ctrl+z + Enter** (Windows) 结束输入。 您将立即看到输出: ``` [FOUND] find -> https://gtfobins.github.io/gtfobins/find/ [NOT FOUND] sudo [!] HINT: 'sudo' with SUID might indicate CVE exploits or misconfigurations (check Baron Samedit & version vulnerabilities) [NOT FOUND] mount ``` ### 2. 强制在线或离线模式 - 仅强制使用在线模式: `python3 gtfobinsuid.py --online` - 强制使用离线模式(需要 `db.txt` 文件): `python3 gtfobinsuid.py --offline` ### 3. 更新本地数据库 您可以从 GTFOBins 自动刷新 `db.txt`: ``` python3 gtfobinsuid.py --update-db ``` 这将会: - 直接从 GTFOBins 网站抓取所有 SUID 和 Limited SUID 二进制文件 - 保存到 `db.txt` - 打印找到的条目数量 示例输出: ``` [*] Fetching GTFOBins lists... [+] Database updated successfully: db.txt 195 SUID entries 64 Limited SUID entries ``` ## 工作原理 1. 从您粘贴的枚举结果中提取二进制文件的基本名称。 例如:`/usr/bin/sudo` → `sudo` 2. 检查每个二进制文件: - 如果处于在线模式:查询该二进制文件在 GTFOBins 的页面。 - 如果处于离线模式:在 `db.txt` 中查找该名称。 3. 为每个二进制文件立即打印结果。 ## 🧑‍💻 作者 **Strikoder** 渗透测试工程师 & 前 AI 工程师
标签:GTFOBins, GTFOBins集成, SEO词:SUID检查, SUID/SGID枚举, 二进制利用, 功能关键词:枚举, 协议分析, 反取证, 在线模式, 字符串匹配, 安全, 安全评估, 技术栈:Python, 数据库更新, 权限提升, 权限提升工具, 枚举工具, 漏洞检查, 离线模式, 系统信息发现, 脚本工具, 请求库, 超时处理, 逆向工具