当前位置: 首页 > news >正文

【ATTCK】MITRE Caldera - 测试数据泄露技巧

         CALDERA是一个由python语言编写的红蓝对抗工具(攻击模拟工具)。它是MITRE公司发起的一个研究项目,该工具的攻击流程是建立在ATT&CK攻击行为模型和知识库之上的,能够较真实地APT攻击行为模式。
         通过CALDERA工具,安全红队可以提前手动模拟并设定好攻击流程,并以此进行自动化攻击和事件响应演练。同样,安全蓝队也可以利用该工具,根据相应的威胁开展模拟应对。
         github地址: mitre/caldera: Automated Adversary Emulation Platform (github.com)

一、介绍

        有数据吗?

         答案可能是响亮的“是”,而且这些数据也应该受到保护。数据泄露更多时候只是时间问题,而不是是否发生的问题。无论是为了竞争利益、快速勒索赎金,还是勒索等更险恶的行为,数据盗窃已经并将继续成为各种规模和公众地位的组织面临的问题。
         Caldera 多年来一直免费帮助组织测试其防御能力。但好事变得更好:该平台现在提供了使用多种技术和从威胁情报中提取的数据目的地来测试渗透的能力。事实上,Caldera 现在有能力解决 MITRE ATT&CK 渗透策略中的(几乎)所有技术!防御者可以利用这些新功能,通过对手可能用来对付他们的各种渗透途径来对他们的防御进行压力测试。

二、搭建舞台

         Caldera 团队利用威胁情报来识别对手采用的各种渗透路径。虽然许多攻击者诉诸已经建立的命令和控制 (C2) 通道,但其他攻击者也扩展到带外渗透路径。根据我们的研究,团队选择将文件传输协议 (FTP)、GitHub、Dropbox 和 Amazon Web Services (AWS) 作为主要途径。
         此外,该团队还扩大了围绕渗透行动的支持能力。具体来说,我们使用其中一些新功能来创建四个对手配置文件。除了集成了旧配置文件的功能并引入新的收集功能的高级小偷配置文件之外,还创建了以下对手配置文件:
         通过 FTP 的高级窃贼
         通过 Dropbox 的高级窃贼
         通过 GitHub 存储库的高级窃贼
         高级窃贼(来自 GitHub Gist)
         这些配置文件中的每一个都利用基本文件搜索和暂存功能,通过实用程序进行压缩,并最终渗透到预期目标。当然,这些能力可以根据需要添加到其他操作中。
         支持渗透的能力和对手配置文件已添加到现有的 Stockpile 插件中,添加了以下能力:
         高级文件搜索和暂存器
         查找 Git 存储库并压缩 Git 存储库(本地主机)
         压缩暂存目录(受密码保护)- 7z 和 tar+gpg
         压缩暂存目录(受密码保护)并分解为更小的文件
         Exfil 压缩存档到 FTP(:这可以在不需要 V4 中引入的新 FTP C2 通道的情况下使用)
         将压缩存档导出到 Dropbox
         Exfil 压缩存档到 GitHub 存储库 | 要点
         另外:Exfil 目录文件到 GitHub
         通过 AWS CLI 将压缩存档导出到 S3
         通过 AWS CLI 将压缩存档传输到单独的 S3 存储桶
         计划渗漏(使用标准 HTTP C2 通道)
         为了进一步增强这些新功能, GitHub上提供了新的事实源该事实来源包含这些能力所利用的所有事实。它也可以在 Stockpile 中使用 - 只需取消 YAML 文件中与您要使用的功能相关的行的注释,并根据需要填写详细信息即可。
图1:一站式来源
渗透能力将以这种格式将文件传送到最终目的地:YYYYMMDDHHmmss-exfil-agentpaw-filename这有助于确保跨代理或同一代理的多个 exfil 消除文件冲突。

三、一些技巧

         技能名称高级文件搜索和暂存器

Windows 有效负载          Windows 有效负载Linux有效负载
Stockpile 的收集能力现在是全新且改进的。利用单个源文件,用户可以执行文件搜索和暂存(T1119:自动收集;T1074:数据暂存)。此外,用户还可以对各种文件属性进行过滤。
作为一个新选项,此功能还支持安全模式,用户可以在操作的事实源中指定特定的文件后缀。如果启用,该功能将仅暂存文件名末尾包含此标识符的文件,以避免渗透测试期间潜在的泄漏。举个例子,我们可以为事实pseudo.data.identifier指定值“_pseudo”,并将safe.mode.enabled 设置为“true”,以告诉Caldera忽略文件“interesting_file.docx”,但提取文件“other_file_pseudo” .docx。”
此功能还包括一些性能优势、扩展搜索参数以及在 Caldera 中作为单个操作运行而不是作为多个链接运行。使用所提供的源文件中的事实,用户可以控制以下选项作为该功能的参数:

         能力名称压缩暂存目录(受密码保护)

APT29、BRONZE BUTLER 和 Mustang Panda 等 APT 组织在泄露之前使用密码对档案进行加密。为了增强现有的存档能力,Caldera 现在提供加密选项(T1560.001:通过实用程序存档)。Linux 命令使用 tar 和 gpg 来创建和加密存档。Windows 命令利用 7-Zip 文件存档器来创建存档,该存档也被 Fox Kitten、HAFNIUM 和 PowerShower 等 APT 组织使用。
由于普遍存在的压缩工具的限制,此功能有一些注意事项:Linux 需要 gpg 版本 2.1 或更高版本,Windows 需要 7-Zip。如果不满足这些要求,这个能力就会失败。

         能力名称预定渗透

攻击者已安排了可能逃避注意的时间进行渗漏,或定期更新他们之前更新的数据。为此,Caldera 现在支持通过现有 HTTP C2 通道进行计划渗漏功能( T1029 :计划传输)。此功能增强了 Stockpile 中现有的 Exfil Staged Directory 功能,通过 Linux 的 cron 和 Windows 的 cmdlet 添加计划任务。

         能力名称:压缩暂存目录(受密码保护)并分割成更小的块

当被盗数据达到令人印象深刻的大小时,即使是在压缩状态下,Carbanak 等攻击者也会利用某种形式的文件分块或分割来促进从受害者中窃取大文件。这种速率限制可以帮助更好地隐藏流量或满足所选协议或介质的限制。因此,Caldera 使用户能够将存档文件分解为更小的、用户定义的块(T1030:数据传输大小限制)。
注意:由于操作过程中所需事实的冲突消除,此功能首先在创建块之前归档暂存目录,并在完成后删除较大的归档。因此,它应该用来代替任何其他归档功能。

         能力名称将临时存档导出至 FTP 服务器

对手名称Advanced Thief via FTP
Caldera 现在包含通过 FTP 泄露数据的功能(T1048.003:通过未加密/模糊的非 C2 协议泄露)。此功能独立于 Caldera 新的 FTP C2 选项。一旦提供了 FTP 服务器地址、用户名和密码,此功能即可将压缩存档泄露到指定的 FTP 服务器。这种渗漏方法已被各种 APT 组织使用,包括 APT33、Cherry Picker、FIN8 和 PoetRAT。
预测:云可能会丢失数据
随着当今组织中云存储的普遍合法使用,攻击者有充分的机会利用这些数据存储为自己谋取利益。例如,APT31 利用自定义远程访问木马 DropboxAES,在清除任何泄露证据之前将暂存文件传送到其实例。

         技能名称将临时存档导出至 Dropbox

对手名称Advanced Thief via Dropbox
您的组织允许使用 Dropbox 吗?好吧,那么对手也是允许的。为了解决越来越多地使用云存储作为渗漏目的地的问题,Caldera 添加了一项将压缩存档渗漏到 Dropbox 的新功能(T1567.002:通过云存储渗漏)。此功能需要一些用户设置,包括具有连接的 API 密钥的 Dropbox 帐户和 Dropbox 内具有适当访问控制的目标文件夹,以允许通过 API 写入。

         能力名称通过 AWS CLI 将压缩存档导出到 S3以及通过 AWS CLI 将压缩存档传输到单独的 S3 存储桶

作为另一个流行的云服务提供商,亚马逊网络服务 (AWS) 也成为了泄露信息的目的地。Caldera 中的两项新功能解决了这种泄露路径,一种是利用受害者计算机上的 AWS 命令行界面 (CLI) 传输到对手拥有的存储桶,另一种是使用受害者作为经过身份验证的存储桶进行存储桶到存储桶的传输用户。与此更新中添加的其他渗透功能一样,需要进行一些组装才能确保适当的软件 (CLI) 或身份和访问管理 (IAM) 权限可用。

         能力名称Exfil 目录文件到 GitHub 存储库Exfil 压缩存档到 GitHub 存储库Exfil 压缩存档到 GitHub Gist

对手简介通过 GitHub Repo 的 Advanced Thief通过 GitHub Gist 的 Advanced Thief
Caldera 现在支持通过 REST API将数据渗透到 GitHub Gists 和存储库( T1567.001 :渗透到代码存储库)。存储库能力需要四个事实:用户名、存储库名称、个人访问令牌和存储库分支。对于 Gists,您只需要一个简单的用户名和具有创建 Gists 权限的令牌即可。存储库渗漏将按原样上传整个文件(或多个文件);渗透到 Gist 会首先使用 Base64 对二进制数据进行编码,然后将其作为字符串渗透。对于 Linux,这需要磁盘上有一个临时文件才能与 curl 一起使用。
除了渗透能力之外,还添加了专门针对 Git 存储库的单独收集能力,以及使用正确事实的归档能力。这些功能将识别本地系统上的所有存储库,并系统地将它们存档,以便以后通过任何可用渠道进行渗透(使用事实host.dir.compress)。

相关文章:

【ATTCK】MITRE Caldera - 测试数据泄露技巧

CALDERA是一个由python语言编写的红蓝对抗工具(攻击模拟工具)。它是MITRE公司发起的一个研究项目,该工具的攻击流程是建立在ATT&CK攻击行为模型和知识库之上的,能够较真实地APT攻击行为模式。 通过CALDERA工具,安全…...

【数据结构】树与二叉树(十二):二叉树的递归创建(算法CBT)

文章目录 5.2.1 二叉树二叉树性质引理5.1:二叉树中层数为i的结点至多有 2 i 2^i 2i个,其中 i ≥ 0 i \geq 0 i≥0。引理5.2:高度为k的二叉树中至多有 2 k 1 − 1 2^{k1}-1 2k1−1个结点,其中 k ≥ 0 k \geq 0 k≥0。引理5.3&…...

Qt绘制网格和曲线

绘制网格: void Widget::drawGrid(QPainter &p, QRect &windRect) {QRect rect(windRect.left()m_margins.left(),windRect.top()m_margins.top(),windRect.width()-m_margins.left()-m_margins.right(),windRect.height()-m_margins.top()-m_margins.bo…...

2023-11-12

今日比较摆烂, 但是把自写管道的原理搞懂了, 主要是把 exp 完完全全看懂了, 还不错. 然后就没干啥了. 明日计划: 学校的作业. AFL 源码. 我真是服了我自己了, AFL 源码搁多久了, 操操操 然后把 seccomp 重新学习下...

[工业自动化-16]:西门子S7-15xxx编程 - 软件编程 - 西门子仿真软件PLCSIM

目录 前言: 一、PLCSIM仿真软件 1.1 PLCSIM仿真软件基础版(内嵌) 1.2 PLCSIM仿真软件与PLCSIM仿真软件高级版的区别? 1.3 PLCSIM使用 前言: PLC集成开发环境是运行在Host主机上,Host主机与PLC可以通过…...

运行npm install卡住不动的几种解决方案

在前端开发经常会遇到运行npm install 来安装工具包一直卡住不动,为此这里提供几种解决方案,供大家参考学习,不足之处还请指正。 第一种方案、首先检查npm代理,是否已经使用国内镜像 // 执行以下命令查看是否为国内镜像 npm con…...

[Android]_[初级]_[配置gradle的环境变量设置安装位置]

场景 在开发Android项目的时候, gradle是官方指定的构建工具。不同项目通过wrapper指定不同版本的gradle。随着项目越来越多,使用的gradle版本也增多,导致它以来的各种库也增加,系统盘空间不足,怎么解决? 说明 grad…...

docker更改存储目录原因及方案

为什么一定要将docker的存储目录挂载到其他目录 docker在安装时默认存储目录在/var/lib/docker,而该目录是在系统盘下的。docker安装后,会使用各种各样的镜像,动辄几个G,那么如此多的镜像文件,装着装着系统盘就撑爆了…...

HTTPS的工作流程

. HTTPS是什么? https是应用层中的一个协议,是在http协议的基础上引入的一个加密层。 为什么需要HTTPS 由于http协议内容都是按照文本的方式明文传输的,这就导致传输过程中会出现一些被篡改的情况。运营商劫持事件最开始百度,…...

C++语言的广泛应用领域

目录 1. 系统级编程 2. 游戏开发 3. 嵌入式系统 4. 大数据处理 5. 金融和量化分析 6. 人工智能和机器学习 7. 网络和通信 结语 C是一种多范式编程语言,具有高性能、中级抽象能力和面向对象的特性。由Bjarne Stroustrup于1979年首次设计并实现,C在…...

Lambertian模型(完美漫反射)

这里使用相乘的方式组合光照色和纹理色。根据这个模型,面朝光源的区域光照强度高,纹理色也相应增强。面背光源的区域光照弱,纹理色也被抑制。这样通过光照和纹理的结合,可以合成出具有照明效果的面部颜色,而不仅仅是固定的纹理本身的颜色。相乘方式可以近似实现不同光照方向下面…...

MATLAB的编程与应用,匿名函数、嵌套函数、蒙特卡洛法的掌握与使用

目录 1.匿名函数 1.1.匿名函数的定义与分类 1.2.匿名函数在积分和优化中应用 2.嵌套函数 2.1.嵌套函数的定义与分类 2.2.嵌套函数彼此调用关系 2.3.嵌套函数在积分和微分中应用 3.微分和积分 4.蒙特卡洛法 4.1.圆周率的模拟 4.2.计算N重积分(均匀分布&am…...

NFS服务器的搭建

架设一台NFS服务器,并按照以下要求配置 准备阶段:准备两台虚拟机,一台作为服务端,一台作为客户端 服务端(Server):192.168.75.139 客户端(Client):192.168.75.160 两…...

安卓Frida 常用脚本

打印调用堆栈, hook 某个方法,想看下调用堆栈,代码如下: function showStacks() {Java.perform(function () {send(Java.use("android.util.Log").getStackTraceString(Java.use("java.lang.Exception").$new()));});} 二,需要hook okhttp3 HttpUrl …...

机器学习数据预处理——Word2Vec的使用

引言: Word2Vec 是一种强大的词向量表示方法,通常通过训练神经网络来学习词汇中的词语嵌入。它可以捕捉词语之间的语义关系,对于许多自然语言处理任务,包括情感分析,都表现出色。 代码: 重点代码&#…...

面试算法常考题之-------逆波兰式合集

逆波兰式背景介绍 逆波兰式是一种特殊的数学表达式表示法,它的诞生背景可以追溯到20世纪30年代。当时,波兰数学家Jan Wjtowicz和Wacław Sierpiński提出了一种新的数学表达式表示法,这种表示法将运算符放在操作数之后,而不是传统…...

独热编码和Word2Vec的区别

独热编码和Word2Vec都是自然语言处理中将词向量化的方式,但它们之间并没有直接的关系或依赖性。它们可以被视为在处理词向量时的两种不同方法或策略。 独热编码是一种简单直观的方法,每个词被表示为一个长向量,其中只有一个元素是1&#xff0…...

RestTemplate.postForEntity 方法进行 HTTP POST 请求

RestTemplate 是 Spring Framework 提供的一个用于处理 HTTP 请求的客户端工具。其中&#xff0c;postForEntity 是 RestTemplate 提供的用于发送 HTTP POST 请求并返回 ResponseEntity 对象的方法。 public <T> ResponseEntity<T> postForEntity(String url, Obj…...

盘点双11!阿里妈妈助这些品牌短视频赢增长!

刚刚&#xff01;一年一度的双11落下帷幕&#xff0c;很多新变化值得回味。 尽管天气在变凉&#xff0c;但市场出现了逐渐回暖的迹象。在此背景下&#xff0c;大量商家特别关心如何在双11打一场漂亮的胜仗。 卖方如何行动&#xff0c;关键在于买方的变化。在阿里妈妈发布的《…...

内网可达网段探测netspy- Mac环境

netspy是一款快速探测内网可达网段工具 当我们进入内网后想要扩大战果&#xff0c;那我们可能首先想知道当前主机能通哪些内网段。 netspy正是一款应用而生的小工具&#xff0c;体积较小&#xff0c;速度极快&#xff0c;支持跨平台&#xff0c;支持多种协议探测&#xff0c;…...

[特殊字符] 智能合约中的数据是如何在区块链中保持一致的?

&#x1f9e0; 智能合约中的数据是如何在区块链中保持一致的&#xff1f; 为什么所有区块链节点都能得出相同结果&#xff1f;合约调用这么复杂&#xff0c;状态真能保持一致吗&#xff1f;本篇带你从底层视角理解“状态一致性”的真相。 一、智能合约的数据存储在哪里&#xf…...

【人工智能】神经网络的优化器optimizer(二):Adagrad自适应学习率优化器

一.自适应梯度算法Adagrad概述 Adagrad&#xff08;Adaptive Gradient Algorithm&#xff09;是一种自适应学习率的优化算法&#xff0c;由Duchi等人在2011年提出。其核心思想是针对不同参数自动调整学习率&#xff0c;适合处理稀疏数据和不同参数梯度差异较大的场景。Adagrad通…...

Golang dig框架与GraphQL的完美结合

将 Go 的 Dig 依赖注入框架与 GraphQL 结合使用&#xff0c;可以显著提升应用程序的可维护性、可测试性以及灵活性。 Dig 是一个强大的依赖注入容器&#xff0c;能够帮助开发者更好地管理复杂的依赖关系&#xff0c;而 GraphQL 则是一种用于 API 的查询语言&#xff0c;能够提…...

1.3 VSCode安装与环境配置

进入网址Visual Studio Code - Code Editing. Redefined下载.deb文件&#xff0c;然后打开终端&#xff0c;进入下载文件夹&#xff0c;键入命令 sudo dpkg -i code_1.100.3-1748872405_amd64.deb 在终端键入命令code即启动vscode 需要安装插件列表 1.Chinese简化 2.ros …...

微服务商城-商品微服务

数据表 CREATE TABLE product (id bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 商品id,cateid smallint(6) UNSIGNED NOT NULL DEFAULT 0 COMMENT 类别Id,name varchar(100) NOT NULL DEFAULT COMMENT 商品名称,subtitle varchar(200) NOT NULL DEFAULT COMMENT 商…...

汇编常见指令

汇编常见指令 一、数据传送指令 指令功能示例说明MOV数据传送MOV EAX, 10将立即数 10 送入 EAXMOV [EBX], EAX将 EAX 值存入 EBX 指向的内存LEA加载有效地址LEA EAX, [EBX4]将 EBX4 的地址存入 EAX&#xff08;不访问内存&#xff09;XCHG交换数据XCHG EAX, EBX交换 EAX 和 EB…...

select、poll、epoll 与 Reactor 模式

在高并发网络编程领域&#xff0c;高效处理大量连接和 I/O 事件是系统性能的关键。select、poll、epoll 作为 I/O 多路复用技术的代表&#xff0c;以及基于它们实现的 Reactor 模式&#xff0c;为开发者提供了强大的工具。本文将深入探讨这些技术的底层原理、优缺点。​ 一、I…...

mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包

文章目录 现象&#xff1a;mysql已经安装&#xff0c;但是通过rpm -q 没有找mysql相关的已安装包遇到 rpm 命令找不到已经安装的 MySQL 包时&#xff0c;可能是因为以下几个原因&#xff1a;1.MySQL 不是通过 RPM 包安装的2.RPM 数据库损坏3.使用了不同的包名或路径4.使用其他包…...

基于IDIG-GAN的小样本电机轴承故障诊断

目录 🔍 核心问题 一、IDIG-GAN模型原理 1. 整体架构 2. 核心创新点 (1) ​梯度归一化(Gradient Normalization)​​ (2) ​判别器梯度间隙正则化(Discriminator Gradient Gap Regularization)​​ (3) ​自注意力机制(Self-Attention)​​ 3. 完整损失函数 二…...

【Nginx】使用 Nginx+Lua 实现基于 IP 的访问频率限制

使用 NginxLua 实现基于 IP 的访问频率限制 在高并发场景下&#xff0c;限制某个 IP 的访问频率是非常重要的&#xff0c;可以有效防止恶意攻击或错误配置导致的服务宕机。以下是一个详细的实现方案&#xff0c;使用 Nginx 和 Lua 脚本结合 Redis 来实现基于 IP 的访问频率限制…...