-
-
[翻译]漩涡#1:介绍
-
发表于:
2023-8-21 09:11
9460
-
原文标题:Maelstrom: An Introduction
原文地址:
https://pre.empt.blog/2023/maelstrom-1-an-introduction
由于作者博客迁移的原因,原文中的图片已经失效,我在archive中找到了别人保存下来的网页:https://web.archive.org/web/20221126193450/https://pre.empt.dev/posts/maelstrom-an-introduction/
本文由本人用chatgbt翻译而成,Maelstrom是一个概念验证的命令与控制框架,具有Python后端和C++植入程序。
指挥与控制(Command & Control,C2)框架在渗透测试、红队行动和高级持续性威胁(Advanced Persistent Threat,APT)中变得越来越常见和必要。通过结合避开防病毒/终端检测与响应(AV/EDR)机制、植入控制的实用性以及文件的创建、读取、更新和删除(CRUD)操作,C2极大地提高了操作人员在任务中的工作效率。这导致在过去的5年里,越来越多的攻击工具出现在互联网上,它们比以前的工具更先进、功能更强大。
传统的咨询公司通常会通过购买现成的解决方案或使用自制的解决方案来填补C2的技术差距,例如使用定制的meterpreter dropper(使用msfvenom编码)来运行metasploit,或重新实现crackmapexec和impacket功能。然而,曾经是一种便利的方式现在变成了必要的方式,因为终端保护已经将旧的方法转变为一系列的障碍。随着行业在使用C2进行代码交付和内容检索的便利性之间取得平衡,黑客也越来越多地使用定制或破解的工具来进行自己的操作。
C2 Matrix试图尽可能跟踪不断增长的C2市场。截至撰写本文时,已经跟踪到 96102个C2。C2 Matrix的Google表格展示了社区的愿景,包括不同的植入语言、目标操作系统和用户界面/用户体验(UI/UX)。
在研究这些C2时,我们发现许多重要的C2都具有专有代码①,因为它们是咨询公司的研究项目或产品。为了保护这些商业资产的可行性,它们的源代码受到保护。这限制了防御者识别和应对使用这些C2或使用它们的研究开发的C2的能力,因为防御者必须获取和逆向分析C2植入物的样本,然后基于捕获的样本编写静态检测规则。此外,只有当这些检测规则向更广泛的社区发布(例如在VirusTotal上),每个人才能受到对这些尖端实现的保护。
一些厂商负责地解释他们的技术,这使得防御者可以推断出运行时的检测方法。偶尔,厂商会分享样本提交,这使得防御者可以编写静态检测规则,如YARA规则或更一般的防病毒签名。这些产品的最终目的是改善委托评估的客户的安全性,但当这些工具被盗、破解②③或合法购买时,对于防御者来说并没有帮助。作为对赋予攻击者权力的回报,防御者并没有免费获得相应的对策措施。
开源和破解的闭源C2广泛传播,它们的检测规则也被广泛传播。但在尖端领域,仍然存在一层迷雾。
早期的C2工具(例如Metasploit、Armitage和Empire)在测试中充当便利的工具,用于协调漏洞利用交付和信标管理。它们的复杂程度各不相同,操作人员通常能够理解它们的运作方式。著名的考试(如OSCP)侧重于直接与漏洞利用和反向Shell交互的基础知识。使用这些C2工具获取Shell所需的知识与编写自定义C2所需的知识并没有太大差距。只需要基本的Python或C#编程知识,并花一些时间重新编写反向Shell,就可以创建一个信标,该信标会返回一个Shell并且不会被反病毒软件检测到。
然而,随着时间的推移,情况已经发生了变化,C2(命令与控制)已成为在安全测试中必备的工具。
随着终端检测技术的改进,植入物(implant)也必须相应提升。随着植入物的改进,它们必须深入到Windows系统的更深层次。这需要更多的开发时间,从而促使闭源C2和C2模块的开发以实现投资回报。现代C2的内部行为几乎成为一个封闭盒子,因为开发所需的知识超过了操作它们所需的知识。
在2010年代初,行业的工作流程主要围绕将植入物作为可执行文件或PowerShell脚本放置在磁盘上展开。而现代的分阶段工具包含了更复杂且定制化的方法来植入植入物,例如环境关键(environmental keying)、通过系统和Web代理进行的间接回调以及防止深度数据包检查的通道。现在,防御者必须使用高级的威胁指标(IOC)来检测和响应,而不仅仅是使用针对已知C2植入物的签名。
以此为背景,我们希望探索2022年C2的功能、所需的规避行为以及在复杂终端保护环境中的最低可行C2的样貌。
基于此,我们为本博客系列设定了以下目标:
在这种情况下,我们并不打算创建一个可立即使用的C2,它只是用于展示行为。我们撰写的目标只是讨论概念并审查如何跟踪行为;要在攻击中使用这个示例C2,您仍然需要学习如何编码和如何安全操作。
本系列提供的内容将需要足够的背景知识,以便潜在用户已经能够编写自己的版本,不过防御者和操作者都有望从探索中获得信息。
在这种情况下,我们已经:
在本系列中,我们将讨论C2的广泛方面:
通过这样做,我们希望揭示C2的内部机制,帮助供应商识别其检测中的漏洞,同时提高操作者识别安全中的合法漏洞的能力,这些漏洞可能会被当代攻击者利用。
① Including NightHawk, Cobalt Strike BruteRatel, and Scythe.
② Cobalt Strike: How to Crack Cobalt Strike AND backdoor it
③ The Register: Recycled Cobalt Strike key pairs show many crooks are using same cloned installation
④ Sophos 2022 Threat Report, pp. 8-9
- 记录最低可行C2的内部机制:
- 流行C2实现背后的理念是什么?
- 它们的目标和目的是什么?
- 分析和实现规避行为:
- 在当代Windows系统上运行所需的条件是什么?
- 如何绕过最新的、现代化的终端保护?
- 创建一个概念验证(Proof-of-Concept)的C2:
- 2022年运营者的最低可行C2是什么样的?
- 如何检测这个最低可行C2所需的条件是什么?
- 流行C2实现背后的理念是什么?
- 它们的目标和目的是什么?
- 在当代Windows系统上运行所需的条件是什么?
- 如何绕过最新的、现代化的终端保护?
- 2022年运营者的最低可行C2是什么样的?
- 如何检测这个最低可行C2所需的条件是什么?
- 没有实现所有讨论过的规避技术。
- 提供了Yara规则并将样本上传到VirusTotal。
- 故意留下了非常难处理的代码。
- 关于服务器和植入物的架构决策。
- 用户体验,包括示例和我们的思考。
- 终端保护(作为读者的练习),探索如何阻碍操作。
- 静态运营安全审查,以查看植入物可能面临的常见问题。
- 运行时运营安全审查,以进行相同的检查,但在运行时进行。
- 与服务器之间的通信以及如何在目标设备之外实现隐秘和检测。
介绍
市场情况
从2010年代到2022年
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)
最后于 2023-8-21 09:12
被Max_hhg编辑
,原因: