qiu_dv

导航

课堂笔记-8月25日

课堂笔记-8月25日:Windows 权限提升(提权)攻防实战——从服务提权到内核提权

来源:8_25/录音.txt | 日期:2026-08-25 | 主题:Windows 提权原理与实战,附权限维持与秋招简历建议

〇、今日主线

今天是 Windows 权限提升(Privilege Escalation)专题课,偏秋招就业导向。老师(欣老师)先带大家搭建刻意制造漏洞的提权测试虚拟机,再讲透 Windows 账户/权限模型、服务提权的五种漏洞类型与四种利用手法、内核提权(systeminfo + 漏洞库匹配 EXP)的标准流程,以及配套工具(PowerUp、WinPEAS、AccessChk、Windows Exploit Suggester、PsExec 等)。中间穿插大量与杀毒软件对抗的实战细节和权限维持思路。最后布置课后作业:用普通用户身份复现四种服务提权,外加"零类提权"(0day)实战

一句话主线:以"普通用户 → 提升到 SYSTEM/管理员"为目标,把服务提权和内核提权从原理到工具完整打一遍,面试能讲原理、实战能动手复现。


一、Windows 权限体系与账户模型

  • 普通用户权限受限,提升到管理员有系统性方法;本地 administrator 账户默认存在但通常禁用(账户旁下箭头标识判断)。
  • 服务账号(Service Account):安装微软服务时自动创建(SQL Server 装好后生成 NETWORK SERVICE,IIS 也会创建自己的服务账号)。特征:通常没权限、不隶属任何组、不能直接登录;命名常反映用途(service=服务、network=网络)。
  • 关键坑:服务运行时若没有刻意降权,实际会以 SYSTEM 权限(Windows 最高权限)运行——很多服务后台就是对应一个 .exe 进程;管理员没做限制,攻击者可利用这类服务直接拿到 SYSTEM。
  • Windows 家庭版权限管理受限(看不到本地用户组、缺高级系统设置),建议用专业版(Pro)或虚拟机
  • 常见分组主要就是 Administrators 和 Users 两类;sshd 这类账号权限极低(不隶属有效组)。
  • "Interactive" 不是群组,而是指交互式登录会话(本地键盘鼠标或远程桌面登录的用户会话)。遇到不熟悉的群组概念直接问 AI。

ACL / ACE——Windows 权限控制核心

  • Windows 中所有对象(文件夹、注册表、服务等)本质上都是资源,权限控制的核心机制是 ACL(访问控制列表)
  • ACL 由多条 ACE(访问控制项)组成:ACL 是"权限总清单",ACE 是清单里每条具体规则(哪个用户/组对某资源有什么权限)。
  • 默认规律:System、Administrators 通常拥有完全控制User 组默认只有"读、执行、列出"三个基础权限——正是防止普通用户篡改系统关键文件的机制。
  • 服务注册表配置位置HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services。每个服务条目也有 ACL;若出现 Everyone 组被授权(或发现写权限 W)就是严重隐患。注意:Everyone 默认只有读权限,配错原因通常更可能是 Interactive 这类"登录会话"主体权限过宽。

二、登录验证、哈希与文件完整性校验

  • Windows 登录验证核心是哈希比对:登录时明文密码交给 LSASS 进程处理,内存中保存一份明文,同时生成哈希存到 C 盘 SAM 文件(运行时被锁定,不能改删)。再次登录时把新密码再哈希,与存储的哈希比对。
  • 哈希特性:同一明文永远产生同一哈希,但哈希不可逆,无法还原明文。
  • 哈希≠加密:核心价值是校验文件完整性(官网给 SHA/CRC 值,下载后核对;改 1 字节哈希就完全不同),防止中间人植入后门。
  • MD5"破解"原理不是逆向,而是预存明文-哈希对照表(彩虹表式暴力匹配)。早期 90 万条记录命中率低,发展到 90 万亿条后常见密码基本都能命中。故推荐加盐哈希等更安全存储。

三、Windows 服务提权(今日重点)

3.1 基础认知与"兔子洞"理论

  • 服务 = 后台运行的程序;若服务以 SYSTEM 权限运行且存在配置错误,就可被利用提权。

  • 关键命令(不必死记,但要知道含义):sc query config / qc(查看详细配置、运行账户)、查询服务状态、sc configure modify(修改配置,如替换执行文件)。

  • 提权完整链三条件缺一不可:① 能修改服务配置/可执行文件 → ② 能停止/重启服务 → ③ 服务以高权限(SYSTEM)运行。

  • "兔子洞"(rabbit hole / rabbit hot):有些服务看似可利用,但 Users 组没有停止或重启权限——是假漏洞,无法真正利用。老师用红笔强调要当心这种"自动操作"陷阱。

  • 权限三分类:

    类别 含义 能否利用
    清白权限 只能查询/只读(如看服务状态) 基本用不了
    有用权限 停止 + 重启服务 关键,二者缺一不可
    危险权限 修改服务配置 / 完全控制 可直接替换服务提权
  • "先 stop 后 start":服务已在运行(running)时直接 start 无效,必须先停止再启动,替换的恶意代码才会在服务重启时执行。误以为替换二进制就生效——大错。

3.2 五种服务提权漏洞类型(面试要能完整列举)

  1. 不安全的服务属性(服务 ACL 配置不当,普通用户对服务有修改权限)
  2. 未加双引号的服务路径Unquoted Service Path,路径含空格被截断利用)
  3. 注册表权限过弱(服务配置在注册表,ImagePath 可被改)
  4. 不安全的服务执行方式
  5. DLL 劫持漏洞(DLL Hijacking)

3.3 四种利用手法(复现任务核心)

# 手法 原理 操作要点
1 弱服务权限 + 修改配置 对服务有 MODIFY 权限 sc configure 把服务 ImagePath 指向恶意程序(如 C2/reverse shell)
2 未加引号的服务路径劫持 Windows 按空格分割路径、逐个路径尝试寻找可执行文件 在可写目录放"截断命名"的恶意 exe,启停服务触发
3 注册表弱权限重定向 服务配置存于注册表 Service 键,ACL 过弱可改 ImagePath 改注册表 ImagePath → 重启服务 → 执行恶意程序("曲线救国",常比直接改服务配置更有效)
4 直接替换服务 exe 文件 不碰注册表,狸猫换太子 把木马重命名为原文件名替换;若文件被 Everyone 完全控制(权限拉满)即可成

手法 3 与 4 的区别:手法 3 篡改注册表指向,原路径文件还在;手法 4 直接改掉原路径的 exe 本身(且该文件权限过高,如 everyone all access)。操作后不要轻易重启服务(杀毒可能检测异常),先在注册表确认替换成功;替换前务必备份原文件

3.4 路径解析细节(老师强调的坑)

  • Windows 执行文件可省略扩展名whoami.exe 直接输 whoami 也能运行(自动补全 .exe)。
  • 未加引号路径的歧义:输入 C:\progress 系统会尝试 progress.exe;服务启动时按顺序在可能位置查找(先 Program Files,再当前目录等)。攻击者把恶意程序命名为截断后的名字放在可写目录,服务重启即触发。
  • 绝对路径建议加双引号:带空格的服务路径必须用引号包裹(如 "C:\Program Files\xx");命令行参数之间必须用空格分隔(如 net use 后跟多个参数)。
  • 文件写入权限探测是递归/逐级的:根目录不可写就逐级向下检测子目录(参数 -u 压缩错误、-w 仅显示可写路径等);普通 User 通常无法写 C 盘,需找其他可写目录。

3.5 实战演示中的坑

  • 普通用户对某服务有完全控制(change config + 启停)≈ 直接送 SYSTEM 权限——但这是人为刻意放大的漏洞,真实系统几乎不会遇到,面试可提、实战不必浪费时间找。
  • 替换文件时提示文件被占用 / access denied:服务进程还在运行会锁住 exe,先确保目标文件未被占用(即使服务已停,系统有时仍短暂保持文件句柄)。
  • 拿到 SYSTEM 后优先横向渗透、抓管理员密码直接改管理员密码是最蠢的做法(管理员一登录失败立刻暴露)。

四、内核提权(Kernel Exploitation)

4.1 标准流程(实战 99% 使用率)

  1. systeminfo 永远第一步——列出 Windows 版本号 + 已安装补丁(KB 列表),实战和面试都要先做。
  2. 拿着版本+补丁信息去 GitHub / exploit-db / 谷歌 搜匹配的提权漏洞 EXP。
  3. 经过验证的、非竞争型的内核提权漏洞,下载/编译/运行。

核心链路:补丁检测 → 漏洞匹配 → GitHub 找 EXP

4.2 为什么内核提权"难"

  • 内核漏洞非常罕见:一年发现不了几个,且大多是国外研究人员挖到的。
  • 补丁更新快:漏洞公开并打补丁后,提权成功率大幅下降。
  • 实例:老师曾提权两台服务器,第一台试了很多方法失败,最后靠一个"看似不太可能成功"的漏洞才搞定——运气和坚持都重要;第二台自带 SYSTEM 权限,但被 360 监控子进程,cmd 一调用就被杀,C2 上线后无法执行命令。

4.3 竞态漏洞 vs 一次性漏洞

  • 竞争型提权(race condition,如 Win10 某 1089 漏洞):需多次竞争尝试才成功,成功率低、易触发安全警报(反复踩点被监控发现)。
  • 非竞争型(一击必中):2020 年 Linux 内核的几个提权漏洞即此类,是"完美利用方式"——优先选这种

4.4 工具与兼容性

  • Windows Exploit Suggester:比对 systeminfo 与漏洞数据库,自动匹配未打补丁的漏洞。流程:更新数据库 → 导出 systeminfo → 分析 → 显示可利用提权漏洞。需 Python 环境,注意报错与依赖。
  • 提权内核仓库 / 补丁分析工具(GitHub 已有归档仓库):分析缺失补丁并推荐可用提权脚本,本质是"智能提示系统"。
  • 兼容性是最大坑:新漏洞(如某 2026-66804 系列)适配 Win11 25H2,而测试机是 Win10,不建议优先尝试;演示环境是 Win10 1809,工具标注的测试环境可能是 1909,跨版本要实测验证。
  • CVE-2018-8120:针对 Win7/2008 的内核提权,Python 脚本演示,内含多种提权方式(如 1732 号),最终选哪个取决于 systeminfo 拿到的系统特征。
  • 部分仓库只有源码没有预编译 exe,需要自己编译:Visual Studio(Debug → 生成),需装 .NET Framework 4.8(框架约 1.4GB,全套 VS 可能 25GB);也可选仓库直接提供的预编译版(如 2019.1408)或用在线编译工具。编译时注意 x64 / x86 匹配目标环境systeminfo 报"不适应 esp"说明漏洞可能无法利用——没有绝对可靠的漏洞利用

五、提权辅助工具与 PowerShell

5.1 工具包与使用方式

  • 工具包已内置 PowerUp、Seatbelt(转录作 ShineUp)、WinPEAS 等工具。
  • PowerUp / WinPEAS 都是 .ps1 的 PowerShell 脚本,必须先启动 PowerShell 再执行。加载与执行分两步,执行时可能被严格模式限制,用 -bypass 参数绕过:
    powershell -executionpolicy bypass
    .\PowerUp.ps1
    Invoke-AllChecks
    
  • 工具作用:自动侦查潜在提权漏洞 + 验证漏洞是否存在;理解原理重要,但考试中可能不允许用自动化工具
  • 工具的坑:部分工具检测结果不直观、误报多、缺乏风险等级区分(不标红高危项);个别工具运行时无输出、只显示"执行 0 秒"——可能不兼容 PowerShell 环境。

5.2 颜色高亮工具("very powerful")

  • 某高亮工具用颜色区分结果:红色(read)= 最可能成功的配置(重点关注),绿色 = 正确配置(几乎不出现),浅蓝 = 当前活跃用户,深蓝 = 禁用用户。
  • 使用前提:先编辑注册表键值并重新打开命令窗口,否则高亮不生效;Windows 下注意换行问题,建议用换行符截断命令。
  • 该工具能检测到 Base64 编码的敏感信息(如管理员账号密码)。

5.3 AccessChk 等权限核查工具

  • AccessChk(转录作 xschkese):老牌但可靠,检测访问控制权限,覆盖四类对象:文件、文件夹、服务、注册表,确认当前用户是否有读写执行权限。旧版本可能需要调整命令行模式。
  • 用 AccessChk 验证服务是否被 Everyone 完全控制("权限拉满了");sc qc 查询服务运行账户,若是 local system 要特别小心。

5.4 命令执行与下载命令

  • Windows 提供多种命令行下载方式:
    • net.exe / net1.exe2010-2015 年代经典提权绕过——系统禁用 net.exe 时改用未被禁用的 net1.exe 创建用户。
    • Web 环境下 net/net1 都被禁用时:把 .exe 改名成 .txt 从本地 Windows 上传再执行。
    • 下载命令还包括 curl 等(老师提到的 C 开头命令)。
  • 这些是 10 年前老方法,现在更可靠的是内核提权。

5.5 PsExec(微软官方工具,现已被杀软标记)

  • PsExec(转录作 psepc):微软官方工具,能把权限从管理员直接提到 SYSTEM 级,但 99% 的杀毒软件会误报为木马(因常用于渗透测试),火绒/360 都会拦截删除。
  • 参数辨析(老师专门纠正):-S 不是静默模式,而是让命令以 SYSTEM 权限执行-I交互式执行模式;缺少必要参数可能弹出意外窗口暴露行踪;64(64 位)参数按环境灵活决定。

六、反弹 Shell 与杀毒软件对抗

6.1 反弹 Shell 原理

  • 反弹型木马核心特征:"由内向外主动连接"——受害者内网主机主动去连攻击者(C2)。比喻:堡垒最容易从内部攻破,防火墙对内部发起的出站连接检查通常较松。
  • 三要点:① 攻击者需先把 IP 告诉受害主机(如钓鱼邮件);② 异常外联易被安全设备检测;③ 现代防火墙对双向流量都严格审查,但反弹成功率仍高于直接入侵。
  • 典型实现:生成 reverse shell exe → 替换目标 C 盘实际运行的 exe → 系统执行时回连监听端(nc 或 msf):payload 用 reverse_tcpLHOST 改成攻击机 IP;生成约 7k 的木马后用 nc -lvnp 8999 接收返回值;若目标 RDP 可用,低权限用户加入管理员组(如 trigger 组)后即可远程登录。

6.2 与杀毒软件的对抗(贯穿全天)

  • 做提权实验必须临时关闭杀毒软件和防火墙:实时防护会持续扫描并删除工具(尤其编译好的 0day 利用程序),chrome 报毒警告可忽略。老师习惯性全关(防火墙实际防护有限)。
  • 常规提权方法很少被杀毒检测到,但工具类(reverse.exe、PsExec、各类 exp)极易被删;杀软可能自动重启,动手前查清彻底关闭方法。
  • 真实案例:即使拿到 SYSTEM 权限,360 会监控子进程——调用 cmd 直接终止,"拿着钥匙却打不开宝藏";后来靠 SQL Server 做免杀才让木马上线。最高权限 ≠ 绝对控制权,还要对抗安全软件的检测机制。

6.3 权限不足的排查

  • 必须真实属于管理员组才能行使管理员权限,不是右键"以管理员身份运行"就行——"access denied"核心原因是用户不在管理员组
  • 命令报错"system 没有找到文件"→ 检查路径是否正确、文件是否存在
  • 提权后权限变回 IE User 而非 SYSTEM:可能是执行方式问题或 老程序在 2023 版 Win10 上的兼容性问题——遇到版本不兼容及时换合适版本。

七、权限维持、痕迹清理与数据价值

  • 老方法已过时
    • Guest 来宾账号激活:10 年前激活 Guest 并赋管理员权限"看似没创建新用户",2026 年已行不通(默认禁用,active=no)。
    • 隐藏账号(用户名加 $,如 ss$:10-15 年前常见,net use 看不到、注册表能查到;现在杀软 100% 报警且注册表仍留痕。克隆管理员再删原账号,控制面板看不到但注册表会残留(表面删除 ≠ 彻底清除)。
  • 现在的推荐做法抓取明文密码和哈希(credential dumping),同时维持 C2 连接。
  • 清理痕迹要讲究:在非高峰时段(凌晨 2-3 点)操作、删本地日志;但单纯删本地 Windows 日志很蠢——企业有集中日志服务器实时收集,日志大量缺失反而引起警觉。目标不是不被发现,而是尽量延长被发现的时间
  • 数据比服务器值钱:渗透最终目标是带走核心数据。学生信息(含家长联系方式)可用于精准诈骗;3 万条数据可能只花 10 万元,成功率 3‰(骗 3 人)就回本;微信是受害者最后防线(除非盗号)。
  • 域 vs 工作组
    • 域环境:重点维持域管理员权限——保留域管理员哈希,只要对方不改密码就持续有效。
    • 工作组环境:抓管理员明文密码
    • 原则:最小化破坏,避免被发现。

八、漏洞测试环境搭建(复现作业环境)

8.1 搭建脚本与凭证

  • 老师提供提权测试环境搭建脚本(含 tools.zip),只能在测试用 Windows 上运行,绝不能用于生产环境(会故意制造漏洞)。脚本原配套虚拟机已被微软删除,她提供 OVF 格式镜像(可直接导入,比重装快),共享到网盘/硬盘。
  • 执行后新增两账户admin(管理员)、user(普通用户)——提权通常需从普通用户权限开始;C 盘生成三个关键文件(后续必用)。
  • 凭证:GitHub 环境 IEUser / Gsw0rd#;虚拟机登录 ie user / P@ssw0rd!(P 大写、0 是数字零、结尾感叹号,大小写和特殊字符须完全匹配)。
  • setup.bat 执行后:用工具创建 C 文件 → 放到 Windows 库目录下 → 替换时用 v2 版本;创建时记清 logo 和 pop 参数,否则监听失败。
  • 不要安装 SMD 服务器(老师提醒两次);文件传输用 VMware Tools 直接拖拽即可,不必搭 SMB 服务器。

8.2 刻意制造的漏洞环境

这些漏洞在正常 Windows 中几乎不会出现(如同 Linux 很少有人把 SSH 密码设成 123456),人为制造了多种提权漏洞:列文件劫持、配置文件漏洞、无引号路径提权、注册表漏洞、开机自启动项漏洞

8.3 零类提权(0day)作业

  • 作业:在复现四种服务提权之外,必须额外复现"零类提权"(0day 提权)。方法:用普通用户(user)身份执行 0day 漏洞利用程序,能成功提到 SYSTEM 就说明找对了漏洞。若对方只给 .sin 源码,用 Visual Studio 编译即可(不复杂)。
  • 具体案例 CVE-2021-1732(Win10 本地提权):对 1809 版本有效,可能不是一次成功,需多次尝试;群里已分享编译好的 exe,直接用即可。注意漏洞库标注的测试版本(1909)与本地环境(1809)可能有差异,需实测。
  • 风险警告:某些系统(如"林内")使用时 50%-60% 概率导致服务器蓝屏崩溃,老师自己就遇到过——务必在隔离环境中操作。

九、行业认知、面试与就业方向

  • OSCP 认证:行业一位女考官有 8 年渗透经验、开发了 Windows/Linux 提权课程与工具。OSCP 特点:无固定题库、纯实操;24 小时内攻破 5 台靶机中的 4 台;英文提交报告;考试不能长时间离开监控(否则判作弊)。
  • 理论漏洞 vs 实战:很多"理论漏洞"(SSH 弱口令、sudo 免密切 root、/etc/passwd 777、日志文件包含、MySQL UDF 提权等)实战几乎遇不到,但面试官特别爱考。原则:面试全面列举并说明实际可行性低;实战优先选验证过的可靠路径
  • UDF 提权:10 年前考点,2026 年基本都会失败,但面试官可能问,仍建议了解 MySQL UDF 提权原理防身。
  • 英语是计算机学习的根基:国内高质量提权资料基本是翻译国外一手文章,直接看英文原版更高效;词汇量足够、语法不熟也能靠关键词理解大意。
  • 护网经历分享:早期防护薄弱(拔网线、封 IP 段、"朝九晚六开关服务器"、护网期停非核心业务);国企早年通用密码管所有服务器。如今防护升级,学生身份在护网中薪资会被压低,甚至被包装成正式员工降成本
  • 行业周期:2018-2022 是安全行业红利期(门槛低、薪资高);疫情后经济下行、甲方谨慎采购,设备销售占比下滑、靠服务维持,倒逼厂商真正投入研发;混日子时代结束,对人才要求水涨船高
  • AI 趋势:十四五规划明确持续加大 AI 投入;当前处于"AI 取代部分岗位、但新岗位未完全创造"的阵痛期。求职应把技能和简历往 AI 方向靠拢(尤其 AI+安全结合)。

附:简历与就业要点

老师花了较多时间针对简历和面试给出建议,单独整理如下。

  • 校园/教育系统漏洞项目怎么写:矛盾在于"漏洞是自己发现的、有技术亮点" vs "直接写攻击学校后台太敏感"。建议:保留技术细节、弱化敏感背景——表述为"某教育系统安全测试",突出漏洞挖掘方法和技术解决方案(如文件上传测试等可扩展点);不必担心被背景调查穿帮而刻意修饰。
  • 授权问题不用纠结:行业普遍存在无授权测试(默认潜规则),只有厂商 SRC 才划定范围;真正做渗透几乎不可能提前拿到授权(联系对方就打草惊蛇)。面试重点放在项目细节和技术过程上,直接如实写"通过测试发现某系统存在 XX 漏洞"即可;面试官看技术能力,不死磕授权灰色地带。
  • 项目真实细节比背景重要:最好是自己亲手做过、能讲清细节的(如版本相关漏洞、开发级权限漏洞:任意重置用户密码、用户增删改查、改 root 密码等)。
  • 简历必须体现 AI 相关技能和项目经验:否则秋招会面临很大困难;方向要贴合市场需求(AI+安全结合)。
  • 常见面试考点:Windows 服务提权五种漏洞类型要能完整列举systeminfo 永远是提权第一步;理论漏洞(UDF、日志文件包含、passwd 777 等)面试要会讲但要说清实际可行性低。
  • 学习建议:今天知识点比此前的 WordPress 高难内容(路由混淆、盲注、RCE 三步走分析)简单,但要经常回顾——建议每天复习,避免面试前想不起之前内容。

附:行动清单

  1. 搭建并导入提权测试虚拟机(OVF 镜像),用 IEUser / Gsw0rd#ie user / P@ssw0rd! 两套凭证登录确认环境;执行 setup.bat 生成 admin/user 账户和 C 盘工作目录。实验全程关闭杀软/防火墙
  2. 复现四种服务提权:① 弱服务权限 + sc configure 改 ImagePath;② 未加引号服务路径劫持;③ 注册表弱权限改 ImagePath;④ 直接替换服务 exe(替换前先备份)。牢记先 stop 后 start,验证是否提到 SYSTEM。
  3. 复现"零类提权"(0day):用 user 身份执行 CVE-2021-1732 编译版 exe,多次尝试直到 SYSTEM;拿到 SYSTEM 后抓取明文密码/哈希,横向渗透抓管理员密码(不要直接改管理员密码)。
  4. 掌握标准内核提权流程systeminfo → 对照 GitHub/exploit-db 匹配补丁 → 选验证过的非竞争型 EXP;用 Windows Exploit Suggester 练一遍全流程。
  5. 熟悉工具链:PowerShell 用 . 加载运行 PowerUp/WinPEAS(必要时 -bypass),用 AccessChk 核查文件/文件夹/服务/注册表四类权限,注意红色高危项。
  6. 更新简历与复习计划:校园漏洞项目改写为"某教育系统安全测试"、弱化背景、突出技术细节;补充 AI 相关技能;每天复习之前 WordPress 课程内容。

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