近期做靶场的时候最后都有一个提权,打算做一个长期更新的提权笔记,以后碰到需要新的提权方式再积累进来。
1.suid提权
在执行某个程序时,默认情况下用户发起一个进程,进程的属主是进程的发起者,也就是说这个进程是以发起者的身份运行。用户运行某个程序时,如果该程序有SUID权限,那么程序运行为进程时,进程的属主不是发起者,而是程序文件所属的属主。所以我们利用SUID提权的思路就是运行root用户所拥有的SUID的文件,那么我们运行该文件的时候就得获得root用户的身份了。
现在已知的可以用来提权的Linux可行性的文件列表如下:nmap、vim、find、bash、more、less、nano、cp
首先查找目标系统上运行的所有SUID的可执行文件:
find / -user root -perm -4000 -print 2>/dev/null
find / -perm -u=s -type f 2>/dev/null
find / -user root -perm -4000 -exec ls -ldb {} \;
命令解释:-perm匹配权限 -4000表示SUID,-u=s即为查找权限为suid; -print: find命令将匹配的文件输出到标准输出 -type f类型为文件
-exec: find命令对匹配的文件执行该参数所给出的shell命令,相应的形式为:-exec command {} \;
ls命令: -l是使用较长格式列出信息 -d是显示目录而非内容 -b参数我一直没弄懂,但是我实际操作了一下 ls -lb和ls -l命令执行一样