> 文档中心 > 运用脚本提升Windows权限

运用脚本提升Windows权限


基本上,权限提升是攻击者攻陷受害者机器之后的一个阶段,他试图收集与系统相关的关键信息,如隐藏密码和弱配置服务或应用程序等。所有这些信息都有助于攻击者利用漏洞进行攻击获得更高权限的shell。

权限提升向量

以下信息被视为Windows系统的关键信息:
· 操作系统版本
· 安装或运行的有漏洞的软件包
· 具有完全控制或修改访问权限的文件和文件夹
· 映射的驱动器
· 潜在的感兴趣文件
· 服务路径
· 网络信息(接口,arp,netstat)
· 防火墙状态和规则
· 运行的进程
· AlwaysInstallElevated注册表项检查
· 存储的凭证
· DLL劫持
· 计划任务
在渗透测试中有几个脚本用于快速识别Windows系统上的潜在权限提升向量,我们将详细说明每个脚本如何工作。

Windows-Exploit-suggester 

如果拥有受害者的低权限meterpreter或命令会话,那么可以使用Exploit-Suggester。
该模块建议可以使用的本地meterpreter漏洞利用。根据用户打开shell的体系结构和平台以及meterpreter中的可用漏洞来推荐可以使用的漏洞。值得注意的是,并非所有本地漏洞都会被触发。根据以下条件选择漏洞:会话类型,平台,体系结构和所需的默认选项。 

正如所看到的,它已经提出了一些针对易受攻击的目标且可以提供更高权限shell的后期漏洞利用。

Windows Gather Applied Patches

此模块尝试枚举Windows系统的修补程序,根据WMI查询的结果:SELECT HotFixID FROM Win32_QuickFixEngineering。

 

正如所看到的,它还表明目标可能容易受到可以提供更高权限shell的推荐漏洞的攻击。

Sherlock 

它是一个PowerShell脚本,可以快速查找缺少的本地权限提升漏洞的软件修补程序。它也像上面一样类似于给出建议,目标可能容易受到可以提供更高权限shell的推荐漏洞的攻击。
使用以下命令从git hub下载它,并在受害者的meterpreter会话至少执行一次。

git clone https://github.com/rasta-mouse/Sherlock.git

 由于此脚本应在power shell中执行,因此请加载power shell,然后导入下载脚本。

上面的命令显示目标可能容易受到可用于获取高权限shell的推荐漏洞的攻击。

JAWS

JAWS是PowerShell脚本,旨在帮助渗透测试人员(和CTFers)快速识别Windows系统上潜在的权限提升向量。它是使用PowerShell 2.0编写的,因此可以在Windows 7之后的所有Windows版本上运行。
当前特征
· 网络信息(接口,arp,netstat)
· 防火墙状态和规则
· 运行的进程
· 具有完全控制或修改访问权限的文件和文件夹
· 映射的驱动器
· 潜在的感兴趣文件
· 服务路径
· 最近的文件
· 系统安装文件
· AlwaysInstallElevated注册表项检查
· 存储的凭证
· 已安装的应用程序
· 潜在的存在漏洞的服务
· MuiCache文件
· 计划任务

git clone https:i igithub. com/411Hall/ JAWS.git

有了meterpreter shell后,上传下载脚本并使用命令shell运行上传的脚本。

powershell.exe -ExecutionPolicy Bypass -File . \jaws-enum.ps1 -OutputFilename JAWS-Enum.txt

它会将关键信息存储到名为“JAWS-Enum.txt”的文本文件中
如上所述,JAWS-Enum.txt文件必须已经存储了可以导致权限提升的向量,打开并查看结果。

PowerUp

PowerUp是一个PowerShell工具,用于协助Windows系统上的本地权限提升。 PowerUp旨在成为依赖错误配置的常见Windows权限提升向量的重量级程序。
运行Invoke-AllChecks将输出任何可识别的漏洞以及任何滥用功能的规范。 -HTMLReport标志还将生成报告的COMPUTER.username.html版本。
当前特征
服务枚举:
· Get-ServiceUnquoted: – 返回名称中包含空格的未加引号路径的服务。
· Get-ModifiableServiceFile: – 返回当前用户可以写入路径或其配置的服务。
· Get-ModifiableService: – 返回当前用户可以修改的服务。
· Get-ServiceDetail: – 返回指定服务的详细信息。
服务滥用:
· Invoke-ServiceAbuse: – 修改易受攻击的服务以创建本地管理员或执行自定义命令。
· Write-ServiceBinary: – 写出修补的C#服务二进制文件,添加本地管理员或执行自定义命令。
· Install-ServiceBinary: – 将服务二进制文件替换为添加本地管理员或执行自定义命令的服务二进制文件。

· Restore-ServiceBinary: – 使用原始可执行文件恢复已替换的服务二进制文件。
DLL 劫持:
· Find-ProcessDLLHijack: – 为当前正在运行的进程发现潜在的DLL劫持机会
· Find-PathDLLHijack: – 查找服务%PATH% DLL劫持机会
· Write-HijackDll: – 写出一个劫持的DLLrite-HijackDll : – writes out a hijackable DLL
注册表检测:
· Get-RegistryAlwaysInstallElevated: – 检查是否设置了AlwaysInstallElevated注册表项
· Get-RegistryAutoLogon: – 检查注册表中的Autologon凭据
· Get-ModifiableRegistryAutoRun: – 在HKLM autoruns中检查任何可修改的二进制文件/脚本(或它们的配置)。
现在使用以下命令从git hub下载它,如上所述powerUp是powersploit的模块,因此需要下载powersploit包。

git clone https: / /github.com/PowerShellMafia/PowerSploit.gitcd PowerSploitlscd Privesclsls
load power shell and then import the downloading script.load powershellpowershell_import '/root/Desktop/PowerSploit/Privesc/PowerUp.ps1'powershell_execute Invoke-AllChecks

上面的命令将显示目标可能容易受到可用于实现更高权限shell的推荐漏洞的攻击。