windows权限提升
什么是权限提升?
权限提升是指通过各种方法将一个用户或者进程的权限提升到更高的级别,从而获取更多的系统控制权限。
为什么要做权限提升?
- 获取更高的权限
- 低权限用户或进程只能访问有限的系统资源,通过提权可以让攻击者可以获得更多的权限。访问更多的文件、目录、配置、服务甚至是系统的核心服务等。
- 绕过安全限制
- 系统通常会对低权限用户实施各种限制,以保护关键资源和数据。通过提权可以绕过这些限制,执行更广泛的操作,比如软件安装、系统配置的修改、关闭安全配置等。
- 持久化攻击
- 通过提权获取到管理员或者系统权限可以帮助攻击者在系统上建立持久化的后门
- 攻击痕迹的覆盖
- 高权限可以帮助攻击修改日志文件以及其他痕迹,增加检测和取证的难度。
- 扩展攻击面
- 提权不限于单个系统,攻击者还可以利用更高的权限向其他网络中的设备发起攻击,进行横向移动等。
常见的提权方法有那些?
- 系统漏洞利用
- 缓冲区溢出:通过溢出特定程序的缓冲区,覆盖内存中的其他数据以执行恶意代码。
- 未修补的内核漏洞:利用操作系统内核中的漏洞,如CVE-2020-0796(SMBGhost)、CVE-2019-0708(BlueKeep)等。
- 错误配置
- 文件权限错误:系统文件或目录权限配置不当,如敏感文件具有写权限。
- 服务配置错误:某些服务以SYSTEM权限运行,但配置文件或可执行文件对普通用户可写。
- 凭据盗取
- Mimikatz:从内存中提取明文密码、哈希值或Kerberos票据。
- LSASS进程内存转储:将LSASS进程的内存转储到文件,并用工具提取其中的凭据。
- 社会工程学攻击
- 钓鱼攻击:通过伪装成可信赖的实体骗取用户的高权限凭证。
- 欺骗攻击:诱骗高权限用户执行恶意脚本或程序。
- 弱密码和默认凭据
- 暴力破解:通过不断尝试密码组合来登录高权限账户。
- 字典攻击:使用包含常用密码的字典文件进行登录尝试。
- 利用工具和框架
- Metasploit:提供多种Windows提权模块,自动化利用已知漏洞。
- Cobalt Strike:商业渗透测试工具,包含多个提权模块。
- PowerSploit:PowerShell框架,包含多种提权脚本。
- 利用计划任务或服务
- 计划任务:创建或修改计划任务以运行恶意代码。
- 服务滥用:利用服务配置错误,替换或修改服务可执行文件。
- DLL劫持
- DLL注入:将恶意DLL注入高权限进程,使其加载并执行恶意代码。
- UAC绕过
- 利用系统文件:如使用FodHelper、Event Viewer等系统文件绕过用户账户控制(UAC)。
- 文件劫持:劫持特定路径下的文件,使UAC提示时执行恶意代码。
提权分类
手动提权
手动提权主要是通过手工进行系统信息搜集,包括但不限于目标系统的补丁情况、版本、操作系统位数、杀软防护、当前权限等,再基于补丁情况筛选可用exp进行手工提权。
常见的检测项目以及工具
Windows Exploit Suggester
WES-NG 是一款基于 Windows 实用程序输出的工具systeminfo,它提供了操作系统易受攻击的漏洞列表,包括针对这些漏洞的任何攻击。它支持 Windows XP 和 Windows 11 之间的所有 Windows 操作系统,包括其对应的 Windows Server。
https://github.com/bitsadmin/wesng
Evil-WinRM
Evil-WinRM是一个强大的Windows远程管理工具,集成了多种提权和后渗透测试模块,适用于Windows远程管理和提权操作。
https://github.com/Hackplayers/evil-winrm
SharpHound and BloodHound
虽然这些工具主要用于Active Directory环境的侦察,但它们可以帮助识别潜在的提权路径和攻击链条。使用SharpHound收集Active Directory环境中的信息,然后使用BloodHound进行分析,发现提权路径。
https://github.com/BloodHoundAD/SharpHound
https://github.com/BloodHoundAD/BloodHound
提权辅助网页 Windows提权辅助
直接将systeminfo粘贴后出结果
https://i.hacking8.com/tiquan
exploitdb
https://www.exploit-db.com/
poc in github
从GitHub自动收集的POC库
https://github.com/nomi-sec/PoC-in-GitHub
ladon
集成化内网渗工具
https://github.com/k8gege/Ladon
土豆家族
PrintNotifyPotato
使用PrintNotify COM服务进行提权,适用于Windows 10 – 11,Windows Server 2012 – 2022
https://github.com/BeichenDream/PrintNotifyPotato
PrintSpoofer
通过“打印机漏洞”滥用模拟权限,SeImpersonatePrivilege
通过在 Windows 10 和 Server 2016/2019 上滥用,从 LOCAL/NETWORK SERVICE 到 SYSTEM
https://github.com/itm4n/PrintSpoofer
GhostPotato
NTLM 反射漏洞,攻击者可以通过故意使身份验证尝试失败来清除此缓存
https://github.com/Ridter/GhostPotato
Juicy Potato
Juicy Potato利用COM(Component Object Model)服务中的权限漏洞,帮助低权限用户提升到SYSTEM权限。该工具适用于Windows Vista和更高版本。
-
原理: 利用具有SeImpersonatePrivilege或SeAssignPrimaryTokenPrivilege权限的进程,通过COM接口进行权限提升。
https://github.com/ohpe/juicy-potato
Rogue Potato
Rogue Potato是Juicy Potato的改进版本,旨在绕过一些现代Windows版本中的限制和防护措施。
-
原理: 类似于Juicy Potato,但采用了不同的技术细节,避免了某些系统防护机制。
https://github.com/antonioCoco/RoguePotato
SweetPotato
SweetPotato是一个自动化和更广泛兼容的版本,集成了多个"Potato"提权技术,如HotPotato、Juicy Potato和Rogue Potato。 本地服务从 Windows 7 到 Windows 10 / Server 2019 的 SYSTEM 权限提升。
-
原理: 结合多个提权技术,提供更广泛的系统兼容性和提权成功率。
https://github.com/CCob/SweetPotato
Rotten Potato
Rotten Potato是一种通过滥用COM和NTLM身份验证的提权技术,适用于具有SeImpersonatePrivilege权限的账户。
-
原理: 利用COM服务与NTLM身份验证交互,模拟高权限账户。
https://github.com/foxglovesec/RottenPotato https://github.com/breenmachine/RottenPotatoNG
PrintNightmare (CVE-2021-34527)
PrintNightmare 是一种利用 Windows 打印后台处理程序服务中的漏洞进行提权的技术。虽然不是传统的"Potato"命名,但其原理和效果类似。
-
原理:利用打印后台处理程序服务中的漏洞,通过恶意打印驱动程序实现代码执行和权限提升。
https://github.com/calebstewart/CVE-2021-1675
EfsPotato
EfsPotato 是一个新的提权工具,利用 EFSRPC(加密文件系统远程协议)服务的漏洞,适用于 Windows 10 和 Windows Server。利用MS-EFSR EfsRpcOpenFileRaw 存在 SeImpersonatePrivilege 本地权限提升漏洞
-
原理:滥用 EFSRPC 服务,通过 RPC 调用实现权限提升。
https://github.com/zcgonvh/EfsPotato
SmbGhostPotato (CVE-2020-0796)
SmbGhostPotato 利用 Windows SMBv3 协议中的一个严重漏洞(CVE-2020-0796),也被称为 SMBGhost。
-
原理:滥用 SMBv3 协议中的漏洞,通过发送特制的网络数据包实现远程代码执行和权限提升。
https://github.com/chompie1337/SMBGhost_RCE_PoC
PetitPotam (CVE-2021-36942)
PetitPotam 利用 Windows MS-EFSRPC 中的漏洞,通过欺骗远程服务器认证,实现 NTLM relay 攻击并最终进行权限提升。关于
PoC 工具强制 Windows 主机通过 MS-EFSRPC EfsRpcOpenFileRaw 或其他功能向其他机器进行身份验证。
-
原理:通过向 MS-EFSRPC 接口发送恶意请求,触发目标服务器的身份验证请求,并进行中继攻击。
https://github.com/topotam/PetitPotam
LocalPotato (CVE-2023-21746)
攻击是一种针对本地身份验证的 NTLM 反射攻击。此攻击允许任意文件读写和特权提升。
- 原理:利用了 Windows 的 COM 服务和 NTLM 认证中继,通过 LocalService 账户与高权限账户的交互,劫持 NTLM 请求来实现权限提升。
https://github.com/decoder-it/LocalPotato
CoercedPotato
SeImpersonatePrivilege
通过在 Windows 10、Windows 11 和 Server 2022 上滥用,从 Patate(本地/网络服务)到系统。
https://github.com/Prepouce/CoercedPotato
自动提权
Metasploit
1、使用 post(windows/gather/enum_patches) 模块 设置session 列出补丁情况
2、使用 post(multi/recon/local_exploit_suggester) 设置session 自动列出
Cobalt Strike
LSTAR - Aggressor
一个插件从上线到域控 实现内网漫游,主机相关凭据获取、多级内网穿透、隐蔽计划任务、免杀的 Mimikatz 和克隆添加用户等功能
https://github.com/lintstar/LSTAR
Z1-AggressorScripts
https://github.com/z1un/Z1-AggressorScripts
测试