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

发布时间:2021-12-16 17:49:09 作者:柒染
来源:亿速云 阅读:303

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

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

推荐阅读:
  1. 利用Vulnhub复现漏洞 - Couchdb 垂直权限绕过
  2. Filter怎么利用http请求实现绕过

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

applocker

上一篇:怎样解析容器存储接口CSI

下一篇:怎么解析Python中的Dict

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》