Linux提权实战

1.LINUX脏牛提权

环境:

Metasploitable-2
账号密码
msfadmin/msfadmin

漏洞简介

CVE-2016-5195 ,即 Dirty COW ,俗称「脏牛」漏洞。它是 Linux Kernel 中的条件竞争漏洞,攻击者可以利用 Linux Kernel 中的 COW Copy-on-Write ,写时复制)技术中存在的逻辑漏洞完 成对文件的越权读写,恶意用户可利用此漏洞来获取高权限。

漏洞原理

Linux 内核的子系统在处理写入时复制产生了条件竞争,恶意用户可利用此漏洞来获取高权 限。

影响版本

2007 9 Linux Kernel 2.6.22 被引入,直到 2018 Linux Kernel 4.8.3, 4.7.9, 4.4.26 后才被彻底修复,影响在此期间的所有基于其中版本范围的 Linux 发行版

提权前:

普通用户

 上传提权exp dirty.c

使用gcc进行编译:gcc -pthread dirty.c -o dirty -lcrypt

然后运行进行提权(magedu是我任意输入的密码、后面运行firefart用上):./dirty magedu

 切换到firefart用户

并且输入id可看当前用户id为root权限;提权成功;

总结:

操作其实很简单:运行脚本创建了一个新的root用户;

2.Linux Polkit本地提权

环境:

docker pull docker.io/chenaotian/cve-2021-4034
Polkit Linux 上的一个系统服务,用于定义和管理与系统权限和访问控制相关的策略。它提供了一 种控制各种操作和资源权限的方法,允许非 root 用户执行管理任务,而无需授予其 root 权限。
CVE-2021-4034 Polkit pkexec 存在本地权限提升漏洞,已获得普通权限的攻击者可通过此漏洞获取 root 权限。
利用: 上传 exp ,给权限执行 cve-2021-4034-poc 即可提权获得 root 权限
这个原理利用倒是不怎么体现,和用kali的感觉似的;

初始化

进入系统查看系统用户信息先;
把靶场留来的文件提取出来先

提权

接下来进入到普通用户界面,运行加载好的exp文件,提权成功

3. SUID提权

环境:

docker.io/citizenstig/dvwa
SUID Linux 的一种权限机制,具有这种权限的文件会在其执行时,使调用者暂时获得该文件拥有者的权限。如果拥有 SUID 权限,那么就可以利用系统中的二进制文件和工具来进行 root 提权。
举个例子:
vim 文件具备 s 权限,即 vim 命令具备 s 权限,其拥有者是 root
www-data 用户使用 vim 命令时,可以短暂获得 root 权限,如果能抓住这短暂的时间执行系统命令,其实就相当于是以 root 用户的权限去做执行操作。

已知的可用来提权的Linux可行性的文件列表如下: 

nmap

vim
find
bash
more
less
nano
cp

 我们执行的一些系统命令呢,也是调用了特定的系统的配置文件进行的;

查找具有root权限的SUID的文件:

find / -user root -perm -4000 -print 2>/dev/null
find / -perm -u=s -type f 2>/dev/null
find / -user root -perm -4000 -exec ls -ldb {} \; //用这个比较好,因为文件权限也可显现

执行whoami命令发现本身已经是root权限用户;

我们接下来要做的实验,就是作为一个普通用户,执行带suid权限的命令时,夹带私货进行越权。

文件上传先拿到webshell先;

查看id是普通用户权限;

查找root权限命令;试了几个不行,换用

然后我就用自动化工具Traitor

还是不太行;

尚未解决!!

照着网上的实验呢,是在终端进行权限增加,添加了find的suid权限,从而利用find命令行

提权

### Linux 中普通用户限的方法 在Linux环境中,存在多种方法可以让普通用户获得更高的限以便执行特定的任务或进行系统管理操作。主要的方式有两种:`su` 和 `sudo`。 #### 使用 `su` 命令切换到 root 用户 通过输入 `su -` 或者 `su root` 可以尝试切换成超级管理员(root)身份[^1]。这需要用户供root账户的密码。一旦成功登录为root,则可以获得完全不受限的操作力。 #### 利用 `sudo` 执行单条命令 对于不需要长期保持高限的情况,推荐使用 `sudo` 来临时获取必要的特来运行个别指令。这种方式更加安全可控,因为它允许细粒度地配置哪些用户可以在不暴露整个系统的前下完成某些管理工作。例如: ```bash sudo apt-get update ``` 上述例子展示了如何利用 `sudo` 更新软件包列表而不必真正成为root用户[^2]。 #### 配置 `/etc/sudoers` 文件实现更灵活的授机制 如果希望给予某个具体用户更多固定的高级别利而无需每次都输入完整的命令前缀,可以通过编辑位于/etc下的名为`sudoders` 的特殊文件来进行设置。但是修改此文件时务必小心谨慎以免造成安全隐患或者使系统无法正常工作。通常建议先备份原版再做任何改动,并且最好借助visudo工具来进行更改以防止语法错误导致问题发生。 #### 获取当前使用的Linux发行版信息 当遇到限相关的问题时,了解正在使用的Linux版本有助于找到针对性解决方案。可以使用如下命令查看详细的发行版详情: ```bash cat /etc/*-release ``` 这条命令适用于大多数主流Linux发行版并能供较为全面的信息[^3]。 ### 注意事项 - 应始终遵循最小限原则,在满足需求的情况下尽可能减少授予过多不必要的访问级别; - 对于敏感操作应当仔细确认后再行动,尤其是在涉及生产环境的时候更要加倍留意; - 定期审查已有的限分配情况确保其合理性及时调整不合适之处;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值