cassandrak-cyber/goanywhere-style-mft-breach-emulation
GitHub: cassandrak-cyber/goanywhere-style-mft-breach-emulation
该项目在隔离实验室中安全复现GoAnywhere风格的MFT数据泄露攻击链,用于威胁仿真、检测工程和事件响应文档记录。
Stars: 0 | Forks: 0
# GoAnywhere 风格的 MFT 违规 emulation
安全地 emulation GoAnywhere 风格的托管文件传输违规事件,包括 MITRE ATT&CK 映射、检测工程和事件文档。
# GoAnywhere 风格的 MFT 违规 Emulation 实验室
## 项目概述
本项目是一个安全、受控的实验室,用于 emulation 2023 年 GoAnywhere MFT 违规事件中观察到的攻击行为。本项目的目的不是去利用真实的 GoAnywhere 软件,而是在合法的实验室环境中重建通用的攻击链,以便防御者了解此类违规是如何发生的,以及如何对其进行检测。
2023 年的 GoAnywhere 事件展示了攻击者如何将目标对准暴露在互联网上的文件传输系统,利用漏洞,访问敏感文件并窃取数据。本实验室侧重于威胁 emulation、检测工程和防御文档。
## 展示的技能
- 威胁 emulation
- 漏洞评估
- Web 应用程序安全测试
- 数据泄露模拟
- MITRE ATT&CK 映射
- 检测规则开发
- 事件文档记录
- 安全报告
## 实验室环境
此实验室是在一个隔离的环境中进行的,仅使用了故意设置漏洞的系统和测试数据。
示例实验室工具:
- Kali Linux
- 具有漏洞的 Web 应用程序
- Windows 或 Linux 目标 VM
- Wireshark
- Nmap
- Burp Suite
- Python 简单 HTTP server
- Sigma 风格的检测逻辑
## 攻击场景
模拟攻击遵循以下一般流程:
1. 对暴露的文件传输 Web 应用程序进行侦察
2. 识别存在漏洞的服务
3. 未经授权访问 Web 应用程序
4. 发现敏感测试文件
5. 暂存文件以备泄露
6. 模拟向受攻击者控制的系统传输数据
7. 检测并记录可疑活动
8.# 阶段 1 – 环境准备
在 Ubuntu 虚拟机上创建了一个模拟的 Managed File Transfer (MFT) 环境。添加了具有代表性的业务文件,以 emulation 攻击者在数据窃取活动中经常针对的敏感信息类型。Ubuntu 机器使用 `ip -br addr` 命令获取 ip 地址。Linux 机器使用 `ping` 命令进行 ip 寻址测试。
如果攻击者攻破了托管文件传输服务器,他们通常是在寻找高价值的业务数据,而不是随机文件。
在 emulation 攻击之前,我创建了具有代表性的业务数据,以模拟托管文件传输服务器上通常存储的文件类型。这包括客户账户信息、员工工资单数据和供应商转账申请。所有数据都是虚构的,仅为实验室目的而创建。我创建了逼真但虚假的业务文档,因为在像 GoAnywhere 违规这样的攻击中,主要目标之一是数据窃取而不是系统破坏。
在与目标交互之前,攻击者通常会验证主机在网络上的可达性。无法在 UOP vm 环境中演示网络通信。仅 Pivot 到 Ubuntu 机器。
现在我们要像攻击者在获得访问权限后那样去检查它们。这代表了攻击的 Discovery 阶段。
攻击者可能会问:
• 这是财务数据吗?
• 包含工资单吗?
• 有客户账号吗?
• 值得窃取吗?
这映射到:
Discovery
• T1083 – File and Directory Discovery
在真实的 GoAnywhere 违规事件中,攻击者将目标对准了各组织用来交换文件的基于 Web 的文件传输应用程序。我们将通过使用一个简单的 web server 托管你的虚假业务文件来模拟这一点。
这代表了攻击者的目标:
Initial Access
T1190 – Exploit Public-Facing Application
模拟的 Managed File Transfer Server。
由于我的大学 VM 之间无法相互通信,我们将从 Ubuntu 机器本身验证该服务。这证明了该服务正在运行并提供文件服务。
目标:验证模拟的托管文件传输服务器可以通过 HTTP 访问。
行动:启动了一个本地 Python HTTP server,并确认可以通过 Web 浏览器查看具有代表性的业务文件。
目的:演示暴露的文件传输服务如何在初始访问后向攻击者呈现敏感的业务数据。
MITRE ATT&CK:T1190 – Exploit Public-Facing Application(实验室模拟)。
阶段 2 – 模拟的 Public-Facing 服务
• 启动了 Python HTTP server。
• 模拟了暴露的 MFT 应用程序。
• 通过 Web 浏览器验证了该服务。
一旦模拟的 MFT server 开始运行,我便访问了其中一个虚假客户文件,以 emulation 攻击者将如何验证所暴露数据的价值。同时,我查看了服务器日志,以观察在事件调查期间将提供法医证据的 HTTP GET 请求。
这映射到:
Discovery
T1083 – File and Directory Discovery
即使我们在浏览器中打开文件,从概念上讲,我们也是在发现敏感业务数据的内容。
阶段 3 – Discovery
• 打开了敏感文件。
• 验证了它们的内容。
• 记录了攻击者将它们作为目标的原因。
此阶段映射到:
• MITRE ATT&CK T1005 – Data from Local System
阶段 4 – Collection
• 使用 `wget` 下载了文件。
• 创建了一个攻击者的 collection 目录。
这是导致 GoAnywhere 违规事件极具破坏性的阶段之一。
攻击者并没有立即将他们找到的每一个文件都在网络上发送。他们通常会:
1. 收集感兴趣的文件。
2. 整理它们。
3. 压缩它们。
4. 然后将其泄露。
我们将对此进行模拟。
MITRE ATT&CK
这映射到:
T1074 – Data Staged
许多威胁行为者在泄露前会压缩数据,以减少传输时间并将多个文件打包在一起。我希望我的 emulation 能反映在数据窃取操作中通常观察到的行为,而不仅仅是复制文件。
目标:在模拟泄露之前暂存收集到的业务数据。
行动:将收集到的业务文件移动到暂存目录中,并将它们压缩成 ZIP 存档。
目的:威胁行为者通常在 exfiltration 之前压缩数据,以减少传输时间、简化数据管理,并将多个文件打包到单个存档中。
MITRE ATT&CK:T1074 – Data Staged
阶段 5 – 数据 Staging
• 整理了文件。
• 将它们压缩成
我首先要查看的地方之一是 web server 访问日志。在我的实验室中,每个文件请求都生成了一个 HTTP GET 条目,准确显示了访问了哪些文件以及请求是否成功。我将使用该信息来识别异常的访问模式,例如在短时间内下载了多个敏感业务文件。
文件访问的 Web Server 证据
阶段 6 – Forensics
• 生成了 SHA-256 hash。
• 保留了 web server 日志。
• 创建了证据 artifact。
在模拟 exfiltration 之前,我计算了存档的 SHA-256 hash。在真实的事件响应中,hash 用于验证文件完整性,并在整个调查过程中维护证据。
这是攻击的最后阶段。
在真实的 GoAnywhere 违规事件中:
• 攻击者找到了有价值的文件。
• 收集了它们。
• 压缩了它们。
• 将它们从服务器上转移出去。
加密 hash 就像文件的指纹。
如果一个 bit 发生改变……
hash 就会改变。
这使得调查人员能够证明:
• 这是同一个文件
• 它没有被修改过
• 保持了证据完整性
给 Edward Jones 的建议。
• 不要将 MFT server 直接暴露在互联网上。
• 要求管理员访问使用 MFA。
• 监控敏感文件的多次下载。
• 当创建包含敏感数据的 ZIP 存档时发出警报。
• 审查针对高价值文件的 HTTP GET 请求。
• 将 MFT 系统与内部网络隔离。
• 及时修补面向互联网的应用程序。
• 审计有权访问敏感数据的第三方供应商。
## 重要的道德声明
本项目仅用于教育和防御目的。未针对任何真实的组织、系统、凭据、客户记录或生产环境。该实验室仅使用受控的虚拟机和测试文件。
在与目标交互之前,攻击者通常会验证主机在网络上的可达性。无法在 UOP vm 环境中演示网络通信。仅 Pivot 到 Ubuntu 机器。
现在我们要像攻击者在获得访问权限后那样去检查它们。这代表了攻击的 Discovery 阶段。
攻击者可能会问:
• 这是财务数据吗?
• 包含工资单吗?
• 有客户账号吗?
• 值得窃取吗?
这映射到:
Discovery
• T1083 – File and Directory Discovery
在真实的 GoAnywhere 违规事件中,攻击者将目标对准了各组织用来交换文件的基于 Web 的文件传输应用程序。我们将通过使用一个简单的 web server 托管你的虚假业务文件来模拟这一点。
这代表了攻击者的目标:
Initial Access
T1190 – Exploit Public-Facing Application
模拟的 Managed File Transfer Server。
由于我的大学 VM 之间无法相互通信,我们将从 Ubuntu 机器本身验证该服务。这证明了该服务正在运行并提供文件服务。
这映射到:
Discovery
T1083 – File and Directory Discovery
即使我们在浏览器中打开文件,从概念上讲,我们也是在发现敏感业务数据的内容。
阶段 3 – Discovery
• 打开了敏感文件。
• 验证了它们的内容。
• 记录了攻击者将它们作为目标的原因。
此阶段映射到:
• MITRE ATT&CK T1005 – Data from Local System
阶段 4 – Collection
• 使用 `wget` 下载了文件。
• 创建了一个攻击者的 collection 目录。
这是导致 GoAnywhere 违规事件极具破坏性的阶段之一。
攻击者并没有立即将他们找到的每一个文件都在网络上发送。他们通常会:
1. 收集感兴趣的文件。
2. 整理它们。
3. 压缩它们。
4. 然后将其泄露。
我们将对此进行模拟。
MITRE ATT&CK
这映射到:
T1074 – Data Staged
许多威胁行为者在泄露前会压缩数据,以减少传输时间并将多个文件打包在一起。我希望我的 emulation 能反映在数据窃取操作中通常观察到的行为,而不仅仅是复制文件。
文件访问的 Web Server 证据
阶段 6 – Forensics
• 生成了 SHA-256 hash。
• 保留了 web server 日志。
• 创建了证据 artifact。
在模拟 exfiltration 之前,我计算了存档的 SHA-256 hash。在真实的事件响应中,hash 用于验证文件完整性,并在整个调查过程中维护证据。
这是攻击的最后阶段。
在真实的 GoAnywhere 违规事件中:
• 攻击者找到了有价值的文件。
• 收集了它们。
• 压缩了它们。
• 将它们从服务器上转移出去。
加密 hash 就像文件的指纹。
如果一个 bit 发生改变……
hash 就会改变。
这使得调查人员能够证明:
• 这是同一个文件
• 它没有被修改过
• 保持了证据完整性
给 Edward Jones 的建议。
• 不要将 MFT server 直接暴露在互联网上。
• 要求管理员访问使用 MFA。
• 监控敏感文件的多次下载。
• 当创建包含敏感数据的 ZIP 存档时发出警报。
• 审查针对高价值文件的 HTTP GET 请求。
• 将 MFT 系统与内部网络隔离。
• 及时修补面向互联网的应用程序。
• 审计有权访问敏感数据的第三方供应商。
## 重要的道德声明
本项目仅用于教育和防御目的。未针对任何真实的组织、系统、凭据、客户记录或生产环境。该实验室仅使用受控的虚拟机和测试文件。标签:CISA项目, CTI, TGT, 域环境安全, 安全实验环境, 安全测试, 密码管理, 库, 应急响应, 攻击性安全, 攻防演练, 网络安全审计, 逆向工具