工具介绍:使用CACTUSTORCH 生成Payload

本文讲的是工具介绍:使用CACTUSTORCH 生成Payload,CACTUSTORCH是一个生成payload的框架,可用于基于James Forshaw的DotNetToJScript工具的攻防对抗。这个工具允许C#二进制文件在payload内引导,提供可靠的手段绕过许多常见的防御。

目前CACTUSTORCH支持以下payload类型:

VBS
VBA
JS
JSE
WSF
HTA
VBE

在此之前,我们是不能直接从不包括VBA宏多种格式中调用shellcode注入。CACTUSTORCH有一个独立的C#二进制,它能够接受一个二进制名称和base64编码的shellcode注入。另外,它借用了@armitagehacker / CobaltStrike的VBA宏注入的概念,可以注入32位的可执行文件。

当前有效负载状态

当前其实有在几个框架中已经存在支持多种格式的payload生成,包括Metasploit和Cobalt Strike。然而,他们在生成payload时总是有一些缺点。

在Metasploit框架中,这些payload格式工作的情况如下:

VBS:文件删除和执行,Touches disk
HTA-PSH:使用WScript.Shell对象运行powershell.exe 
VBA-EXE:文件丢弃并执行 ,Touches disk
VBA:通过Kernel32 API的声明进行Shellcode注入 - Maldoc扫描的已知指标
VBA-PSH:使用Shell对象运行powershell.exe

在CobaltStrike中,以下payload格式的工作原理如下:

VBS:虚拟目标,创建COM对象到Excel,创建工作表,注入VBA宏代码并执行。主要依赖于正在安装的Office和注入的VBA中的Kernel32 API声明
VBA:通过Kernel32 API的声明进行Shellcode注入 - Maldoc扫描的已知指标
HTA-EXE:文件丢弃并执行,Touches disk
HTA-PSH:使用WScript.Shell对象运行powershell.exe
HTA-VBA:绕着一个VBS做的弱化,对COM反对Excel,宏注入Kernel32 API声明中的VBA代码

CACTUSTORCH的好处

CACTUSTORCH为当前payload生成提供了一些改进,已经超出了目前公共框架的能力:

在payload中不使用Kernel32 API声明
在C#二进制内混淆
允许任意指定目标二进制生成
允许指定任意shellcode
不产生PowerShell.exe
不需要Powershell
不需要office
不调用WScript.Shell
不需要分段,因为完整的无阶段shellcode可以包含在传送的payload内
没有静态父对子进行生成,用户可以更改wscript.exe生成的内容

exe产生Powershell.exe是可疑的,产生rundll32.exe可以说是有较少的危害的。你可以将其更改为calc.exe,ping.exe / t或类似的可疑二进制文件。

使用CACTUSTORCH

使用CACTUSTORCH是相对简单的,以下概述了生成自定义payload所需的步骤:

克隆目录中选择要使用的payload格式
选择要注入的二进制容器,必须存在于SYSWOW64和SYSTEM32中
为您的监听器生成原始的shellcode
$> cat payload.bin | base64 -w 0> out.txt
将out.txt base64原始payload复制到模板的“代码”变量中
如果为VBA执行,请通过vbasplit.py out.txt split.txt运行out.txt
然后将split.txt复制到VBA模板中突出显示的代码段中
payload准备就绪
如果你想要混淆的话

演示这些步骤的视频如下:

与 Cobalt 的整合

作为简化对手模拟活动的过程的一部分,我们创建了一个CACTUSTORCH攻击者脚本来促成这一点。

加载攻击者脚本之后,在“攻击”选项卡下,将显示以下菜单作为选项。您现在可以选择要使用的payload和选项,它将生成payload并为您托管。在VBA代码方面,它将被呈现在一个文本框中,它可以被复制并粘贴到Word VBA宏中。

原文发布时间为:2017年7月13日

本文作者:鲁班七号

本文来自合作伙伴嘶吼,了解相关信息可以关注嘶吼网站。

原文链接

时间: 2024-07-28 15:31:30

工具介绍:使用CACTUSTORCH 生成Payload的相关文章

性能测试知多少---测试工具介绍

继续这个系列的学习,这一节重点介绍目前流行的性能测试工具以及如何选择适合项目的工具.在此之前,我已经对性能测试工具的原理与架构做了分析. http://www.cnblogs.com/fnng/archive/2012/07/31/2617546.html      性能测试工具的选择与评估                                                 在性能工具原理与架构一章中,我们了解到性能测试工具的原理通常是:通过录制.回放脚本,模拟多用户同时访问被测试系

云服务器 ECS 镜像迁移:应用迁云之镜像迁移-(3)工具介绍

应用迁云之镜像迁移-(3)工具介绍 目前,在镜像迁移过程中,主要使用镜像制作工具及镜像文件格式转换工具.镜像制作工具主要是把被迁移服务器主机的操作系统及应用程序和数据制作成镜像文件.因为不同的虚拟化平台的镜像文件或虚拟磁盘文件使用的格式不同,所以需要镜像格式转换工具对镜像文件格式进行转换来适配不同虚拟化平台. 当前镜像迁移到阿里云使用较多的工具有很多,比如Disk2VHD.DD等镜像文件制作工具以及XenConvert.StarWindConverter.qemu-img等镜像格式转换工具.它们

ARM 开发软件及实用工具介绍

一.编译器介绍 1.ADS1.2     ADS是ARM公司的集成开发环境软件,他的功能非常强大.他的前身是SDT,SDT是ARM公司几年前的开发环境软件,目前SDT早已经不再升级.ADS包括了四个模块分别是:SIMULATOR:C 编译器:实时调试器:应用函数库. ADS的编译器调试器较SDT都有了非常大的改观, ADS1.2提供完整的WINDOWS界面开发环境.C编译器效率极高,支持c 以及c++,使工程师可以很方便的使用C语言进行开发.提供软件模拟仿真功能,使没有Emulators的学习者

Kali Linux中的十大WiFi攻击工具介绍

本文讲的是Kali Linux中的十大WiFi攻击工具介绍,在这十大WiFi攻击黑客工具中,我们将讨论一个非常受欢迎的主题:无线网络攻击以及如何防止黑客入侵.无线网络通常是网络的一个弱点,因为WiFi信号可以随处可见,任何人都可以使用.还有很多路由器包含漏洞,可以利用正确的设备和软件(如Kali Linux附带的工具)轻松利用漏洞.许多路由器制造商和ISP仍然默认在其路由器上启用了WPS,这使得无线安全和渗透测试变得更加重要.通过以下十大无线网络黑客工具,你可以测试我们自己的无线网络以获取潜在的

《Linux C编程从入门到精通》一第2章 在Linux中编写C语言代码2.1 Linux中C语言程序开发流程和工具介绍

第2章 在Linux中编写C语言代码 Linux C编程从入门到精通 Linux作为一个操作系统,一项重要的功能就是要支持用户编程.传统的UNIX下的程序开发语言是C语言,C语言是一种平台适应性强.易于移植的语言.Linux是用C语言写成的.反过来,Linux又为C语言提供了很好的支持,C语言编译工具gcc.调试工具gdb属于最早开发出来的一批自由软件.因此Linux与C语言形成了完美的结合,为用户提供了一个强大的编程环境,本章将介绍在Linux中编写C语言程序的流程和具体方法. 2.1 Lin

自定义View系列教程01--常用工具介绍

探索Android软键盘的疑难杂症 深入探讨Android异步精髓Handler 详解Android主流框架不可或缺的基石 站在源码的肩膀上全解Scroller工作机制 Android多分辨率适配框架(1)- 核心基础 Android多分辨率适配框架(2)- 原理剖析 Android多分辨率适配框架(3)- 使用指南 自定义View系列教程00–推翻自己和过往,重学自定义View 自定义View系列教程01–常用工具介绍 自定义View系列教程02–onMeasure源码详尽分析 自定义View

《Linux C编程从入门到精通》——第 2 章 在Linux中编写C语言代码 2.1Linux中C语言程序开发流程和工具介绍

第 2 章 在Linux中编写C语言代码 Linux作为一个操作系统,一项重要的功能就是要支持用户编程.传统的UNIX下的程序开发语言是C语言,C语言是一种平台适应性强.易于移植的语言.Linux是用C语言写成的.反过来,Linux又为C语言提供了很好的支持,C语言编译工具gcc.调试工具gdb属于最早开发出来的一批自由软件.因此Linux与C语言形成了完美的结合,为用户提供了一个强大的编程环境,本章将介绍在Linux中编写C语言程序的流程和具体方法. 2.1 Linux中C语言程序开发流程和工

代码生成工具之界面快速生成

界面开发,无论对于Web开发,还是Winform开发,都需要耗费一定的时间,特别对于一个数据库字段比较多的界面,一般就需要在编辑界面上摆的更多的控件来做数据显示,每次碰到这个,都有点头痛,反复的机械操作让人挺累,也很烦,但是又必须这样做. 由于数据库字段和界面的排版都有一定的关联关系,因此可以通过代码生成工具Database2Sharp的数据库元数据,包含表名称.备注信息.字段列表,以及每个字段的名称.备注.类型等信息,构造一个基础的界面,把重复机械的部分给快速完成,这就是我所说的界面快速生成.

MySQL数据导入导出方法与工具介绍(1- myslqimport utility)

mysql|数据             MySQL数据导入导出方法与工具介绍(1- myslqimport utility)              mysqlimport文本文件导入工具介绍 翻译声明:    本文内容来自Sam's Teach Yourself MySQL in 21 Days一书的部分内容,by Mark Maslakowski      英文原文版权属原作者所有,中文的部分翻译有略有增删;原书讲的过于清楚的地方有删,讲的不清楚的地方有增:如果有翻译的不妥或者不正确的地