SUID提权方法
一、SUID是什么?
SUID是Linux的一种权限机制,具有这种权限的文件会在其执行时,使调用者暂时获得该文件拥有者的权限。如果拥有SUID权限,那么就可以利用系统中的二进制文件和工具来进行root提权
二、如何设置SUID权限?
三、已知的具有SUID权限的二进制可执行文件
nmap
vim
find
bash
more
less
awk
cp
四、查找具有root权限的SUID的文件
1.find命令提权
2.nmap命令提权
3.more命令提权
4.less命令提权
5.bash命令提权
- 通过使用"bash -p"命令,您将以特权身份运行Bash解释器,并且可以执行需要特权访问权限的操作。这包括修改系统文件、安装软件包或执行其他可能需要管理员权限的任务。
- 实际上,“-p"是一个通用的Bash参数,代表开启"privileged mode(特权模式)”,这意味着以root用户或具有管理员权限的用户身份来执行Bash命令
6.vim命令提权
- :!/bin/sh
- :!/bin/bash 两个都试试
- 输入vim或者vim.tiny
7.awk命令提权
8.cp命令提权
五、/bin/bash和 /bin/sh的区别
在大多数Linux系统中,/bin/bash和 /bin/sh是两个不同的可执行文件,分别表示Bash和Shell。它们之间的区别在于以下几点:
解释器:/bin/bash是Bourne Again Shell(Bash)的路径,而 /bin/sh是系统默认的Shell解释器的路径(可能是Bash,也可能是其他Shell)。
功能和语法:Bash是Shell的一种变体,它扩展了传统的Shell功能,并提供了更多的命令和语法。因此,Bash相对于其他Shell来说更加强大、灵活,并支持更多的功能。
兼容性:由于Bash在功能和语法上更强大,一些脚本可能会使用Bash特定的语法或功能。然而,/bin/sh通常被链接到一个较小,更原始的Shell,以确保脚本的兼容性。
符号链接:在一些Linux系统中,/bin/sh实际上是一个指向 /bin/bash的符号链接。这意味着 /bin/sh实际上是Bash的另一个名称,它们在功能上没有区别。在这种情况下,/bin/sh和 /bin/bash是等价的。
总的来说,/bin/bash是Bash解释器的路径,功能更强大,而 /bin/sh是系统默认的Shell解释器的路径,可能是Bash或其他Shell,并且在功能和语法上可能更有限。