Windows自动化脚本提权
字数 1881 2025-08-20 18:18:17
Windows提权自动化脚本使用指南
目录
- 提权概述
- Windows提权向量
- Windows-Exploit-Suggester
- Windows Gather Applied Patches
- Sherlock脚本
- JAWS脚本
- PowerUp工具
提权概述
提权是攻击者在成功入侵受害者主机后的关键过程,目的是获取更高权限的访问控制。在Windows环境中,提权通常涉及:
- 收集系统关键信息(操作系统版本、补丁、配置等)
- 识别配置错误或漏洞
- 利用漏洞或错误配置提升权限
Windows提权向量
以下是Windows系统中关键的提权检查点:
-
系统信息
- 操作系统版本和架构
- 已安装的补丁和软件版本
-
文件系统
- 具有完全控制或修改权限的文件和文件夹
- 异常文件
- 不带引号的服务路径
-
网络信息
- 网络接口配置
- ARP表
- Netstat连接
- 防火墙状态和规则
-
系统配置
- 运行进程
- AlwaysInstallElevated注册表项
- 存储的凭证
- 计划任务
-
服务相关
- 存在漏洞的服务
- 可修改的服务配置
- DLL劫持机会
Windows-Exploit-Suggester
功能
根据受害主机的操作系统平台和架构,建议本地可用的提权exp。
使用方法
在Metasploit框架中使用:
use post/multi/recon/local_exploit_suggester
set lhost <攻击者IP>
set session <会话ID>
exploit
输出
脚本会列出可能有效的提权漏洞利用模块,包括:
- 适用的会话类型
- 平台和架构要求
- 所需默认选项
Windows Gather Applied Patches
功能
通过WMI查询(SELECT HotFixID FROM Win32_QuickFixEngineering)枚举已安装的补丁,识别缺失补丁对应的漏洞。
使用方法
use post/windows/gather/enum_patches
set session <会话ID>
exploit
输出
显示已安装补丁和可能存在的漏洞,对应可用的提权exp。
Sherlock脚本
功能
PowerShell脚本,快速识别缺失补丁导致的本地提权机会。
安装
git clone https://github.com/rasta-mouse/Sherlock.git
使用方法
在Meterpreter会话中:
load powershell
powershell_import '/path/to/Sherlock.ps1'
powershell_execute "find-allvulns"
输出
列出目标系统存在的漏洞和对应的提权exp。
JAWS脚本
功能
PowerShell 2.0编写的Windows提权向量枚举工具,适用于Win7及以后系统。
主要检查项
- 网络信息(接口、ARP、Netstat)
- 防火墙状态和规则
- 运行进程
- 权限过高的文件和文件夹
- 映射驱动器
- 异常文件
- 不带引号的服务路径
- 最近使用的文档
- AlwaysInstallElevated注册表项
- 存储的凭证
- 安装的应用程序
- 潜在漏洞服务
- MuiCache文件
- 计划任务
安装
git clone https://github.com/411Hall/JAWS.git
使用方法
powershell.exe -ExecutionPolicy Bypass -File .\jaws-enum.ps1 -OutputFilename JAWS-Enum.txt
输出示例
- 用户和IP配置
- Netstat结果
- 运行进程和服务
- 安装的程序和补丁
- 权限过高的文件夹
PowerUp工具
功能
PowerShell工具,整合了Windows常见配置错误导致的提权向量。
主要模块
-
服务遍历
Get-ServiceUnquoted:检查未加引号的服务路径Get-ModifiableServiceFile:检查可修改的服务二进制路径Get-ModifiableService:检查可修改的服务Get-ServiceDetail:获取服务详细信息
-
服务滥用
Invoke-ServiceAbuse:修改漏洞服务创建管理员或执行命令Write-ServiceBinary:编写修改后的服务二进制Install-ServiceBinary:替换服务二进制Restore-ServiceBinary:恢复原始服务二进制
-
DLL劫持
Find-ProcessDLLHijack:查找运行进程的DLL劫持机会Find-PathDLLHijack:检查PATH环境变量中的DLL劫持Write-HijackDll:编写劫持DLL
-
注册表检查
Get-RegistryAlwaysInstallElevated:检查AlwaysInstallElevated设置Get-RegistryAutoLogon:检查自动登录凭证Get-ModifiableRegistryAutoRun:检查可修改的HKLM自动运行项
安装
git clone https://github.com/PowerShellMafia/PowerSploit.git
使用方法
load powershell
powershell_import '/path/to/PowerUp.ps1'
powershell_execute Invoke-AllChecks
输出
显示所有检测到的漏洞和配置错误,包括:
- 可滥用的服务
- DLL劫持机会
- 注册表配置问题
- 文件权限问题
总结
这些自动化脚本工具为渗透测试人员提供了快速识别Windows系统提权向量的能力。在实际渗透测试中,可以结合使用多个工具,相互验证检查结果,提高提权成功率。使用时应注意:
- 根据目标系统环境选择合适的工具
- 多个工具交叉验证结果
- 优先尝试最可能成功的提权向量
- 操作前评估风险,避免造成系统崩溃