Linux权限提升—Linux权限模式介绍

本文介绍了在渗透测试中如何提升Linux权限,重点关注了修改文件权限、设置setuid和setgid位以获取root权限的概念。通过示例展示了suid如何使得程序以设置权限的用户身份运行,sgid如何改变有效组ID,以及Sticky位如何防止同一组内的用户删除其他用户的文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 在渗透测试过程,经常发现当前用户不能访问(read/write/execute)他们没有权限访问的文件。但是,超级用户(root)可以访问系统所有文件。为了修改任何重要的配置或执行进一步的攻击,我们需要获得root访问权限。

  • 修改基本权限
    修改所有者和所属组为root:
chown root:root <filename>
chown root: <filename>

将文件所有者修改为root:

chown root <filename>

将文件的所属组修改为root:

chown :root <filename>

修改文件权限,4,2,1分别对应r(读),w(写),x(执行)。
给当前用户赋予读,写,执行权限:

chmod u+rwx

取消当前用户的读,写,执行权限:

chmod u-rwx

取消文件所属组的读,写,执行权限:

chmod g-rwx

关于文件权限的详细操作,可参考网上其他文章,这里就不详细介绍。下面主要介绍下setuid和setgid。

  • suid
     通过对可执行文件设置suid位,当文件执行时,会以设置suid位时用户的权限执行,而不是当前用户的权限。
    下面的示例代码setuid_demo.c输出可执行程序执行时的实际uid和有效uid:
#include <stdio.h>
#include<unistd.h>

int main() {
int real = getuid();
int euid = geteuid();
printf("The real UID = %d\n",real);
printf("The effective UID = %d\n",euid);
}

对源文件进行编译:

gcc -o setuid_demo setuid_demo.c

设置suid位:

chmod u+s setuid_demo
或者
chmod 4755 setuid_demo

在下图,setuid_demo和setuid_demo_no_suid的属主为root,使用低权限用户执行时,setuid_demo的有效uid为0,即此时程序拥有root的权限,setuid_demo_no_suid的实际uid和有效uid都为1000:
在这里插入图片描述

  • sgid
    通过对可执行程序设置sgid位,当程序执行时,有效的组id变成文件所属的组的id,而不是当前执行程序用户所属的组的id。
    下面源代setgid_demo.c会打印程序执行时的实际gid和有效gid:
#include <stdio.h>
#include<unistd.h>

int main() {
int real = getgid();
int egid = getegid();
printf("The real GID = %d\n",real);
printf("The effective GID = %d\n",egid);
}

编译程序:

gcc -o setgid_demo setgid_demo.c

设置gid位:

chmod g+s setgid_demo
 或 
chmod 2755 setgid_demo

在下图,setgid_demo和setgid_demo_no_sgid的属主为root,使用低权限用户执行时,setuid_demo的有效gid为0,即程序此时拥有root组的权限,setuid_demo_no_suid的实际gid和有效gid都为1000:
在这里插入图片描述

  • 粘滞位(Sticky bit)
     sticky位指定只有属主能够删除文件,同一组之间不能删除/修改其他用户的文件。
    设置sticky 位:
chmod +t <dirname>
或者chmod 1777 <dirname>

例如,/tmp目录就设置了sticky位:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值