Skip to content
Kurisu
Go back

Windows 提权全景:内核、服务、DLL 劫持、注册表与凭证滥用

提权课的讲师是 8 年经验的 OSCP 考官,两节课讲了 Windows 全套提权(要求面试至少能说出 80%)。这篇按”系统认知 → 提权方法 → 实操环境”整理,Linux 侧单独一篇。

0x01 系统认知:账号、权限与服务

哈希与验证:Windows 用哈希校验密码,同明文同哈希——这是抓哈希做 Pass-the-Hash 的前提(不需要明文也能登录)。

ACL/ACE:文件、文件夹、注册表都是”资源”,访问控制列表(ACL)里的访问控制条目(ACE)决定谁能做什么。提权的本质一句话:把低权限用户(或服务)的令牌换成 SYSTEM/Administrator 级

账号族谱(识别落点用):

0x02 内核提权:最有效也最危险

核心方法论就一步:查缺失补丁 → 对号找内核漏洞

systeminfo                       # 拉全补丁列表
# 配合提权辅助脚本(wes/beRoot 类)比对未修复的内核 CVE
# GitHub 上现成编译好的 exp,对应补丁号直接用

重点的三点:

0x03 服务类提权四板斧

前提都是”低权限用户对服务的某个环节有写权限”,排查用 accesschk 一类工具列服务配置:

① 服务路径劫持(未加引号路径):服务路径如 C:\Program Files\My Service\svc.exe 未加引号时,Windows 会依次尝试 C:\Program.exeC:\Program Files\My.exe……在可写层级放一个同名恶意 exe 即被以 SYSTEM 拉起。

② DLL 劫持:服务启动时按搜索顺序加载 DLL——DLL 继承调用服务的执行权限。在搜索顺序靠前的可写目录(临时目录常可写)投放同名恶意 DLL,服务重启即上线。

③ 注册表提权:服务注册表项(HKLM\SYSTEM\CurrentControlSet\Services)指向服务路径且部分键低权限可写——改 ImagePath 指向恶意程序;另一经典是 AlwaysInstallElevated 开启时,普通用户跑 MSI 安装包即以 SYSTEM 执行。

④ 任务计划/自启动(AutoRun):开机自启项指向的脚本(如运维的 cleanup.ps1)若低权限可写,替换成恶意脚本,等高权限上下文执行。

配套细节:改服务配置路径比替换 exe 本体更隐蔽(原始文件不动,只改指向);文件落地优先选 ProgramData——默认隐藏、全系统存在、天然 Everyone 可写,低权限也能操作。

0x04 凭证滥用与权限维持

0x05 实验环境搭建(复现清单)

课堂发的提权靶场,复现要点:

面试口径提示:能系统性说出”内核查补丁 + 服务四板斧 + 凭证滥用 + 各自前提条件”已经超过多数候选人;被追问”提权失败怎么办”时,答”先核对补丁/权限前提,再换 DLL 劫持类弱配置洞,内核洞崩溃风险要评估”即闭环。

相关旧文


Share this post:

Previous Post
Linux 提权笔记:SUID、任务计划、Shadow 破解与内核漏洞的正确打开方式
Next Post
MSF 与 Cobalt Strike 实操笔记:从框架结构到团队服务部署