TH3xACE/SUDO_KILLER

GitHub: TH3xACE/SUDO_KILLER

一款专注于 Linux 环境下 sudo 相关配置缺陷与漏洞检测的权限提升辅助工具,提供利用建议但不自动执行攻击。

Stars: 2447 | Forks: 264

![Static Badge](https://img.shields.io/badge/Version-3.0.2-blue) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/TH3xACE/SUDO_KILLER/V3) ![Static Badge](https://img.shields.io/badge/Maintain-Yes-purple) ![Static Badge](https://img.shields.io/badge/Author-TH3xACE-red) [![License](https://img.shields.io/badge/License-MIT-blue.svg)](https://github.com/TH3xACE/SUDO_KILLER/)

logo

[![Twitter](https://img.shields.io/twitter/url/https/twitter.com/cloudposse.svg?style=social&label=%40TH3xACE)](https://twitter.com/th3xace) [![LinkedIn](https://img.shields.io/badge/-LinkedIn-black.svg?style=flat-square&logo=linkedin&colorB=blue)](https://www.linkedin.com/in/adblais) :bulb: 最佳浏览模式为 Dark Mode :) SUDO_KILLER 项目入围了 2023 年 SANS Difference Award 开源工具类别的决赛。

SANS-DMA

- [贡献](#contributing) - [Stargazers 趋势](#stargazers-over-time) - [支持](#support) - [致谢](#credits) - [免责声明](#disclaimer) - [许可证](#license) ## 简介 `SUDO_KILLER` 是一款面向网络安全从业者(渗透测试人员、安全审计员、系统管理员、CTF 选手和信息安全学生)的工具,旨在简化 Linux 环境下的权限提升过程。它专注于与 SUDO 使用相关的漏洞,包括 sudo 规则中的错误配置、基于版本的弱点(CVE 和其他漏洞)以及危险的二进制文件部署(GTFOBINS)。这些薄弱环节可以被利用来获取 ROOT 级别的权限或冒充其他用户。 `SUDO_KILLER` 提供了用于手动提权的潜在命令和本地漏洞利用目录。重要的是,它不进行自动化利用,而是要求用户根据其预期用途自行执行利用过程。 ## 检查项目 以下是 `SUDO_KILLER` 执行的检查列表 - 错误配置 - 危险的二进制文件 (GTFOBINS) - 存在漏洞的 sudo 版本 - CVEs - 与第三方应用相关的 sudo 漏洞和错误配置 - 危险的环境变量 - 凭据窃取 - 脚本所在目录的可写权限 - 可能被替换的二进制文件 - 识别丢失的脚本 - ... ## 用法 要开始使用 SUDO_KILLER,你可以进行 git clone 或下载 zip 压缩包。如果你想练习和/或测试它,这里提供了一个易受攻击的测试环境(使用 docker)。请参阅相关视频,其中概述了如何设置 docker 并运行 SUDO_KILLER。Docker 环境中可以设置多种场景,用于测试不同的错误配置或缺陷。或者,你可以在被审计的系统上运行它,以检查与 sudo 相关的错误配置和/或缺陷。 ``` ./SUDO_KILLERv.sh -c -a -e -r report.txt -p /tmp ``` 可选参数:
-c : 包括 CVE 检查
-a : 包括与第三方应用/设备相关的 CVE
-i : 从 extract.sh 导入(离线模式)
-e : 包括导出 sudo 规则 / sudoers 文件
-r : 报告名称(保存输出)
-p : 保存导出和报告的路径
-s : 提供 sudo 检查所需的用户密码(如果不需要当前用户密码无法访问 sudo 规则)
-h : 帮助 ### Docker (易受攻击的测试环境)

-dockerlogo

提供了一系列 Docker 容器,旨在提供一个故意的易受攻击环境,用于测试 `SUDO_KILLER` 以及相关漏洞的实战演练。 ``` service docker start docker pull th3xace/sudo_killer_demo3 docker run --rm -it th3xace/sudo_killer_demo3 ``` ``` (This docker is only to test the CVE-2019-18634 (pwfeedback)) service docker start docker pull th3xace/sudo_killer_demo2 docker run --user 1000 --rm -it th3xace/sudo_killer_demo2 ``` ``` (This docker is only to test the CVE-2025-32463 (chwoot)) -> Credits to author $ git clone https://github.com/pr0v3rbs/CVE-2025-32463_chwoot.git $ cd CVE-2025-32463_chwoot # 构建并运行 Docker 镜像 (标记为 "sudo-chwoot") $ service docker start $ ./run.sh # 在容器中运行 exploit (直接运行 root 命令或进入 root shell) pwn@f722d9182d1f:~$ ./sudo-chwoot.sh id woot! uid=0(root) gid=0(root) groups=0(root),1001(pwn) pwn@f722d9182d1f:~$ ./sudo-chwoot.sh woot! root@f722d9182d1f:/# id uid=0(root) gid=0(root) groups=0(root),1001(pwn) ``` ## 为什么可以在没有密码的情况下运行 "sudo -l"? 默认情况下,如果 NOPASSWD 标签应用于用户在主机上的任何条目,你将能够在没有密码的情况下运行 "sudo -l"。此行为可以通过 verifypw 和 listpw 选项进行覆盖。 然而,这些规则仅影响当前用户,因此如果可以冒充用户(使用 su),则也应从该用户启动 sudo -l。 有时,即使没有密码无法访问 sudo -l,文件 /etc/sudoers 也是可读的。 ## 场景 在 docker (demo3) 上切换场景(为了防止不同场景之间的冲突): ``` switchScenario Available scenarios: 0 to 10 All Scenarios 0 : Conflict might occur! Scenario 1: [2,3] CVE - Rules Scenario 2: [4] Excessive permissions Scenario 2: [5] Excessive permissions (Authentication required) Scenario 3: [6] User Impersonation Scenario 4: [7] Common Misconfiguration (Change owner) Scenario 4: [8,11] Common Misconfiguration (Wildcard) Scenario 5: [13] Missing scripts from sudo rules Scenario 6: [17] Dangerous Environment Variables Scenario 7: [18] Dangerous binaries (gtfobins) Scenario 8: [19] Recursive Impersonation test Scenario 9: [20] Environment Path Hijacking Scenario 10: [21] App Specific sudo vuln/misconfig Scenario 11: [5] Excessive permissions (Authentication required) Scenario 12: [16] Backdooring sudo (Credentials Capture) ``` ## 视频 - 演示 ### 设置和利用 播放列表可以在这里找到:[https://www.youtube.com/watch?v=Q8iO9mYrfv8&list=PLQPKPAuCA40FMpMKWZLxQydLe7rPL5bml](https://www.youtube.com/watch?v=VjXiLhmOmHs&list=PLQPKPAuCA40ERFDNZ-Ub58SgGHGKAcr26)
(点击展开) 用法:如何设置和使用提供的测试环境 (docker)

apis   apis

下面提供了几个不同利用场景的视频。

apis   apis

apis   apis

apis   apis

apis   apis

apis   apis

apis   apis

## CVEs
(点击展开) SUDO_KILLER 检测到的与 SUDO 相关的 CVE(包括前置条件):

apis   apis

apis   apis

 

apis   apis  

apis  

(点击展开) SUDO_KILLER 检测到的与 sudo 相关的近期第三方应用/设备 CVE(包括前置条件):

apis  

## SK-Tools `SUDO_KILLER` 的版本 3 现在包含一个工具列表,可用于完成多项任务。脚本位于 `SUDO_KILLERv3/SUDO_KILLER/SK-Tools/` - SK-ImperBruteForce-NoPwd.sh: 使用 /etc/passwd 中的用户执行无密码冒充暴力破解,从 UID 为 1000 的用户开始。 - SK-credHarvest2.sh: 通过别名创建一个假的 sudo 然后重定向到真正的 sudo 来执行凭据捕获。 - SK-app-check.sh: 检查与特定第三方应用、设备或编程语言相关的 sudo 漏洞 (仍在进行中)。 - SK-ttyInject.sh: 滥用 TTY pushback,以便如果 root 在受控用户上使用 su -,则执行任意命令。 - SK-recursive-impersonate.sh: 以默认深度 3 执行递归冒充识别。 - SK-alias-report.sh: 根据不同条件对别名执行搜索。 - SK-csuid-with-sudo.sh: 识别自定义 SUID 二进制文件,并检查 sudo 是否在不使用完整路径的情况下运行。 - SK-su-BruteForce.sh: 通过 sudo 对特定用户执行密码暴力破解或喷洒。 - SK-search-sudoers.sh: 识别当前主机上可能的 sudoers 备份文件。
(点击展开) 用法:SK-Tools

apis   apis

apis   apis

apis   apis

apis   apis


### 通过 sudo 重定向捕获凭据 (SK-credHarvest2.sh) SK-Tools 中的脚本 SK-credHarvest2.sh 允许通过别名创建一个假的 sudo 然后重定向到真正的 sudo 来执行凭据捕获。目前仅适用于 bash(目前不适用于/未实现 ZSH 等)配置的 linux。 使用 sudo 请求凭据时显示的消息因所使用的版本而异。可以在两个选项之间进行选择(基于 OS 版本不同)。 显示消息的示例(新和旧) 对于所有用户: 当你拥有 root 权限或对用户主目录拥有过多权限,并且想要一种简单的方法来收集凭据时: ``` ./SK-credHarvest2.sh auser ; source /home/*/.bashrc ``` 对于当前用户: ``` ./SK-credHarvest2.sh cuser ; source /home//.bashrc ``` 输出:日志 /tmp/sk-crds.log 将包含凭据 ### 别名审计 (SK-alias-report.sh) 你需要 root 权限、sudoers 备份的访问权限或对 /etc/sudoers 的读取权限。 ``` Usage: ./SK-alias-sudoers.sh -p -k [-u] [-r] [-m] [-c] | [-a] where -u: user | -r: runas | -m: host | -c: command | -a: all ``` ### 通过 su 进行暴力破解/密码喷洒 (SK-su-BruteForce.sh) 使用 su 进行暴力破解和密码喷洒,支持并发、超时和休眠。 ``` Usage: ./SK-su-BruteForce.sh [-h|--help] [-m|--module MODULE] [-u|--user USER|-uf|--userfile USERFILE] [-p|--password PASSWORD|-pf|--pwdfile PASSFILE] [-c|--concurrent CONCURRENT] [-s|--sleep SLEEP] [-t|--timeouts TIMEOUTS] Module: Password Bruteforce : pwdbf Example: ./SK-su-BruteForce.sh -m "pwdbf" -u user -pf password.txt -c 5 -s 0.005 -t 0.9 Module: Password Spray : pwdspr Example: ./SK-su-BruteForce.sh -m pwdspr -uf users.txt -p password -c 5 -s 0.005 -t 0.9 Module: User:Password Bruteforce : usrpwdbf Example: ./SK-su-BruteForce.sh -m usrpwdbf -uf users-pwd.txt -c 5 -s 0.005 -t 0.9 ``` ### 搜索 sudoers 文件的备份 (SK-search-sudoers.sh) 在 /mnt/ /opt/ /etc/ /etc/ /home/ /app*/ 以及作为参数解析的任何其他目录中查找可能的 sudoers 备份文件 ``` Usage: ./SK-search-sudoers.sh /tmp/ ``` ### 更新危险二进制文件 - GTFOBINS (SK_dbins_update.sh) 要更新危险二进制文件,请转到 dbins/update 并运行 ./SK_dbins_update.sh。确保你有互联网连接。 ``` Usage: ./SK_dbins_update.sh ``` ### 二进制文件相对路径 (SK-relative-path.sh) 寻找可以被滥用的具有相对路径的二进制文件!如果没有设置 secure_path。 ``` sudo -l <..snip..> (root) SETENV: NOPASSWD: /opt/support/purge.sh <..snip..> Usage: ./SK-relative-path.sh /opt/support/purge.sh ``` # 贡献 `SUDO_KILLER` 是一个开源项目,非常感谢任何贡献。无论你是帮助我们修复 bug、提出新功能、改进文档还是宣传该项目——我们都非常欢迎你成为贡献者。如果你有任何建议、反馈或想要贡献,请通过 twitter 或 Linkedin 联系我,你也可以创建一个 Pull Request。我正在寻找关于第三方 sudo CVE 的贡献(我有一个大约 175 个的列表),任何帮助都将不胜感激。 - Bug 报告:如果你在使用 `SUDO_KILLER` 时看到错误消息或遇到问题,请创建一个 [bug 报告](https://github.com/TH3xACE/SUDO_KILLER/issues/new?assignees=&labels=type%3A+bug&template=bug.yaml&title=%F0%9F%90%9B+Bug+Report%3A+)。 - 功能请求:如果你有一个想法或缺少某项能让开发更简单、更健壮的功能,请提交一个 [功能请求](https://github.com/TH3xACE/SUDO_KILLER/issues/new?assignees=&labels=type%3A+feature+request&template=feature.yml)。 ## Stargazers 趋势 感谢大家的支持! [![Stargazers over time](https://starchart.cc/TH3xACE/SUDO_KILLER.svg?variant=adaptive)](https://starchart.cc/TH3xACE/SUDO_KILLER) ## 支持 ## 致谢 我独立编写了这个脚本,利用了 GitHub 和其他网络资源的在线资源。还要感谢与 CVE 相关的漏洞利用的创建者/发布者。你可以在漏洞利用程序本身以及运行该工具时的随附注释中追踪他们的详细信息和参考资料。特别感谢 Vincent Puydoyeux,他的灵感促成了这个工具的开发,以及 Koutto,他在处理 Docker 的复杂问题和增强工具功能方面提供了宝贵的帮助。此外,衷心感谢 Emilio Pinna (norbemi) 和 Andrea Cardaci (cyrus_and),他们对 GTFO Bins 的宝贵贡献对本项目的开发产生了重大影响。 ## 免责声明 此脚本仅用于教育目的。未经你运行该脚本的系统所有者的许可,请勿使用。适用通常的免责声明,特别是我 (TH3xACE) 对因直接或间接使用本项目提供的信息或功能而造成的任何损害不承担责任。作者 (TH3xACE) 或任何互联网服务提供商对内容或对这些程序或其任何衍生品的滥用不承担任何责任。使用这些程序即表示你接受因使用脚本而造成的任何损害(数据丢失、系统崩溃、系统受损等)均不由作者负责这一事实。 ## 许可证 `SUDO_KILLER` 在 MIT 许可证下授权,无论何时使用都请注明出处。请考虑为任何商业用途进行捐赠。
标签:CSV导出, CVE, GTFOBins, Root, Sudo, SUDO_KILLER, Unix, Web报告查看器, 协议分析, 应用安全, 开源安全工具, 提权检测, 攻击框架, 数字签名, 数字足迹, 数据展示, 本地提权, 权限提升, 特权升级, 系统管理员, 红队, 网络安全, 请求拦截, 逆向工程平台, 隐私保护