工具介绍:使用CACTUSTORCH 生成Payload

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

工具介绍:使用CACTUSTORCH 生成Payload




原文发布时间为:2017年7月13日
本文作者:鲁班七号
本文来自云栖社区合作伙伴嘶吼,了解相关信息可以关注嘶吼网站。
目录
相关文章
|
5月前
|
缓存 前端开发 JavaScript
Spartacus ngsw-config.json 文件内容的详细解释
Spartacus ngsw-config.json 文件内容的详细解释
36 0
|
7月前
|
Linux 区块链 iOS开发
Snipaste截图工具
Snipaste截图工具
|
8月前
|
JavaScript 前端开发 Python
appium--使用PyYAML封装Capability
appium--使用PyYAML封装Capability
|
8月前
|
移动开发 前端开发 JavaScript
[工具推荐]截图工具 -- snipaste
[工具推荐]截图工具 -- snipaste
[工具推荐]截图工具 -- snipaste
|
9月前
Snipaste 截图工具
Snipaste 截图工具
42 0
Snipaste 截图工具
|
11月前
|
缓存 Linux Windows
certutil工具使用和bypass学习
certutil工具使用和bypass学习
533 0
|
数据采集 Python
Python 文件上传:如何使用 multipart/form-data 编码和 requests 包
为 Python 标准库没有提供创建 multipart/form-data 编码类型请求的内置方法,这种编码类型允许发送二进制数据和其他表单字段。因此,在 Python 文件上传时,程序必须要么使用第三方库,要么手动构造请求体和头部。其中一个比较简单的方法是使用 requests 包(PyPI 链接),简单快捷的在 Python 3 中使用Requests 包,通过Multipart/Form-Data 编码并上传文件。
660 0
Python 文件上传:如何使用 multipart/form-data 编码和 requests 包
|
Web App开发 JSON Java
selenium源码通读·9 |webdriver/common/desired_capabilities.py-DesiredCapabilities类分析
selenium源码通读·9 |webdriver/common/desired_capabilities.py-DesiredCapabilities类分析
158 0
selenium源码通读·9 |webdriver/common/desired_capabilities.py-DesiredCapabilities类分析
|
芯片 索引 内存技术
玩转parameter与localparameter,这篇文章就够了【Verilog高级教程】
玩转parameter与localparameter,这篇文章就够了【Verilog高级教程】
玩转parameter与localparameter,这篇文章就够了【Verilog高级教程】
|
JSON JavaScript 数据格式
HackerNews05-通过使用url模块的parse方法获取用户get提交的数据|学习笔记
快速学习 HackerNews05-通过使用url模块的parse方法获取用户get提交的数据
103 0
HackerNews05-通过使用url模块的parse方法获取用户get提交的数据|学习笔记