工具介绍:使用CACTUSTORCH 生成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日
本文作者:鲁班七号
本文来自云栖社区合作伙伴嘶吼,了解相关信息可以关注嘶吼网站。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值