ATT&CK学习记录

ATT&CK简介

ATT&CK( Adversarial Tactics, Techniques and Common Knowledge ),即对抗战术、技术和常识,它是一个站在攻击者的视角来描述攻击中各阶段用到的技术的模型。常见的应用场景主要有网络红蓝对抗模拟、网络安全渗透测试、网络防御差距评估、网络威胁情报收集等。

ATT&CK框架可以理解为一个红队或者攻击者在攻击一个目标系统,他说用到的技术的路径。
1)比如首先通过钓鱼邮件发送一个附件,客户端那边去执行,通过钓鱼来实现持久化和权限提升;
2)窃取目标系统的账号和密码,通过网络环境发现、横向移动,来对整个网络实现漫游
3)最后窃取对方的网络数据。

MITRE的ATT&CK框架基础元素为战术、技术和程序,也就是TTPs( Tactics, Techniques and Procedures)。
1)战术: 回答了攻击者想要实现的目标;
2)技术或子技术: 展示了攻击者实际的攻击方式以及目标如何实现;
3)程序框架: 解决了威胁行为者与攻击组织为达到目标所使用技术的特定应用。

在渗透测试中,渗透测试人员可以根据 ATT&CK 中的高频技术对需求方企业进行安全测试,形成安全方案,以加固企业的安全性;在红蓝对抗中,无论是蓝方还是红方都可以使用 ATT&CK 框架,红方可以进行网络钓鱼、水坑攻击等技术,蓝方可以利用框架中的技术提前对系统网站做审计和防护工作。

ATT&CK攻击矩阵框架

矩阵横轴表示战术(有14项战术)、纵轴表示技术(177项技术348项子技术)、中间包括程序。

序号 战术 战术功能
1 侦察 攻击方收集信息,以便未来的行动。包含主动和被动地搜集侦察技术。此类信息一般包含受害者组织、基础设施或人员
2 资源开发 建立攻击者行动所需资源,包含基础设施、攻击人员创建、购买/窃取用于支持目标定位的资源技术。
3 初始访问 攻击方试图进入目标网络,获取一个入口
4 执行 运行恶意代码
5 持久化 保持攻击立足点,获得永久的控制能力
6 权限提升 获取最高权限
7 防御绕过 避免被发现
8 凭证获取 窃取账号、密码、凭证等
9 发现 弄清对方网络环境
10 横向移动 内网漫游,攻击其他网络
11 搜集 收集感兴趣的数据
12 命令控制 试图与目标网络通信,操纵目标系统和网络
13 数据渗出 窃取数据并输出
14 影响 中断和破坏对手网络和数据,给对方网络造成伤害

ATT&CK v8 中英对照版

  • 作战行动不要求使用所有战术,战术也没有先后顺序,战术的数量和顺序可自行定义。
  • 战术仅为作战行动提供目标纲领,具体行动由战术中的技术与子技术实现。

侦查Reconnaissance(包含10项技术)

攻击者尝试获取关于目标尽可能多的信息。该战术可以让攻击者发现有关目标网络的关键细节,比如系统漏洞和潜在的攻击媒介。

技术详情-T1595主动扫描

在危害受害者之前,对手可能会执行主动侦察扫描,以收集可在目标锁定过程中使用的信息,主动扫描是指敌方通过网络流量探测受害者技术设施的扫描。

  • .001子技术:通常会扫描目标主机的IP地址或IP地址块;
  • .002子技术:就是在漏洞扫描过程中对目标主机的主动探测;

技术详情-T1593搜索公开网站/域名

搜索免费提供的网站或域名,获取目标信息;

  • .001子技术:就是在一些社会化媒体平台,国外就是在Facebook、推特等,国内就是微信、微博、知乎等,搜索受害者信息;
  • .002子技术:通过搜索引擎搜集受害者信息,包含百度、Google等;

资源开发Resource Development(包含6项技术)

攻击者建立资源以开展活动的一种攻击战术,例如获取所需的基础设施、开发能力以及破坏帐户与基础设施。

技术详情-T1583构建基础设施

搭建、采购各种各样的域名、DNS服务器、VPS、物理服务器、僵尸网络以及web服务等,将攻击脚本、EXP、Payload、恶意软件丢到目标机器中。

技术详情-T1585建立账户

在对目标进行攻击时,在各个社交媒体注册一些虚拟账号,注册一些虚拟的邮箱账号,目的是在发送钓鱼邮件时,不可能用自己真实的邮箱去发送钓鱼邮件,也不可能用真实的微信账号去发送含有病毒的文件,肯定是注册一个虚假的微信账号,把头像改改,发一些朋友圈,混进一些群里,建立一个社交关系,取得对方信任,然后再发送病毒文件

初始访问Initial Access(包含9项技术)

攻击到对方网络,拿一个入口,解决攻击者用来在网络中获得初始据点的各种入口载体,比如鱼叉式网络钓鱼、公开的应用程序漏洞、供应链失陷等;

技术详情-T1189路过损害

路过损害简单来讲就是水坑攻击,在用户通过浏览器访问网站时,对用户的web浏览器进行攻击

技术详情-T1566网络钓鱼

技术详情-T1190利用面向公众的应用程序

利用常见的漏洞程序,对常见的web、中间件、公开的服务、软件进行攻击,攻击者可能尝试利用软件、数据、命令来利用面向Internet的计算机或程序的弱点,从而导致意外或意外行为发生。

执行Execution(包含10项技术)

涵盖实现在目标系统上运行攻击者控制的恶意代码或者远程访问工具的技术,通常与其他战术中的技术结合,从而在更广范围内实现目标;

技术详情-T1059命令和脚本解释器

通过命令和脚本解释器执行命令、脚本或二进制文件。

技术详情-T1203利用客户执行

攻击者可以通过有针对性地利用客户端应用程序中的软件漏洞来执行代码。

技术详情-T1204用户执行

攻击者可能会依赖用户的特定操作来获得执行。用户可能会受到外界的影响,以使他们通过例如打开恶意文档文件或链接来执行恶意代码。

持久化Persistence(包含18项技术)

战术中包括攻击者用来保持对目标系统访问的技术,因为攻击者会面对重新启动或者凭据更改等活动切断访问的情况;

技术详情-T1136创建账号

攻击者可能会创建一个帐户来维持对受害系统的访问。通过足够的访问级别,创建此类帐户可用于建立不需要在系统上部署持久远程访问工具的辅助凭证访问。

权限提升Privilege Escalation(包含12项技术)

涵盖攻击者用来在系统或网络上获得更高级别权限和访问权限的技术和活动,实现这一目标的技术包括利用系统错误配置及漏洞;

技术详情-T1068利用特权升级

攻击者可能会利用软件漏洞来提升权限。当攻击者利用程序、服务或操作系统软件或内核本身中的编程错误来执行攻击者控制的代码时,就会利用软件漏洞。权限级别等安全系统通常会阻碍对信息的访问和某些技术的使用,因此攻击者可能需要执行权限升级以包括使用软件利用来规避这些限制。

技术详情-T1078有效账号

攻击者可能会获取和利用现有帐户的凭据,作为获得初始访问权限、持久性、权限升级或防御规避的手段。

防御绕过Defense Evasion(包含34项技术)

避免在整个入侵过程中被检测到,它包括的技术有禁用安全控制和混淆数据;

技术详情-T1564隐藏工作

攻击者可能会试图隐藏与其行为相关的踪迹以逃避检测。

技术详情-T1070主机上的指示灯移除

攻击者可能会删除或修改主机系统上生成的信息,以删除其存在的证据或阻碍防御。

凭证获取Credential Acess(包含14项技术)

于合法凭证可以让攻击者访问更多系统并使他们更难被发现,所以这个战术的目标是使用暴力攻击、键盘记录和凭证倾销等技术来窃取凭证;

技术详情-利用凭据访问

攻击者可能会利用软件漏洞来尝试收集凭据。当攻击者利用程序、服务或操作系统软件或内核本身中的编程错误来执行攻击者控制的代码时,就会利用软件漏洞。凭据和身份验证机制可能会被攻击者利用,作为获取有用凭据的访问权限或规避获取系统访问权限的过程的手段。

发现Discovery(包含24项技术)

该战术描述了攻击者用来获取有关内部网络的知识的技术,以便观察环境并决定下一步入侵;

技术详情-账户发现

攻击者可能会尝试获取系统或环境中的帐户列表。此信息可以帮助攻击者确定存在哪些帐户以帮助进行后续行为。

技术详情-应用程序窗口发现

应用程序窗口发现 攻击者可能会尝试获取打开的应用程序窗口的列表。窗口列表可以传达有关系统使用方式的信息或为键盘记录器收集的信息提供上下文。

技术详情-文件和目录发现

攻击者可能会枚举文件和目录,或者可能在主机或网络共享的特定位置搜索文件系统中的某些信息。

技术详情-网络服务扫描

攻击者可能会尝试获取在远程主机和本地网络基础设施设备上运行的服务列表,包括那些可能容易受到远程软件利用的服务。获取此信息的常用方法包括使用系统自带的工具进行端口和/或漏洞扫描。

技术详情-系统网络连接发现

攻击者可能会尝试通过在网络上查询信息来获取与他们当前正在访问的受感染系统或来自远程系统的网络连接列表。

横向移动Lateral Movement(包含9项技术)

包括从网络上某个受感染系统移动到另一个系统的过程,作为获取更多信息,扩大占领网络区域的一种手段;

技术详情-远程服务利用

一旦进入网络,攻击者可能会利用远程服务获得对内部系统的未经授权的访问。

技术详情-横向工具转移

攻击者可能会在受感染环境中的系统之间传输工具或其他文件。一旦进入受害环境(即Ingress Tool Transfer),文件可能会从一个系统复制到另一个系统,以便在操作过程中部署攻击者工具或其他文件。

技术详情-远程服务

攻击者可以使用有效帐户登录专门设计用于接受远程连接的服务,例如 telnet、SSH 和 VNC。然后,攻击者可以作为登录用户执行操作。

搜集Collection(包含16项技术)

该战术涵盖了攻击者用来收集与实现其目标相关的信息及信息来源的技术,常见的信息源包括浏览器、音频、视频以及电子邮件,实现该战术的常用技术是中间人攻击;

技术详情-数据暂存

攻击者可能会在渗出之前将收集的数据存放在中央位置或目录中。

技术详情-输入捕获

攻击者可能会使用捕获用户输入的方法来获取凭据或收集信息。

命令控制Command and Control(包含16项技术)

这属于攻击者尝试与目标网络上受其控制的系统进行通信的阶段,采用的技术包括数据混淆、协议隧道和流量信号;

技术详情-应用层协议

攻击者可以使用应用层协议进行通信,通过与现有流量混合来避免检测/网络过滤。

技术详情-协议隧道

攻击者可能会在单独的协议中通过隧道与受害系统进行网络通信,以避免检测/网络过滤和/或启用对其他无法访问的系统的访问。

数据渗出Exfiltration(包含9项技术)

该战术处于攻击周期的收尾阶段,包括攻击者用来从目标网络窃取数据,同时通过压缩和加密避免检测的技术。从网络中窃取数据的常用技术,是通过命令控制通道传输数据;

技术详情-自动渗出

攻击者可能会在收集过程中收集到数据后,通过使用自动处理来泄露敏感文档等数据。

影响Impact(包含13项技术)

攻击者为实现最终目标而使用的技术,例如破坏可用性或损害敏感数据和目标。

技术详情-账户访问删除

攻击者可能会通过禁止访问合法用户使用的帐户来中断系统和网络资源的可用性。帐户可能会被删除、锁定或操纵(例如:更改的凭据)以删除对帐户的访问权限。

技术详情-数据销毁

攻击者可能会破坏特定系统或网络上的大量数据和文件,以中断系统、服务和网络资源的可用性。

技术详情-数据处理

攻击者可能会插入、删除或操纵数据以影响外部结果或隐藏活动,从而威胁数据的完整性。

技术详情-磁盘擦除

攻击者可能会擦除或破坏特定系统或网络中大量的原始磁盘数据,以中断系统和网络资源的可用性。

技术详情-网络拒绝服务

攻击者可能会执行网络拒绝服务 (DoS) 攻击,以降低或阻止目标资源对用户的可用性。

技术详情-停止服务

攻击者可能会停止或禁用系统上的服务,以使合法用户无法使用这些服务。

技术详情-系统关机/重启

  • 攻击者可能会关闭/重新启动系统以中断对这些系统的访问或帮助破坏这些系统。

ATT&CK Mitigations缓解措施

  • 缓解措施当前有42项,包括防病毒、审计、代码签名、漏洞扫描、应用程序隔离和沙箱、漏洞利用防护、网络入侵防护、威胁情报计划、软件更新、操作系统配置、加密敏感信息、多因素认证等;
  • 每一项技术和子技术,会有相应的缓解措施,帮助防御者提升安全防护能力。

ATT&CK Groups组织

  • ATT&CK当前收录了109个组织,分布于俄罗斯、伊朗、越南、朝鲜、中国等;
  • 每个APT组织有一个名称和相关别名,并且有对应的背景、技术、软件等简介;

ATT&CK Software软件

ATT&CK Object Model Relationships模型关系

  • 模型关系描述了组织、技术、软件、战术、缓解措施5个对象之间的关系。简单来说,攻击组织使用某些技术和软件完成某个战术,而缓解措施则用于抵御技术攻击。
  • 上图右侧的例子中:APT28组织使用Mimikatz软件窃取系统账号和密码,以此实现凭证获取战术,可通过凭证获取保护来缓解。

Q.E.D.


一名北漂的网安工程师,希望这次能好好工作,不被毕业吧…