【linux提权】利用setuid进行简单提权

本文详细解释了Linux中的SUID权限机制,如何通过利用可执行文件的SUID特性,使得非root用户在执行特定程序时获得root权限,进而实现getshell。通过例子展示了如何利用`strings`命令检测和利用这一漏洞。

首先先来了解一下setuid漏洞:

SUID (Set UID)是Linux中的一种特殊权限,其功能为用户运行某个程序时,如果该程序有SUID权限,那么程序运行为进程时,进程的属主不是发起者,而是程序文件所属的属主。但是SUID权限的设置只针对二进制可执行文件,对于非可执行文件设置SUID没有任何意义,在执行过程中,调用者会暂时获得该文件的所有者权限,且该权限只在程序执行的过程中有效. 通俗的来讲,假设我们现在有一个可执行文件XINO,其属主为root,当我们通过非root用户登录时,如果XINO设置了SUID权限,我们可在非root用户下运行该二进制可执行文件,在执行文件时,该进程的权限将为root权限。

然后我们连接我们的靶机看看

可以发现,这里有一个s的标志,表示执行该文件或其子进程时都将获得root权限,我们用file看一下这个是什么文件

是一个elf文件,这里运行该程序,发现输出了一段话,这里可以考虑用strings命令看一下该文件

发现有一个greetings字符串,对应刚才的那个greetings文件,应该是运行该程序时调用了该greetings文件,那如果我们将/bin/bash名字改成greetings的话,运行welcome程序,就可以达到getshell的目的,这里先rm greetings,删除该文件

### Linux 升与解决限不足问题 在 Linux 系统中,限管理是一个核心概念。为了实现特定功能或者访问受限资源,可能需要临时或永久地升用户的限。以下是几种常见的方法来升用户限以及解决限不足的问题。 #### 1. 使用 `sudo` 命令 `sudo` 是一种安全机制,允许普通用户以超级用户或其他用户的身份运行指定的命令。默认情况下,只有被配置到 `/etc/sudoers` 文件中的用户才能使用此功能[^2]。 通过编辑该文件并添加相应的条目,可以让某个用户获得更高的限。例如: ```bash username ALL=(ALL:ALL) ALL ``` 这表示用户 `username` 可以在任何主机上作为任意用户执行任意命令。 #### 2. 切换至 root 用户 如果某些操作仅能由 `root` 完成,则可以通过以下方式切换到 `root` 账户: ```bash su - ``` 输入密码后即可成为超级管理员。需要注意的是,在完成任务之后应立即退出 `root` 模式以减少潜在风险。 #### 3. 修改目标对象的所有或组归属关系 当遇到无法访问某文件夹的情况时,可以考虑更改其所属关系。比如让当前登录账户成为该目录的新主人: ```bash chown your_user_name /path/to/directory/ chmod u+rwx /path/to/directory/ ``` 以上两条指令分别改变了所有,并赋予新所有者完全控制的利[^1]。 #### 4. 设置合适的 ACL (Access Control Lists) ACL 供了一种更精细的方式来定义谁能够做什么事情。相比传统的 rwx 授模式更加灵活多样。要设置额外的读取限给另一个用户 groupname ,可以用如下语句: ```bash setfacl -m g:groupname:r-x filename getfacl filename # 查看效果 ``` #### 5. 对于 PHP 应用场景下的特殊处理 针对 web 开发人员经常碰到因 CGI/FPM 进程启动环境不同而导致的实际有效 UID 不匹配从而引发的各种限制状况,推荐采用下面两种策略之一解决问题[^3]: - **调整脚本本身的执行身份**: 让 Apache/Nginx 的 worker 子进程模拟成期望的状态; - **给予最小必要的特升**: 如借助 setuid bit 实现简单任务自动化批处理需求。 --- ### 示例代码片段展示如何利用 sudo 添加新用户进入 wheel 组以便获取更多利: ```bash # 编辑/etc/group找到wheel这一行追加新的成员名 vi /etc/group # 或者直接运行这条一次性命令完成相同目的 usermod -aG wheel existing_username ``` 注意替换其中变量部分为自己实际使用的名称字符串! ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值