Vedantk6403/suid-fullchain-bypass

GitHub: Vedantk6403/suid-fullchain-bypass

一个在 64 位 Linux 上串联格式化字符串泄露与缓冲区溢出、绕过全部主流内存防护机制并实现 SUID 提权的全链漏洞利用 PoC。

Stars: 0 | Forks: 0

# SUID 全链提权 (x86-64) 这是一个概念验证项目,演示了在现代 64 位 Linux 系统上的高级全链漏洞利用。该项目成功将格式化字符串漏洞与缓冲区溢出漏洞相结合,动态绕过了最先进的内存缓解机制,并实现了 root 权限提升。 ## 🎯 目标 通过动态泄露内存地址、精准恢复 Stack Canary、对齐栈以避免 `movaps` 错误,并执行返回导向编程(ROP)链,从 SUID 二进制文件中获取一个稳定的 `uid=0(root)` shell。 ## ⚙️ 环境与缓解机制 * **操作系统:** Linux(在 Ubuntu/Kali 上测试) * **架构:** amd64 (x86_64) * **成功绕过的防护:** ASLR、PIE(位置无关可执行文件)、NX(不可执行栈)、Stack Canaries 以及 Full RELRO。 * **禁用的防护:** `_FORTIFY_SOURCE` ## 🧩 链式漏洞利用 1. **格式化字符串泄露:** 利用该漏洞动态泄露随机化的 Stack Canary 和 Libc 基址,从而绕过 ASLR 和 PIE。 2. **缓冲区溢出:** 利用该漏洞进行栈溢出,替换 Canary,并覆盖指令指针(RIP)。 3. **ROP 链:** 劫持执行流以调用 `setuid(0)`,随后执行 `system("/bin/sh")`。 ## 🚀 使用方法 **1. 编译存在漏洞的目标文件:** *(需要启用现代保护机制进行编译,但需禁用 Fortify)* ``` gcc src/vuln.c -o src/vuln -fstack-protector-all -pie -fPIE -Wl,-z,relro,-z,now -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0 -O0 -g ``` **2. 设置 SUID 权限:** *(为了模拟存在漏洞的系统二进制文件,它必须归 root 所有)* ``` sudo chown root:root src/vuln sudo chmod 4755 src/vuln ``` **3. 运行漏洞利用程序:** ``` python3 exploit/exploit.py ``` ## 📝 详细分析与演示 要全面、逐步了解构建此漏洞利用程序所涉及的内存布局、GDB 分析和偏移量计算,请查看我的技术博客文章: [![查看在线演示](https://img.shields.io/badge/Full_Writeup-View_Post-0077b5?style=for-the-badge&logo=bookstack&logoColor=white)](https://vedantk6403.github.io/my-portfolio/blog/privilege-escalation.html) ## 🔗 联系我: [LinkedIn](https://www.linkedin.com/in/vedant-karande-936787247/) [GitHub](https://github.com/Vedantk6403)
标签:ASLR绕过, CISA项目, GDB, Go语言工具, NX绕过, PIE绕过, PoC, PWN, RELRO, Return-Oriented Programming, ROP, SUID提权, Web报告查看器, x86-64, 二进制安全, 云资产清单, 内存保护绕过, 内存泄漏, 协议分析, 堆叠金丝雀绕过, 堆栈溢出, 子域名枚举, 提权漏洞, 暴力破解, 权限提升, 格式化字符串漏洞, 漏洞链, 系统安全, 系统攻防, 缓冲区溢出, 网络安全, 逆向工具, 逆向工程, 隐私保护