【内网渗透基础】三、Linux提权

admin 2025年4月8日21:11:57评论7 views字数 3338阅读11分7秒阅读模式
免责声明
请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失,均由使用者本人负责,文章作者不承担任何法律及连带责任。
简介 ]
——————————————————————
生活是活给自己看的,你有多大成色,世界才会给你多大脸色
摘自在别人看不见的地方自律,成功离你更近》】 
——————————————————————

Linux提权

紧接本章本文主要介绍Linux常用的提权方法,包括系统内核漏洞提权、错误的配置提权、常见的软件漏洞提权。

目录
Linux提权
    一、内核提权
                1.1 脏牛CVE-2016-5195(Dirty COW)提权
                1.2 CVE-2024-1086提权
    二、错误配置提权
                2.1 suid配置提权
2.2 sudo配置提权
    三、软件漏洞
                3.1 CVE-2021-4034( PwnKit )提权

                3.2 CVE-2021-3156(Sudo)提权

漏洞信息

混子Hacker     

01

内核漏洞提权

1.1 脏牛CVE-2016-5195(Dirty COW)提权

漏洞成因在于Linux内核中写时复制(Copy-On-Write)。当多个进程共享同一个物理页面时,如果其中一个进程尝试修改该页面,内核会创建该页面的一个私有副本,而不是直接修改原始页面。

get_user_pages()(GUP)函数用于获取用户态的物理页面,并在某些情况下忽略了写保护。

由于竞争条件,攻击者可以在 GUP 期间让 madvise() 系统调用使得原本只读的页面变为可写。

最终,攻击者可以在不拥有写权限的情况下修改受保护的文件(如 /etc/passwd),从而提升权限。

影响范围:linux kernel 2.6.22 < 3.9

下载EXP:https://github.com/gbonacini/CVE-2016-5195

【内网渗透基础】三、Linux提权

编译cpp文件

【内网渗透基础】三、Linux提权

运行编译后的程序,输入密码

然后切换到root用户输入刚刚设置的密码

【内网渗透基础】三、Linux提权

1.2 CVE-2024-1086提权

Linux内核的netfilter: nf_tables组件中存在的使用后释放漏洞可被利用以实现本地权限提升。nft_verdict_init()函数允许在hook verdict中使用正值作为drop error,因此当使用类似于NF_ACCEPT的drop error发出NF_DROP时,nf_hook_slow()函数可能会导致双重释放漏洞。

影响范围:

3.15 <= Linux kernel < 6.1.765.2 <= Linux kernel < 6.6.156.7 <= Linux kernel < 6.7.36.8:rc1 = Linux kernel

下载编译exp

git clone https://github.com/Notselwyn/CVE-2024-1086cd CVE-2024-1086make./exploit
【内网渗透基础】三、Linux提权
运行exp
【内网渗透基础】三、Linux提权

混子Hacker

02

错误配置提权

2.1 SUID提权

SUID(Set User ID)是Linux/Unix系统中的一种特殊权限机制,允许普通用户以文件所有者的权限执行程序

查找系统中所有SUID文件:

find / -perm -4000 -type f 2>/dev/nullfind / -user root -perm -4000 -exec ls -ldb {} ; 2>/dev/null
【内网渗透基础】三、Linux提权
利用find命令运行shell如bash和dash等
【内网渗透基础】三、Linux提权
2.2 sudo提权

sudo(Super User Do)是 Linux/Unix 系统中用于授权普通用户以 root 或其他用户权限执行命令的工具

首先查看sudo权限:

sudo -l

【内网渗透基础】三、Linux提权
sqlite3可以免密执行sudo
由于sudo版本原因这个有个小绕过
实际的原理还是sudo执行命令获取root权限
【内网渗透基础】三、Linux提权

混子Hacker

03

软件漏洞提权

3.1 CVE-2021-4034( PwnKit )提权

Polkit(之前称为 PolicyKit)是一个用于在类 Unix 操作系统中控制系统范围权限的组件。它为非特权进程与特权进程通信提供了一种有组织的方式。由于pkexec 无法正确处理调用参数个数,并试图将环境变量作为命令执行。进而劫持动态链接库,以root身份执行任意代码

影响范围

Debain stretch policykit-1 < 0.105-18+deb9u2Debain buster policykit-1 < 0.105-25+deb10u1Debain bookworm, bullseye policykit-1 < 0.105-31.1Ubuntu 21.10 (Impish Indri) policykit-1 < 0.105-31ubuntu0.1Ubuntu 21.04 (Hirsute Hippo) policykit-1 Ignored (reached end-of-life)Ubuntu 20.04 LTS (Focal Fossa) policykit-1 < 0.105-26ubuntu1.2)Ubuntu 18.04 LTS (Bionic Beaver) policykit-1 <0.105-20ubuntu0.18.04.6)Ubuntu 16.04 ESM (Xenial Xerus) policykit-1 <0.105-14.1ubuntu0.5+esm1)Ubuntu 14.04 ESM (Trusty Tahr) policykit-1 <0.105-4ubuntu3.14.04.6+esm1)CentOS 6 polkit < polkit-0.96-11.el6_10.2CentOS 7 polkit < polkit-0.112-26.el7_9.1CentOS 8.0 polkit < polkit-0.115-13.el8_5.1CentOS 8.2 polkit < polkit-0.115-11.el8_2.2CentOS 8.4 polkit < polkit-0.115-11.el8_4.2

环境下载:https://github.com/vulhub/vulhub/tree/master/polkit/CVE-2021-4034

Docker-compose启动

【内网渗透基础】三、Linux提权

下载exp:https://gitee.com/pwn2security/CVE-2021-4034

编译exp

【内网渗透基础】三、Linux提权

运行

【内网渗透基础】三、Linux提权
3.2 CVE-2021-3156(Sudo)提权

要成因在于sudo中存在一个基于堆的缓冲区溢出漏洞,当在类Unix的操作系统上执行命令时,非root用户可以使用sudo命令来以root用户身份执行命令。由于sudo错误地在参数中转义了反斜杠导致堆缓冲区溢出,从而允许任何本地用户(无论是否在sudoers文件中)获得root权限,无需进行身份验证

影响范围:
Sudo1.8.2到 1.8.31p2版本Sudo1.9.01.9.5p1版本

docker 环境: https://hub.docker.com/r/chenaotian/cve-2021-3156

下载glibc-2.27源码和sudo-1.8.21源码

【内网渗透基础】三、Linux提权

运行命令“sudoedit -s /”

如果出现以“ sudoedit:”开头的错误响应,则系统可能受漏洞影响;

如果出现以“ usage:”开头的错误响应,则表示漏洞已被补丁修复。

【内网渗透基础】三、Linux提权

下载exp

https://github.com/chenaotian/CVE-2021-3156/tree/main/exp

【内网渗透基础】三、Linux提权
编译一下,或者在docker环境的exp目录中有编译好的文件可以直接运行
【内网渗透基础】三、Linux提权
本专栏往期文章:

【内网渗透基础】一、信息收集

【内网渗透基础】二、隧道建立

【内网渗透基础】二、隧道建立(下)

【内网渗透基础】三、权限提升-Windows内核提权

【内网渗透基础】三、权限提升-Windows内核提权(下)

【内网渗透基础】三、权限提升-Windows第三方软件提权

<<<  END >>>

原创文章|转载请附上原文出处链接

更多漏洞|关注作者查看

作者|混子Hacker

原文始发于微信公众号(混子Hacker):【内网渗透基础】三、Linux提权

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年4月8日21:11:57
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   【内网渗透基础】三、Linux提权https://cn-sec.com/archives/3927294.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息