文章总结: 本文系统梳理了Linux系统中三种主要提权手法:SUID提权利用特殊权限位执行root权限程序,sudo提权源于配置不当或软件漏洞,内核漏洞提权通过CVE案例展示底层攻击路径。文档结合实战案例给出具体防护建议,包括定期审计SUID文件、遵循最小权限原则配置sudo、及时更新内核补丁,并强调限制SSH访问面等纵深防御措施。 综合评分: 82 文章分类: 漏洞分析,渗透测试,安全建设,应急响应,红队
常见Linux提权方法及防护建议
搜狐安全
2026年5月25日 16:20 北京
在小说阅读器读本章
去阅读
Linux系统通过严格的用户和组权限模型实现多用户隔离,每个进程和文件都有明确的读、写、执行权限归属。在这种设计下,普通用户只能访问自身拥有的资源,而root用户则拥有系统的完全控制权。
提权(Privilege Escalation),就是指攻击者从一个低权限账户(如Web服务运行的www-data用户、或通过弱口令获取的普通SSH账户)出发,利用系统配置缺陷或软件漏洞,将自身权限提升至root权限的过程。
在真实的攻防场景中,提权往往是整个攻击链中承上启下的关键一步。攻击者通过Web漏洞、弱口令等方式获得的初始立足点通常是低权限的;只有完成提权,才能进一步横向移动、安装持久化后门、窃取核心数据。理解提权的常见手法,是做好防御的前提。
常见提权方法与案例
一
SUID提权
原理简介
SUID(Set User ID)是Linux文件系统的一种特殊权限位。当一个可执行文件被设置了SUID位且文件所有者为root时,任何用户执行该程序,进程将以文件所有者(root)的权限运行,而非执行者自身的权限。
很多系统工具(如passwd、sudo自身、ping)必须具有SUID权限才能完成需要特权的操作。但问题在于,如果某些程序具有SUID权限却又允许用户执行任意系统命令,它们就成了通往root的“后门”。
提权案例
1、利用find命令提权
通过 find / -perm -4000 -print 2>/dev/null 查找具有SUID 权限的程序,发现find命令具有SUID权限,此时普通用户可以利用find命令进行提权到root权限。find的-exec选项本用于对搜索结果执行指定命令,但由于SUID-root上下文的存在,执行命令时进程继承了文件所有者的root权限。
2、利用vim提权
当一个可执行文件被设置了 SUID 位后,普通用户执行它,会暂时获得该文件所有者(通常是 root)的权限。Vim 强大的功能(尤其是执行外部命令和脚本的能力),让这变得非常危险。当赋予vim程序SUID权限时,可通过如下命令进行提权,使得普通用户获取root权限。
安全建议
1、使用find / -perm -4000 -type f命令定期审计系统中的SUID文件清单,确保每一项都有明确的业务必要性。
2、对不需要SUID权限的程序及时移除SUID位:chmod u-s /path/to/binary。
二
SUDO提权
原理简介
sudo(Superuser Do)是Linux权限管理的核心工具,允许系统管理员在/etc/sudoers文件中精细定义哪些用户或组可以以哪些身份(默认root)执行哪些命令。
sudo的设计初衷是践行“最小权限原则”——运维人员日常使用普通账户,仅在需要时通过sudo临时提权。但实际配置中,过度授权、危险命令放行以及sudo自身的代码漏洞,往往让这道“安全阀门”变成直达root的通道。攻击者拿到低权限账户后,通常以sudo -l命令作为提权路径探测的第一步。
sudo提权的攻击面主要分为两类:配置不当和软件漏洞。
提权案例
1、配置不当类提权
这是最常见的一类sudo提权,典型场景包括:
授予了可以执行任意命令的权限:配置user ALL=(ALL) ALL或user ALL=(ALL) NOPASSWD: ALL,攻击者直接sudo /bin/bash即可获得root 权限。
授予了高风险单命令:如devuser ALL=(root) NOPASSWD: /usr/bin/python3,攻击者可通过sudo python3 -c 'import os; os.system("/bin/bash")'实现逃逸。
环境变量劫持:若sudoers中配置了Defaults env_keep += “LD_PRELOAD”,攻击者可编译恶意动态库并通过sudo LD_PRELOAD=/tmp/malicious.so /bin/ls的方式在root权限下加载恶意代码。
如下,由于为普通用户错误配置sudo,授予了可以执行任意命令的权限,导致普通用户无需密码可提权至root权限。
授予了高风险单个命令可执行权限,此时可以利用该命令提权为root权限
2、sudo漏洞类提权
以CVE-2021-3156:Sudo 堆缓冲区溢出漏洞为例,该漏洞是由于sudo解析命令行参数时发生了基于堆的缓冲区溢出。导致任何本地用户都可以利用此漏洞获得root权限。
如下在受影响的Linux系统上执行提权程序,成功获取root权限。
安全建议
1、遵循最小权限原则:避免配置ALL=(ALL) ALL或NOPASSWD: ALL;精确到具体命令+参数;能不给NOPASSWD就不给;定期审查sudo -l输出和/etc/sudoers配置。
2、及时更新sudo至安全版本,确保不受已知漏洞影响。
3、开启并集中收集sudo审计日志(/var/log/auth.log),监控异常的sudo调用模式。
三
内核漏洞提权
原理简介
内核漏洞提权是最直接、也是最危险的一类提权方式。由于Linux内核运行在系统的最高特权级,一旦攻击者利用内核缺陷执行任意代码,便能直接获得root权限。这类漏洞通常源于内存管理、文件系统、加密子系统等内核关键组件中的竞态条件、缓冲区溢出或逻辑缺陷。
提权案例
1、Dirty Pipe(CVE-2022-0847)
Dirty Pipe是2022年最具影响力的内核提权漏洞之一。其原理是:内核管道(pipe)的缓冲区在某些情况下未正确清除标志位,导致攻击者可以通过管道向任意只读文件(包括/etc/passwd)中写入数据,最终实现提权。攻击者只需编译并运行公开的PoC代码,即可将一个低权限用户添加到/etc/passwd中并赋予root权限,或者直接覆写具有SUID权限的二进制文件来植入后门。
2、Copy Fail提权(CVE-2026-31431)
该漏洞源于内核 crypto: algif_aead 模块在处理 AEAD操作时的逻辑缺陷,可导致本地低权限攻击者通过 AF_ALG 加密接口向任意可读文件的页缓存(page cache)写入受控的少量数据,进而篡改 setuid 等特权二进制文件,实现本地权限提升至 root。
3、Linux Dirty Frag 提权漏洞(CVE-2026-43284)
该漏洞源于 xfrm-ESP(自2017年)和RxRPC(自2023年)两个独立模块的逻辑缺陷,同样利用splice()等零拷贝路径污染sk_buff的frag成员,实现对页缓存的写入,从而在几乎所有主流Linux发行版上稳定提权,本地普通用户可无条件提权至 root 。
4、Linux Kernel Fragnesia 提权漏洞(CVE-2026-46300)
该漏洞源于内核合并socket缓冲区时未能正确传播共享分片标记,导致攻击者可以将只读文件页缓存误当作ESP密文进行原地解密。利用此漏洞,本地非特权用户可通过splice和espintcp ULP组合操作,逐字节篡改文件页缓存(如/usr/bin/su),从而在不写入磁盘的情况下执行提权代码获取root权限。
安全建议
1、保持内核更新:及时更新内核至安全版本,确保不受已知漏洞影响。
2、最小化本地访问面:限制能登录系统的用户和来源范围。
总结
Linux提权是网络攻防中最具“实战价值”的技术领域之一,其攻击面主要来自三大方向:
1、SUID提权源于文件权限配置的“设计特性”——合理的SUID是必需的,但范围失控就成了后门。防御的关键在于持续审计SUID文件清单,对已知高危程序(find、vim、less等)严格排查,对不需要SUID权限的程序及时移除SUID位。
2、sudo提权分为配置不当(占比最高)和软件漏洞两类。sudo漏洞表明,即使sudo设计精良,其复杂特性(如chroot)也可能引入新的攻击向量。防御核心是“最小权限原则”——精准授权每一项sudo规则,并及时修补sudo自身漏洞。
3、内核漏洞提权是最底层、最危险的攻击方式。从经典的Dirty Cow(竞态条件)到Copy Fail(纯逻辑缺陷、仅需732字节脚本),内核缺陷一旦被利用几乎必然导致完全沦陷。防御手段包括:保持内核及时更新、禁用不必要内核模块、最小化本地访问面。
最后需要强调一条防范策略——限制SSH访问面:禁用不必要的root远程登录、启用SSH密钥认证、通过防火墙限制可登录的来源IP,能够从根本上降低攻击者获得用于提权的初始立足点的概率。在保障业务稳定运行的前提下,每一层访问控制和安全配置的严格到位,都是构筑系统防御纵深的关键。
参考
奇安信CERT
长亭安全应急响应中心
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:搜狐安全 《常见Linux提权方法及防护建议》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。











评论