Xiao7 发布于2022年11月8日 分享 发布于2022年11月8日 0x00 前言 在之前的文章《Bypass Windows AppLocker》中,我研究了绕过Applocker的方法。最近看了一篇文章,介绍了使用LUA脚本绕过Applocker的方法。经过研究,产生了以下问题:旁路的原理是什么?什么样的AppLocker规则可以绕过?适用条件是什么? 文章地址: https://homjxi0e . WordPress . com/2018/03/02/白名单-绕过-使用-Lua-language-wlua-com/ 0x01 简介 本文将介绍以下内容: LUA剧本介绍 旁路测试 旁路原理 适用条件 防御方法 0x02 LUA脚本简介 轻量级脚本语言 用标准C语言编写 可以通过C/C代码调用 可以调用C/C函数。 目前是所有脚本引擎中速度最快的。 0x03 Windows系统下执行LUA脚本 1、安装Lua for Windows,下载地址: http://files . Lua forge . net/releases/luaforwindows/luaforwindows 2.输出hello world 脚本内容: 打印“你好,世界!' cmd: lua.exe一号 如下图 3.调用Windows API 脚本内容: 需要“外国人” MessageBox=外星人。User32.MessageBoxA MessageBox:类型{ret='long ',abi='stdcall ',' long ',' string ',' string ',' long'} MessageBox(0,“测试标题”,“LUA调用windows api”,0) 执行下图 4.执行LUA脚本 参考代码如下: 外部' C' { #包含“lua.h” #包括 #包括 } int main(int argc,char* argv[]) { Lua _ State * L=Lua _ open(); luaL _ open libs(L); luaL_dofile(L,argv[1]); Lua _ close(L); 返回0; } 项目需要以下设置: (1)修改VC目录 包含目录,添加c:\ program files \ Lua \ 5.1 \ include 库,添加C:\Program Files\Lua\5.1\lib (2)链接器-输入-附加依赖项,添加 lua5.1.lib lua51.lib 执行下图 执行C LUA脚本调用Windows API,需要在同一个目录下添加支持文件,如下图所示。 0x04 测试使用LUA脚本绕过Applocker 测试一: 测试系统:Win7x86 为Windows安装Lua 打开Applocker并配置默认规则。 使用lua.exe执行脚本: 成功绕过Applocker的拦截 如下图 测试二: 测试系统:Win7x86 为Windows安装Lua 打开Applocker,配置默认规则,添加规则:阻止lua.exe。 Applocker的拦截没有被绕过。 如下图 注: 您也可以使用wlua.exe来执行lua脚本。 测试三: 测试系统:Win7x64 未安装Lua for Windows。 打开Applocker,配置默认规则,系统禁止脚本执行。 lua.exe的同级目录放置lua5.1.dll(来自Lua for Windows的安装路径)。 使用lua.exe执行脚本: Applocker的拦截没有被绕过。 如下图 补充: 将lua.exe更改为wlua.exe,并将脚本内容更改为POC内容。地址如下: https://gist . githubusercontent . com/homjxi0e/FD 023113 bf8 B1 b 6789 AFA 05 c 3913157 c/raw/6 BF 41 CBD 76 e 9 df 6d 3d 3 edcc 9 e 289191 f 898451 DC/applockerbypassing . wlua 测试结果是一样的。 0x05 最终结论 经过以上测试,得出最终结论: 使用LUA脚本可以在一定程度上绕过Applocker,但需要满足以下条件: Lua for Windows目前已安装在系统上 Applocker的规则并没有禁止lua.exe和wlua.exe。 0x06 小结 简要介绍了LUA脚本的发展,测试了使用LUA脚本绕过Applocker的POC,并得出最终结论。 留下回复 链接帖子 意见的链接 分享到其他网站 更多分享选项…
推荐的帖子