Cobalt Strike 默认Artifact可能会被大多数端点安全办理方案拦截。只管规避不是Cobalt Strike产品默认的目标,但Cobalt Strike确实供应了一些灵巧性。
作为操作员,你可以变动 Cobalt Strike 在其事情流程中利用的可实行文件、DLL、applet和脚本模板。你还可以以多种格式导出 Cobalt Strike 的Beacon payload,可以与用于规避的第三方工具合营利用。
本章将重点先容供应这种灵巧性的 Cobalt Strike 功能。

Cobalt Strike 利用 Artifact Kit 天生其可实行文件和 DLL。Artifact Kit是 Arsenal Kit 的一部分,Arsenal Kit 包含一系列工具包 ,它是一个源码框架,用于构建可规避某些防病毒产品的可实行文件和 DLL。
#6.1.1、Artifact 工件集理论传统的反病毒产品利用署名来识别已知的恶意代码。如果我们将已知的恶意 shellcode 嵌入可实行文件,反病毒产品就会识别出 shellcode 并将可实行文件标记为恶意。
为了绕过这种检测,攻击者常日会以某种办法稠浊 shellcode 并将其放入二进制文件中。这种稠浊过程可以绕过利用大略字符串搜索来识别恶意代码的防病毒产品。
现在许多反病毒产品会进行更严格的检测。通过仿照虚拟沙箱运行可实行文件。在实行每个仿照步骤时,防病毒产品都会检讨仿照进程空间中是否存在恶意行为。如果涌现已知的不良行为,反病毒产品会将这个可实行文件或 DLL 标记为恶意文件。这项技能击败了许多试图从基于署名的防病毒产品中隐蔽恶意代码的编码器和加壳器。
Cobalt Strike 的应对方法很大略。防病毒沙箱有其局限性。它不是一个完全的虚拟机。有些系统行为是防病毒沙箱无法仿照的。 Artifact Kit 是可实行文件和 DLL 模板的凑集,这些可实行文件和 DLL 模板依赖于一些反病毒产品不会仿照来还原二进制中的 shellcode 的行为。
个中一项技能[拜会:Artifact Kit 中的 src-common/bypass-pipe.c] 天生可实行文件和 DLL,通过命名管道为自身供应 shellcode。如果防病毒沙箱不能仿照命名管道,它将无法创造这个恶意的shellode。
#6.1.2、Artifact Kit 无效的地方当然,反病毒产品可能击败 Artifact Kit 的特定实现。如果反病毒厂商为你利用的 Artifact Kit 技能编写了署名,那么它创建的可实行文件和 DLL 将被捕获。从Cobalt Strike 2.5 乃至更低版本就已经被反病毒软件盯上了。随着韶光的推移,Cobalt Strike 中默认的绕过技能会逐渐失落效。你可以利用这些 Artifact 工件集中的某项技能作为根本来构建你自己的Artifact 工件集实现。
但这远远不足。一些反病毒产品会调用反病毒厂商的做事器进行云查杀和检测,来决定该可实行文件或DLL 是否是非恶意的或者是之前从未见过的未知可实行文件或 DLL。个中一些产品会自动向厂商发送未知的可实行文件和 DLL,以供进一步剖析并警告用户。有些产品会把未知的可实行文件或DLL 视为恶意的。这取决于反病毒产品及其设置。
要点:在这种情形下,再多的“稠浊”也无济于事。你面临着一种不同类型的防御,须要相应地办理它。处理这些情形的办法与处理运用程序白名单的办法相同。考试测验找到一个已知的好程序(例如,powershell),利用它把你的payload stager注入到内存中。
#6.1.3、如何利用Artifact Kit点击 Cobalt Strike 菜单Help -> Arsenal 以下载 Arsenal 套件(须要Cobalt Strike注册码)。还可以直接访问Arsenal网址:https://www.cobaltstrike.com/scripts
Fortra 将 Arsenal Kit 作为 .tgz 文件分发。利用 tar 命令将其解压。 Arsenal Kit包括 Artifact Kit,它可以与其他套件一起构建或作为独立套件构建。有关构建套件的信息,请参阅 Arsenal Kit README.md 文件。
我们鼓励你修正 Artifact Kit 及其技能,使其知足你的需求。虽然说闇练的 C 程序员可以利用 Artifact Kit 做更多事情,但对付富有冒险精神的非程序员来说,利用 Artifact Kit 也是非常可行的。
#6.2、Veil 规避框架Veil 是一个盛行的框架,用于天生可以绕过某些防病毒产品的可实行文件。可以利用 Veil 为Cobalt Strike的payload天生可实行文件。
安装解释:https://github.com/Veil-Framework/Veil
步骤:
1、点击Payloads -> Stager Payload Generator
2、选择监听器
3、选择输出类型为Veil
4、点击Generate天生payload并保存文件
5、启动 Veil Evasion Framework 并选择你要利用的技能。
6、Vei 会讯问关于 shellcode 的天生选项,选择Custom(自定义)
7、粘贴 Cobalt Strike 刚天生的payload的文件内容。
8、按 Enter 键,你将得到一个新的 Veil 制作的可实行文件
$ ./Veil.pyVeil>: use Evasion //利用EvasionVeil/Evasion>: use python/shellcode_inject/flat.py //设置payload技能.....[python/shellcode_inject/flat>>]: generate //开始天生 [?] Generate or supply custom shellcode? 1 - Ordnance (default) 2 - MSFVenom 3 - Custom shellcode string 4 - File with shellcode (\x41\x42..) 5 - Binary file with shellcode [>] Please enter the number of your choice: 3 //选择自定义 [>] Please enter custom shellcode (one line, no quotes, \x00.. format): //在此处粘贴payload txt内容 [>] Please enter the base name for output files (default is payload): //按回车 [?] How would you like to create your payload executable? 1 - PyInstaller (default) 2 - Py2Exe [>] Please enter the number of your choice: 1 //选择创建payload实行程序的方法 ============================================================================== [Web]: https://www.veil-framework.com/ | [Twitter]: @VeilFramework=============================================================================== [] Language: python [] Payload Module: python/shellcode_inject/flat [] Executable written to: /var/lib/veil/output/compiled/payload.exe [] Source code written to: /var/lib/veil/output/source/payload.py
#6.3、Java Applet攻击
Fortra 将源代码作为 Applet Kit 分发给 Cobalt Strike 的 Applet Attacks。 Cobalt Strike 武器库中也供应了此功能。通过Help -> Arsenal下载 Applet 工具包。
利用附带的 build.sh 脚本在 Kali Linux 上构建Applet工具包。许多 Cobalt Strike 客户利用这种灵巧性,利用他们购买的代码署名证书来签署Cobalt Strike的 Java Applet 攻击。强烈推举这种做法。
要使 Cobalt Strike 利用你的 Applet 工具包而不是内置工具包,请加载 Applet 工具包中包含的 applet.cna 脚本。
在 Cobalt Strike Arsenal页面上你会把稳到Power Applet(Powershell 小程序)。这是 Cobalt Strike的 Java Applet攻击利用 PowerShell 的替代实现,用于将 payload 注入内存。Power Applet展示了你有利用完备不同的方法重修 Cobalt Strike 的标准攻击并把它门用于 Cobalt Strike 的事情流中的灵巧性。通过加载小程序集中包含的 applet.cna 脚本,可以使 Cobalt Strike 利用你的小程序集而不是内置的工具包。
#6.4、Resource Kit资源集资源集是 Cobalt Strike 改变其在事情流中利用的 HTA,Powershell,Python,VBA 和 VBA 脚本模板的方法。Resource Kit是 Cobalt Strike arsenal的一部分,通过Help -> Arsenal下载。
资源集的 README.md 记录了所包含的脚本以及利用它们的功能。要规避反病毒产品,请考虑变动这些脚本中的字符串或行为。
要使 Cobalt Strike 利用你的脚本模板而不是内置脚本模板,请加载 dist/arsenal_kit.cna 或dist/resource/resources.cna脚本。有关更多信息,请参阅 Arsenal Kit README.md 文件。
#6.5、Sleep Mask套件(就寝掩码套件)Sleep Mask Kit 是就寝掩码函数的源代码,实行该函数来在Beacon进入休眠之前,它会对自身和干系内存(例如堆内存)进行掩码操作。用于规避针对.text/.data节的检测,通过Help -> Arsenal下载。个中包括sleep mask套件。
有关sleep mask套件的更多信息,请参阅 arsenal-kit/README.md 和 arsenal-kit/kits/sleepmask/README.md 文件。
#解释本文由笔者在Cobalt Strike官方用户指南原文(https://hstechdocs.helpsystems.com/manuals/cobaltstrike/current/userguide/content/topics/welcome_main.htm)根本上编译,如需转载请注明来源。