最近想着学习linux提权的一些姿势,这里简单分享学习SUID提权的一些知识点。
ls命令用来查看系统上面的文件、目录的权限。
字段的第一个字符表示对象的类型。
之后是每三个字符为一组,每一组定义了3种访问权限。
这三组分别表示文件所有者(Owner)、用户组(Group)、其它用户(Other Users)。
然后规定用数字4、2和1表示读、写、执行权限。即r=4,w=2,x=1。
所以
chmod改变权限
chown用来更改某个目录或文件的用户名和用户组
该命令需要root权限运行
而文件权限除了r、w、x外还有s、t、i、a权限。
SUID
当执行的文件被赋予了s权限,就被称为Set UID,简称为SUID的特殊权限。八进制数为4000。
举个例子:
linux修改密码的passwd就是个设置了SUID的程序。因为如果普通账号cseroad需要修改密码,就要访问/etc/shadow,但是该文件只有root能访问。那他是怎么修改的呢?原理:
查看该程序,发现被赋予了s权限。当cseroad需要修改自己的密码时,passwd程序的所有者为root,cseroad用户执行passwd 程序的过程中会暂时获得root权限,所以可以修改/etc/shadow文件。
SGID
而当s标志出现在用户组的x权限时则称为SGID。八进制数为2000。
当用户对某一目录有写和执行权限时,该用户就可以在该目录下建立文件,如果该目录用SGID修饰,则该用户在这个目录下建立的文件都是属于这个目录所属的组。(父目录跟随)
SBIT
就是Sticky Bit,出现在目录的其他用户执行权限X上,标记为T,八进制数为1000。对目录有效,使用者只能对自己创建的文件或目录进行删除/更名/移动等动作,而无法删除他人文件(除非ROOT)
赋予s权限:chmod 4755 filename 或者 chmod u+s /usr/bin/find
取消s权限:chmod 755 filename 或者 chmod u-s /usr/bin/find
以centos为例。
还有额外的几个命令
我们就可以通过覆盖/etc/passwd文件,提权为root
默认该命令没有s权限
find命令
假如find命令被赋予s权限。
创建a.txt文件,执行 /usr/bin/find a.txt -exec /bin/bash -p \,成功提权。
这里注意的是新版Linux系统对子进程的suid权限进行了限制,不同的 *** 作系统结果也会不一样。
具体细节参考 https://cloud.tencent.com/developer/article/1674144
利用python可反d得到root权限的shell
python命令
根据 https://gtfobins.github.io/ 查找python利用姿势。
条件是sudo安装时需要输入当前用户密码。
在实战过程中,多查看 https://gtfobins.github.io/ 是否存在SUID提权,以及使用searchsploit命令查看某程序是否存在本地提权漏洞。
https://yoga7xm.top/2019/06/14/suid/
http://www.361way.com/suid-privilege/5965.html
可以啊,自己配就可以了,结合用1.删除ACL权限
setfacl -x u:用户名 文件名
删除指定用户的ACL 权限
setfacl -x g:组名 文件名
删除指定组的ACL权限
setfacl -b 文件名
删除文件下所有的ACL权限
2.递归 ACL权限 (针对 目录现有的文件设置ACL)
递归:父目录有,子目录就有
setfacl -m u:用户名:权限 -R 文件名
3. 默认ACL权限 (针对 目录以后的文件设置ACL)
如果给父目录设置了ACL权限,那么在父目录中创建的新文件也会继承父目录的ACL权限
setfacl -m d:u:用户:权限名 文件名
你是无法编辑、复制和移动文件吗?系统提示需要权限吗?找到所有者
选上Administrator点确定
确定
然后在找到安全就可以添加权限了:
1、文件夹上面,单击鼠标右键,点击“属性”进入。
2、在该文件夹属性--“安全”--“administrator”(这个就是管理员用户)--“编辑”。
3、在d出的窗口中,默认administrator拥有完全控制权限,可以勾选对应权限后面的拒绝框。来修改管理员对文件夹的 *** 作权限,然后确定即可。
如果实在改改不了权限,只有
进入WINPE系统就可以对文件夹进行修改了,需要系统U盘
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)