Cobalt Strike 4.8 用户指南-第六节-Payload Artifacts和反病毒规避

news2024/11/16 5:58:01

Fortra 经常回答有关规避的问题。Cobalt Strike 会绕过反病毒产品吗?它绕过了哪些反病毒产品?多久检查一次?

Cobalt Strike 默认Artifact可能会被大多数端点安全解决方案拦截。尽管规避不是Cobalt Strike产品默认的目标,但Cobalt Strike确实提供了一些灵活性。

作为操作员,你可以更改 Cobalt Strike 在其工作流程中使用的可执行文件、DLLapplet和脚本模板。你还可以以多种格式导出 Cobalt Strike 的Beacon payload,可以与用于规避的第三方工具配合使用。

本章将重点介绍提供这种灵活性的 Cobalt Strike 功能。

# 6.1、Artifact 工件集

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

image-20230922103754410

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 Strikepayload生成可执行文件。

安装说明:https://github.com/Veil-Framework/Veil

步骤:

1、点击Payloads -> Stager Payload Generator

2、选择监听器

3、选择输出类型为Veil

4、点击Generate生成payload并保存文件

image-20230922105030971

5、启动 Veil Evasion Framework 并选择你要使用的技术。

6、Vei 会询问关于 shellcode 的生成选项,选择Custom(自定义)

7、粘贴 Cobalt Strike 刚生成的payload的文件内容。

8、按 Enter 键,你将获得一个新的 Veil 制作的可执行文件

$ ./Veil.py
Veil>: use Evasion //使用Evasion
Veil/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 改变其在工作流中使用的 HTAPowershellPythonVBA 和 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)基础上编译,如需转载请注明来源。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2104674.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

记一次cms的web渗透测试练习

点击文章发现 尝试进行sql注入 得到漏洞为数字型 通过order by语句得到字段总数为15 通过union联合查询得到显示的字段编号 将database()带入得到数据库名为cms 接下来就是查表名、字段名、具体数据 发现密码经过加密,尝试解密 通过解密得知admin账户的密码为12…

潮玩宇宙斗兽场游戏源码多个猿猴boss模式玩法开发成品案例代码示例

潮玩宇宙中的斗猿场是很多潮玩人都喜欢玩的一种大逃杀类游戏,玩法大概是这样的,玩家选择一个格子躲避恶猿,满足人数后恶猿会按随机数顺时针前行,在某个格子停留后杀死里面所有猴子,被踩中的格子内的玩家则会被恶猿杀掉…

glsl着色器学习(十)缩放

对二维图形进行缩放&#xff0c;需要用到顶点着色器&#xff0c;顶点着色器经过矩阵变换&#xff0c;会将模型空间最终转换成裁剪空间。下面就来操作矩阵 这里需要用到一个库glMatrix。 首先修改顶点着色器 <script id"vertex-shader-2d" type"x-shader/x-…

【AI大模型】2024 大模型爆发年,这些教程足够你入局AI大模型,搭上行业风口!

如果说 2023 年被称为 AI 元年&#xff0c;那么 2024 年就正式步入了爆发年&#xff01;几乎身边的每个程序员/每个产品经理都在思考&#xff1a;如何入局AI大模型&#xff1f;怎样才能成为这只风口上的猪&#xff1f; 作为一个普通人&#xff0c;应该如何入局&#xff1f;怎样…

多面体随旋转发出不同色彩效果

多面体随旋转发出不同色彩效果 下载地址&#xff1a;https://download.csdn.net/download/Allen7474/89713552 效果图&#xff1a; 实现细节&#xff1a; >>阶段1&#xff1a; >>阶段2&#xff1a; >>阶段3&#xff1a;

微软Azure OpenAI 集成矢量化

Azure AI Search中已全面支持集成矢量化与 Azure OpenAI 嵌入。 这标志着我们持续致力于简化和加快检索增强生成 (RAG)和传统应用程序的数据准备和索引创建的重要里程碑。 集成矢量化简化了 RAG 流程 参考链接&#xff1a;微软Azure OpenAI 免费试用申请 为什么矢量化很重要…

VBA中类的解读及应用第十五讲:让文本框在激活时改变颜色(上)

《VBA中类的解读及应用》教程【10165646】是我推出的第五套教程&#xff0c;目前已经是第一版修订了。这套教程定位于最高级&#xff0c;是学完初级&#xff0c;中级后的教程。 类&#xff0c;是非常抽象的&#xff0c;更具研究的价值。随着我们学习、应用VBA的深入&#xff0…

css设置让整个盒子的内容渐变透明(非颜色渐变透明)

css设置让整个盒子的内容渐变透明&#xff08;非颜色渐变透明&#xff09; 效果核心css代码 效果 核心css代码 /* 设置蒙版上下左右渐变显示 */ mask-image: linear-gradient(to right, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 1) 10%, rgba(0, 0, 0, 1) 90%, rgba(0, 0, 0, 0) 1…

使用命令行窗口新建一个Java文件,输出HelloWorld

进入桌面 cd desktop在桌面新建文件夹 mkdir zwt进入文件夹&#xff0c;新建.Java文件 cd zwt echo. > helloWorld.java使用记事本打开文件编写代码 notepad HelloWorld.java此时电脑就会自动打开文件&#xff0c;直接编写代码 public class HelloWorld(){public stati…

北京君正低功耗MCU芯片应用在柯氏音法电子血压计

汉王科技&#xff0c;作为一家在中关村有着30年品牌历史的人工智能企业&#xff0c;始终致力于利用先进技术提升人们的生活品质。近日&#xff0c;继血压计KSY-FF660上市掀起血压测量新标准后&#xff0c;汉王科技再次突破行业创新&#xff0c;推出一体式柯氏音法电子血压计FY7…

高速信号真的可以参考电源层吗?

信号电流必须具有完整的环路&#xff0c;才可传递信息。完整的环路即信号由驱动器发出&#xff0c;经导线传输至接收器&#xff0c;然后再通过某种途径由接收器返回驱动器&#xff0c;形成闭环回路。   高速信号的参考平面一般为信号GND平面&#xff0c;是否可以参考电源平面…

使用iframe在Vue中实现ChatGPT嵌入及微前端解决方案

更多内容个人网站&#xff1a;孔乙己大叔 在现代Web开发中&#xff0c;iframe&#xff08;Inline Frame&#xff09;是一个强大的工具&#xff0c;它允许开发者在一个HTML文档中嵌入另一个HTML文档。这种技术不仅可用于简单的网页内容嵌入&#xff0c;还广泛应用于复杂的应用集…

C++基础之杂项

目录 思维导图&#xff1a; 学习内容&#xff1a; 1. Lambda表达式 1.1 基本概念 1.2 定义格式 1.3 常用情况 二、异常处理 2.1 什么是异常处理 2.2 何时使用异常处理 2.3 异常处理的格式 2.4 异常实例 2.5 构造和析构中的异常 2.6 系统提供异常类 三、C中文件…

Arduino基础入门学习——使用BH1750(GY-302)光照强度传感器获取光照强度

使用BH1750&#xff08;GY-302&#xff09;光照强度传感器获取光照强度 一、前言二、BH1750&#xff08;GY-302&#xff09;介绍三、准备工作四、程序代码五、运行结果六、结束语 一、前言 话不多说&#xff0c;先给大家来一句鸡汤&#xff08;鸡汤来咯&#xff01;&#xff09…

人工智能中常用的python模块

一&#xff1a;pypinyin 作用&#xff1a;汉字转拼音 pip3 install pypinyin使用 from pypinyin import lazy\_pinyin,TONE2,TONEres \ lazy\_pinyin(先帝创业未半) print(res) #\[xian, di, chuang, ye, wei, ban\] res \ lazy\_pinyin(先帝创业未半,styleTONE2) print(re…

什么是网络威胁情报?

目录 网络威胁情报定义 网络威胁情报的优势 常见攻击指标(IOC) 数据与情报 谁从威胁情报中受益&#xff1f; 我的组织是否具备威胁情报能力&#xff1f; 全面网络威胁情报的价值 提供威胁情报的三种方式 战略威胁情报 战术威胁情报 运营威胁情报 威胁情报解决方案中…

【主机入侵检测】开源安全平台Wazuh之Wazuh Server

引言 Wazuh是一个开源的、免费的企业级安全监控解决方案&#xff0c;专注于威胁检测、完整性监控、事件响应和合规性。它由部署在受监控系统的端点安全代理和管理服务器组成&#xff0c;服务器收集并分析代理收集的数据。Wazuh支持多平台&#xff0c;包括Windows、Linux、macOS…

Qt (14)【Qt窗口 —— 文件对话框 QFileDialog】

阅读导航 引言一、文件对话框 QFileDialog简介二、基本用法1. 打开文件&#xff08;一次只能打开一个文件&#xff09;2. 打开多个文件&#xff08;一次可以打开多个文件&#xff09;3. 保存文件⭕参数说明 三、使用示例四、注意事项 引言 在之前的文章中&#xff0c;我们学习…

【Java】封装

文章目录 前言一、封装是什么&#xff1f;总结 前言 了解封装&#xff0c;运用起来。 一、封装是什么&#xff1f; 封装&#xff1a;就是隐藏对象的属性和实现细节&#xff0c;仅对外提供公共访问方式。 专业术语有点难以理解&#xff0c;但是可以用通俗易懂的例子来理解&am…

小皮面板webman ai项目本地启动教程

1.前置条件 下载小皮面板 下载后&#xff0c;双击安装&#xff0c;一路next&#xff08;下一步&#xff09;&#xff0c;无需更改配置。 2.安装必须软件 在小皮面板的软件管理页&#xff0c;安装编号①②③④下面四个软件。 3.启动本地服务 进入到小皮面板的首页&#x…