188赌场赌城-基于MITRE ATT&CK的Red Teaming行动实践

时间:2021-03-05 作者:att

前言

如果要选出近年来国内信息安全界最热门的新安全术语,那一定是“MITRE ATTCK”。从传入中国的那一刻起,这个词似乎就很流行,在各种文章、PPT、演讲中都很常见,而且有追到前几年的安全热词“威胁情报”的趋势。一度制造了从未听说过2019年“MITRE ATTCK”的安全从业者不是真正专业人士的假象。然而,物极必反,但吹捧得越高,跌得越惨。私下里,作者听到了一些令人反感的言论,说“MITRE ATTCK”在许多场合被过分吹捧。其实,看待任何新事物、新概念,都需要冷静的分析,客观的思考,取其精华,去其糟粕。最后,对我来说,这是使用它们的正确方法。

根据mitre attck的官方描述,我们可以知道MITRE ATTCK是一个整理攻击者入侵行为(包括战术和技术)的知识库,其目的是帮助防御者充分理解和分析攻击者的TTP。对于乙方的安全公司,可以利用ATTCK为各种安全产品或服务开发威胁检测方法,提高入侵检测的覆盖面;对于甲方企业,可以利用ATTCK设计各种威胁模型,检测相应的攻击战术,提高整体防御检测能力。

本文将从攻击者的角度,探讨如何利用ATTCK组织和练习红队,更有针对性地模拟现实世界中的攻击者,达到“实战养兵”的目的。至于什么是红帮,本文不再赘述,具体可参考作者之前的文章《Red Team从0到1的实践与思考》。

计划

有效的红队行动离不开充分的准备和行动计划。那么,如何用红帮来模拟真实的攻击者呢?目前,有几种流行的方法:

模拟直接威胁:根据具体的威胁情报模拟攻击者。所谓“情报驱动的红队行动”,目前受到国际主流互联网公司红队团队的青睐,比如针对某些特定行业或国家APT组织的TTPs模拟;

模拟已知威胁:根据APT组织公开的TTPs模拟攻击者,例如,使用MITRE ATTCK计划红队行动所需的TTPs

模拟未知威胁:根据真实入侵各阶段收集的具体目标信息,实时规划攻击路径,从而模拟攻击者。

事实上,这三种方法应该被视为企业处于不同威胁阶段时应该采取的不同方法。个人认为前两个应该是甲方自己红队的主要工作方向,第三个可以作为前两个的高级补充或者是乙方红队服务的重点。具体来说,第一种方法主要是模拟直接威胁,通过威胁情报提前找到直接威胁的TTP,并模拟它来检测防御团队应对直接威胁的防御能力,这是红队的基本目标;第二种方法主要模拟已知威胁,通过模拟目前所有已知攻击组织的TTP,全面系统地识别防御团队的防御弱点,帮助他们提高检测所有已知威胁的覆盖率,这是Red Teaming的主要目标;第三种方法是模拟未知威胁,通过模拟真实黑客的潜在入侵行为来检测企业面对未知威胁的防御能力,这是Red Teaming的高级目标。

本文将重点研究第二种方法,即利用MITRE ATTCK规划红队行动,从而全面系统地模拟已知威胁。换句话说,我们用ATTCK中列出的TTPs以“将点连成线”的方式规划所有可行的攻击路径。

实践

众所周知,官方的ATTCK框架只是概括了所有已知攻击者的战术以及每种战术对应的技术,并没有深入介绍每种技术的具体技术细节,这实际上给红队行动的模拟带来了很大的不便。这意味着红队需要分析和整理一个包含每个技术点详细介绍的ATTCK框架。作者根据自己的实践经验做了如下类似的工作:

有了这个基本框架,作为红色教学行动的实施者,我们可以按照以下步骤来规划和实施具体的红色教学行动。

设定目标

确定红队行动的目标通常是评估行动结果和效果的最有价值的措施,因此在行动之前设定明确和可衡量的目标非常重要。例如,我们可以设定以下行动目标:

成功执行所有选定的TTPs在目标系统或网络中;

确定辩护团队检测和中断所有选定TTP所需的时间。

制定计划

一旦行动目标确定,我们可以依靠ATT

CK框架来制定具体的行动计划了。首先,我们可以按照不同的Tactics把整体的行动分为以下几个阶段。

事前准备(Pre-Atta188赌场赌城)

T1266 – Acquire OSINT data sets and information. 从开源情报数据中收集目标企业员工的邮箱信息。

初始访问(Initial-Access)

T1192 – Spearphishing Link. 利用第三方可信的云存储服务来存放恶意的Word文档作为钓鱼链接。

执行(Execution)

T1155 – Apple. 利用Apple在Mac上运行Python脚本。

T1059 – Command-Line Interface. 使用cmd.exe执行系统命令和恶意代码。

T1085 – Rundll32. 利用Rundll32执行恶意DLL文件。

T1118 – InstallUtil. 利用InstallUtil执行恶意代码。

T1086 – PowerShell. 利用PowerShell在Windows上下载和执行恶意代码。

持久化与特权提升(Persistence & Privilege Escalation)

T1197 – BITS Jobs. 使用BITSAdmin下载恶意文件。

T1053 – Scheduled Task. 利用schtasks建立计划任务实现持久化和特权提升。

防御绕过(Defensive Evasion)

T1221 – Template Injection. 使用Word远程模版注入的方式执行恶意宏绕过邮件网关的沙箱检测。

T1088 – Bypass User Account Control. 利用Windows计划任务中的环境变量绕过UAC。

凭据访问(Credential Access)

T1003 – Credential Dumping. 利用Procdump拉取lsass.exe进程的内存并从中获取明文的用户凭据。

命令与控制(Command and Control)

T1104 – Multi-St**e Channels. 使用各种后门工具,Metasploit反向Shell,甚至是RAT工具来作为多层C2通道。

T1219 – Remote Access Tools. 利用开源RAT打造自己的远程控制平台。

数据渗出(Exfiltration)

T1041 – ExfiltraOon Over Command and Control Channel. 通过C2通道渗出目标数据。

然后,我们就可以根据上述选择的TTPs设计具体的模拟攻击路径,如下图:

准备TTPs

根据上面制定的行动计划,我们接下来需要分析所有已选取TTPs的具体技术实现,准备payload以及相应的测试,这时我们就需要依赖在本节一开始提到的包含每个Techniques具体技术细节的ATT&CK攻击框架,以下以部分在上述已制定的行动计划中选取的TTPs的准备为例。

T1192 – Spearphishing Link. 利用第三方可信的云存储服务来存放恶意的Word文档作为钓鱼链接。

T1155 – Apple. 利用Apple在Mac上运行Python脚本。

T1085 – Rundll32. 利用Rundll32执行恶意DLL文件。

T1197 – BITS Jobs. 使用BITSAdmin下载恶意文件。

T1221 – Template Injection. 使用Word远程模版注入的方式执行恶意宏。

T1003 – Credential Dumping. 利用Procdump拉取lsass.exe进程的内存并从中获取明文的用户凭据。

T1219 – Remote Access Tools. 利用开源RAT打造自己的远程控制平台。

T1041 – ExfiltraOon Over Command and Control Channel. 通过C2通道渗出目标数据。

依据以上TTPs的技术细节,我们就可以快速地制作Red Teaming行动各个阶段所需的payload(如钓鱼样本,反弹shell样本,持久化与特权提升样本等)和工具(如C2平台,RAT远控工具等)。

实施攻击

计划好Red Teaming行动的具体时间表(例如尽量避开公司业务高峰期和敏感期,尽可能地减少对实际业务的潜在影响),按照规划好的攻击路径和已经准备好的TTPs对目标企业网络实施攻击。

完成报告

在完成攻击后,完整且详细地记录以上各个步骤的详细信息和攻击行为时间线,对照行动开始前确定的目标完成结果分析,并最终形成报告,提交至防守团队进行复盘和改进。

总结

洋洋洒洒写了这么多,总结起来其实就是一句话:Red Teaming的攻击形式多种多样、纷繁复杂,然而究其攻击思路其实可以通过ATT&CK框架来梳理和模拟,利用ATT&CK来指导和落地Red Teaming行动也是帮助防守团队识别当前企业面临的TOP安全威胁的有效方法之一。

参考

Red 威胁者 攻击者 恶意 Access
声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。