suid提权的三种思路
制作的视频教程
https://www.bilibili.com/video/BV1ok4y1m75p
方法一:shared object注入
1 |
|
原理:某些程序运行时候,有着管理员权限,却可以被任何用户调用,这就是suid权限。
如果这个suid程序调用了某些shared object,可以通过伪造shared object,来伪造命令。以该程序的root权限,去执行提权命令。cp /bin/bash /tmp/bash && chmod +s /tmp/bash && /tmp/bash -p
注意,suid权限必须是二进制程序才能用,脚本程序是无效的。
概念:动态链接与静态链接的区别
.dll与.so的区别
编译语言编程基础,熟悉linux命令
方法二:symlik——符号链接
需要www-data权限,nginx版本在1.6.2-5+deb8u3版本以下。
发现
1 |
|
利用
1 |
|
方法三:环境变量
1 |
|
案例一:
首先了解一下export命令
1 |
|
案例二:
明确两个东西,一个是环境变量,一个是函数
1 |
|
参考资料
- https://legalhackers.com/advisories/Nginx-Exploit-Deb-Root-PrivEsc-CVE-2016-1247.html
[https://camo.githubusercontent.com/acb487594dbe457b6711a0a70eb545ec828159a8/68747470733a2f2f7062732e7477696d672e636f6d2f6d656469612f44415a73453256555141415f62705a2e6a7067](https://camo.githubusercontent.com/acb487594dbe457b6711a0a70eb545ec828159a8/68747470733a2f2f7062732e7477696d672e636f6d2f6d656469612f44415a73453256555141415f62705a2e6a7067)
- https://www.freecodecamp.org/news/symlink-tutorial-in-linux-how-to-create-and-remove-a-symbolic-link/
- https://bash.cyberciti.biz/guide/Pass_arguments_into_a_function