如何利用Regasm.exe与Regsvcs.exe绕过AppLocker

如何利用Regasm.exe与Regsvcs.exe绕过AppLocker,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

AppLocker 

AppLocker也被称作“应用程序控制策略”,是Windows系统下的一项安全功能,来帮助管理员对主机系统进行一定程度的系统保护。通过合理定义规则,管理员可以决定哪些程序、安装程序、脚本可以在计算机上被运行,可以被定义的规则包括但不限于用户名名称、发布者名称、产品名称、文件路径、文件哈希、文件版本。 

复现环境

攻击机:Kali,IP 192.168.195.154

受害机:Windows 7 32位,IP 192.168.195.145,管理员权限用户root,普通权限用户test

工具:Metasploit、Ollydbg

文件:calc_signed.dll、calc_unsigned.dll、msf_signed.dll、msf_unsigned.dll

如何利用Regasm.exe与Regsvcs.exe绕过AppLocker

复现流程

首先在受害机上进入本地服务,将Application Identity服务启动,该服务为AppLocker功能生效的先决条件。

如何利用Regasm.exe与Regsvcs.exe绕过AppLocker

在攻击机上使用msfvenom生成C#格式的payload,该payload运行后将会连接攻击机的指定端口。

如何利用Regasm.exe与Regsvcs.exe绕过AppLocker

网站“https://github.com/3gstudent/Bypass-McAfee-Application-Control–Code-Execution/blob/master/regsvcs.cs”可以下载用以生成恶意dll的cs文件,C:/Windows/Microsoft.NET/Framework/v4.0.30319文件夹中的csc.exe程序可以将cs文件生成为dll文件。在本文中,我们将使用calc.cs文件及msf.cs文件作为生成恶意dll的cs文件。其中,calc.cs文件即为从网站上下载的regsvcs.cs文件,msf.cs文件只需将calc.cs文件中shellcode部分替换为先前生成的payload即可。

如何利用Regasm.exe与Regsvcs.exe绕过AppLocker

csc.exe将使用calc.cs与msf.cs文件生成4个不同的dll文件,分别为calc_signed.dll、calc_unsigned.dll、msf_signed.dll、msf_unsigned.dll。其中calc_signed.dll为被签名的dll文件,calc_unsigned.dll为未被签名的dll文件,功能均为弹出一个计算器。msf_signed.dll为被签名的dll文件,msf_unsigned.dll为未被签名的dll文件,功能均为打开一个回连msf攻击机的会话。生成这4个dll的具体指令见下图。

如何利用Regasm.exe与Regsvcs.exe绕过AppLocker

Regasm.exe与Regsvcs.exe均可用来进行AppLocker绕过,但regsvcs.exe加载或卸载指定dll时该dll必须签名才可执行成功,否则将会出现下图中的报错。

如何利用Regasm.exe与Regsvcs.exe绕过AppLocker

进行签名所需的程序在C:/Program Files/Microsoft SDKs/Windows/v8.0A/bin/NETFX 4.0 Tools文件夹中,可使用下图中的命令生成密钥对文件。

如何利用Regasm.exe与Regsvcs.exe绕过AppLocker

进行绕过前,我们将设置AppLocker下文件的通过规则,该规则可在“控制面板-管理工具-本地安全策略-应用程序控制策略-AppLocker”中进行设置。在本例中,我们设置用户名root允许或拒绝执行calc.exe程序。如下图所示,在允许执行时,可以成功弹出计算器。

如何利用Regasm.exe与Regsvcs.exe绕过AppLocker

在拒绝执行时,计算器无法成功弹出。因此可知,任意使用生成的dll来启动新程序的行为将无法绕过AppLocker规则。因此,我们将使用不会启动新程序的dll来进行后续测试。由于无新程序启动,则无法在Applocker中设置阻止规则。

如何利用Regasm.exe与Regsvcs.exe绕过AppLocker

如下图所示,当msf_signed.dll文件被尝试加载时,进行网络通信回连行为的是Regsvcs.exe进程。

如何利用Regasm.exe与Regsvcs.exe绕过AppLocker如何利用Regasm.exe与Regsvcs.exe绕过AppLocker

在运行上图指令时,在攻击端打开msfconsole开启一个对4444端口的监听,随后可以看见成功获取shell。由下图可知,获取的shell可用来控制受害机。

如何利用Regasm.exe与Regsvcs.exe绕过AppLocker

由于Regasm.exe与Regsvcs.exe进行dll注册时需要管理员权限,因此在普通权限用户test下测试时,我们将使用另一个指令。

如何利用Regasm.exe与Regsvcs.exe绕过AppLocker

Regasm.exe与Regsvcs.exe进行dll卸载时普通权限即可,因此,我们使用下图中的指令尝试打开计算器与回连msf攻击机。经过测试。Regasm.exe可成功完成AppLocker绕过。

如何利用Regasm.exe与Regsvcs.exe绕过AppLocker如何利用Regasm.exe与Regsvcs.exe绕过AppLocker

在攻击机上可以看到,当前的用户权限为普通用户test。

如何利用Regasm.exe与Regsvcs.exe绕过AppLocker

因此,即使受害机处于普通权限下,我们依然可以在攻击机上对受害机进行恶意操作,如下载文件、截屏、获取系统信息、执行指定程序等。

如何利用Regasm.exe与Regsvcs.exe绕过AppLocker如何利用Regasm.exe与Regsvcs.exe绕过AppLocker

我们也可以在shell中移动至普通用户有权限的位置(如桌面),进行创建文件夹并上传恶意文件等恶意操作。

如何利用Regasm.exe与Regsvcs.exe绕过AppLocker

最后,我们对被注册的恶意msf_signed.dll进行简要的逆向分析,来了解该dll注册时回连攻击机的过程。将RegAsm.exe使用OD打开并添加msf_signed.dll为启动参数,设置中断于新dll的加载,随后依次加载直至加载msf_signed.dll。

如何利用Regasm.exe与Regsvcs.exe绕过AppLocker

进入新线程后,该dll将尝试使用connect()函数连接ip 192.168.195.154。

如何利用Regasm.exe与Regsvcs.exe绕过AppLocker

连接成功后,该dll将尝试使用recv()函数进行数据接收。

如何利用Regasm.exe与Regsvcs.exe绕过AppLocker如何利用Regasm.exe与Regsvcs.exe绕过AppLocker

准备数据接收时,该dll将使用VirtualAlloc()函数分配内存空间,将即将接收的数据存储,由下图可知接收的数据为一个PE文件。

如何利用Regasm.exe与Regsvcs.exe绕过AppLocker如何利用Regasm.exe与Regsvcs.exe绕过AppLocker

随后该dll将进入该PE文件所在的内存空间,该文件为msf完成连接后进行控制操作的核心代码,攻击机可通过该段代码将攻击指令下发至受害机,并从受害机获取相应的信息。

如何利用Regasm.exe与Regsvcs.exe绕过AppLocker

防护措施

1、开启AppLocker功能,合理设置规则,阻止恶意可执行文件的运行;

2、不轻易注册来历不明的dll;

3、不轻易运行来历不明的软件;

4、及时更新病毒库,查杀主机中的恶意病毒;

5、推荐使用“铁穹高级持续性威胁系统”(简称”铁穹“)发现潜在的攻击行为。“铁穹”是东巽科技技术有限公司结合流量检测与沙箱分析功能,用以检测主机内潜在威胁行为的系统。

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。

原创文章,作者:3628473679,如若转载,请注明出处:https://blog.ytso.com/222629.html

(0)
上一篇 2022年1月6日
下一篇 2022年1月6日

相关推荐

发表回复

登录后才能评论