Windows自动化脚本提权
字数 1881 2025-08-20 18:18:17

Windows提权自动化脚本使用指南

目录

  1. 提权概述
  2. Windows提权向量
  3. Windows-Exploit-Suggester
  4. Windows Gather Applied Patches
  5. Sherlock脚本
  6. JAWS脚本
  7. PowerUp工具

提权概述

提权是攻击者在成功入侵受害者主机后的关键过程,目的是获取更高权限的访问控制。在Windows环境中,提权通常涉及:

  • 收集系统关键信息(操作系统版本、补丁、配置等)
  • 识别配置错误或漏洞
  • 利用漏洞或错误配置提升权限

Windows提权向量

以下是Windows系统中关键的提权检查点:

  1. 系统信息

    • 操作系统版本和架构
    • 已安装的补丁和软件版本
  2. 文件系统

    • 具有完全控制或修改权限的文件和文件夹
    • 异常文件
    • 不带引号的服务路径
  3. 网络信息

    • 网络接口配置
    • ARP表
    • Netstat连接
    • 防火墙状态和规则
  4. 系统配置

    • 运行进程
    • AlwaysInstallElevated注册表项
    • 存储的凭证
    • 计划任务
  5. 服务相关

    • 存在漏洞的服务
    • 可修改的服务配置
    • 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及以后系统。

主要检查项

  1. 网络信息(接口、ARP、Netstat)
  2. 防火墙状态和规则
  3. 运行进程
  4. 权限过高的文件和文件夹
  5. 映射驱动器
  6. 异常文件
  7. 不带引号的服务路径
  8. 最近使用的文档
  9. AlwaysInstallElevated注册表项
  10. 存储的凭证
  11. 安装的应用程序
  12. 潜在漏洞服务
  13. MuiCache文件
  14. 计划任务

安装

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常见配置错误导致的提权向量。

主要模块

  1. 服务遍历

    • Get-ServiceUnquoted:检查未加引号的服务路径
    • Get-ModifiableServiceFile:检查可修改的服务二进制路径
    • Get-ModifiableService:检查可修改的服务
    • Get-ServiceDetail:获取服务详细信息
  2. 服务滥用

    • Invoke-ServiceAbuse:修改漏洞服务创建管理员或执行命令
    • Write-ServiceBinary:编写修改后的服务二进制
    • Install-ServiceBinary:替换服务二进制
    • Restore-ServiceBinary:恢复原始服务二进制
  3. DLL劫持

    • Find-ProcessDLLHijack:查找运行进程的DLL劫持机会
    • Find-PathDLLHijack:检查PATH环境变量中的DLL劫持
    • Write-HijackDll:编写劫持DLL
  4. 注册表检查

    • 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系统提权向量的能力。在实际渗透测试中,可以结合使用多个工具,相互验证检查结果,提高提权成功率。使用时应注意:

  1. 根据目标系统环境选择合适的工具
  2. 多个工具交叉验证结果
  3. 优先尝试最可能成功的提权向量
  4. 操作前评估风险,避免造成系统崩溃
Windows提权自动化脚本使用指南 目录 提权概述 Windows提权向量 Windows-Exploit-Suggester Windows Gather Applied Patches Sherlock脚本 JAWS脚本 PowerUp工具 提权概述 提权是攻击者在成功入侵受害者主机后的关键过程,目的是获取更高权限的访问控制。在Windows环境中,提权通常涉及: 收集系统关键信息(操作系统版本、补丁、配置等) 识别配置错误或漏洞 利用漏洞或错误配置提升权限 Windows提权向量 以下是Windows系统中关键的提权检查点: 系统信息 操作系统版本和架构 已安装的补丁和软件版本 文件系统 具有完全控制或修改权限的文件和文件夹 异常文件 不带引号的服务路径 网络信息 网络接口配置 ARP表 Netstat连接 防火墙状态和规则 系统配置 运行进程 AlwaysInstallElevated注册表项 存储的凭证 计划任务 服务相关 存在漏洞的服务 可修改的服务配置 DLL劫持机会 Windows-Exploit-Suggester 功能 根据受害主机的操作系统平台和架构,建议本地可用的提权exp。 使用方法 在Metasploit框架中使用: 输出 脚本会列出可能有效的提权漏洞利用模块,包括: 适用的会话类型 平台和架构要求 所需默认选项 Windows Gather Applied Patches 功能 通过WMI查询( SELECT HotFixID FROM Win32_QuickFixEngineering )枚举已安装的补丁,识别缺失补丁对应的漏洞。 使用方法 输出 显示已安装补丁和可能存在的漏洞,对应可用的提权exp。 Sherlock脚本 功能 PowerShell脚本,快速识别缺失补丁导致的本地提权机会。 安装 使用方法 在Meterpreter会话中: 输出 列出目标系统存在的漏洞和对应的提权exp。 JAWS脚本 功能 PowerShell 2.0编写的Windows提权向量枚举工具,适用于Win7及以后系统。 主要检查项 网络信息(接口、ARP、Netstat) 防火墙状态和规则 运行进程 权限过高的文件和文件夹 映射驱动器 异常文件 不带引号的服务路径 最近使用的文档 AlwaysInstallElevated注册表项 存储的凭证 安装的应用程序 潜在漏洞服务 MuiCache文件 计划任务 安装 使用方法 输出示例 用户和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自动运行项 安装 使用方法 输出 显示所有检测到的漏洞和配置错误,包括: 可滥用的服务 DLL劫持机会 注册表配置问题 文件权限问题 总结 这些自动化脚本工具为渗透测试人员提供了快速识别Windows系统提权向量的能力。在实际渗透测试中,可以结合使用多个工具,相互验证检查结果,提高提权成功率。使用时应注意: 根据目标系统环境选择合适的工具 多个工具交叉验证结果 优先尝试最可能成功的提权向量 操作前评估风险,避免造成系统崩溃