linux提权

#linux提权
###查找有权限的文件
#####查找权限是777的文件
find / -type f -perm 777 2>/dev/null
效果图:

#####查找用户为特定用户这里是root
find / -type f -user root -perm -4000 2>/dev/null
效果图:
linux提权_第1张图片
#####查找执行权限为s的文件
find / -type f -perm -u=s 2>/dev/null
效果图:
linux提权_第2张图片
#####查找可写入文件且可指定用户,这里是root
find / -writeable -type f 2>/dev/null | grep -v "/proc " |xargs ls -la | grep root
效果图:
linux提权_第3张图片
###系统内核提权
#####使用kali的漏洞库的poc提权
例子:
当linux内核为3.10时可以用37292.c尽心提权
流程:



linux提权_第4张图片
linux提权_第5张图片
至此提权成功
###利用sudo提权
注:当sudo配置不当才会导致sudo提权,当sudo -l中的All=NOPASSWD ???中有这些就可以使用了
#####find提权
find有个exec选项可执行命令
例:
linux提权_第6张图片
要利用find拥有root的shell的话可以使用os模块的execl来实现
#####nmap提权
nmap的–srcipt选项可以使用nes脚本把提权脚本放到nmap安装目录下的scripts文件夹下即可使用
linux默认安装路径为/usr/share/nmap/
例:
使用的脚本内容:

linux提权_第7张图片
#####vi和vim的命令执行
例子:
linux提权_第8张图片
执行了sudo vim后执行

注:less,man,more都是如此
vim和vi都在末行模式时加:!就可以执行命令了vi提权过程一样
vi有时进入不了末行模式可以使用Shift+!+!就可以了
#####git提权
这是利用git help config进入向vim和vi的窗口即可执行命令
linux提权_第9张图片
这里就只要一个!即可执行命令

#####gdb提权
gdb可以使用python的命令在使用python的代码时前面加上python代码块以;分割代码
linux提权_第10张图片
###利用suid提权
suid提权是在用户没有sudo权限时使用的,suid提权可以原理为当一个程序可直接或者间接执行命令时,获取到root权限,利用suid提权的前提是,这个二进制程序有s权限。
这里可以用上面提到的find命令来查找
find / -type f -perm -u=s 2>/dev/null
当find命令查找到sudo提权中的所有都可以直接执行
suid执行命令时,与sudo不一样的是他不能直接获取shell
以find为例:

python的os模块中的execl可以替换执行的主体将find替换为root的sh
小实验:
现在gdb的pid是2550

linux提权_第11张图片
linux提权_第12张图片
在执行python的execl函数后pid为2550的gdb替换为了sh
从而实现了权限的交换,而system没有继承程序的权限而是使用的是用户的权限没有进行替换,以下可以证明。
gdb的进程id是5768,而没有开启有关与sh的进程
linux提权_第13张图片
在执行了os.system(‘sh -p’)后增加了两个关于sh的进程,而gdb的进程受到影响
linux提权_第14张图片
linux提权_第15张图片

你可能感兴趣的:(网络安全,linux,安全,网络)