Corelight中ATT&CK的覆盖情况

https://mitre-attack.corelight.com/

https://mitre-attack.corelight.com/c2/t1094-custom-command-and-control-protocol

https://fs.hubspotusercontent00.net/hubfs/8645105/white-paper/help-analysts-find-command-c2.pdf

当今天的安全团队计划他们的防御对手,他们转向MITRE ATT&CK™框架。它是对手使用的战术、技术和程序(ttp)的关键库。虽然没有针对所有ttp的银弹,但Corelight看到了其他人看不到的弱点。通过将Zeek日志带到您的SIEM, Corelight提供了广阔的网络可见性。它允许您构建自己的包,或者使用像BZAR这样的社区贡献,以获得更深入的了解。看看Corelight能做什么:

一、数据窃密

(1)自动化窃密 T1020

例如敏感文档,在收集过程中收集后,可以通过使用自动化处理或脚本编写的方式进行窃取。

解决方案:攻击者可能使用自动化工具将敏感数据从被攻击的主机转移到外部服务器。例如,自定义工具上传压缩或加密的数据到一个网站,FTP服务器,或电子邮件帐户。

Zeek可以监控HTTP、FTP和电子邮件流量,允许防御者识别定期发生的到未知主机或连接的大量流量。Corelight在网络中看到此流量的任何点都将被监控并记录在特定于协议的日志中。根据传输方式的不同,Zeek 会追踪文件的名称和窃密方式 exfiltration。

(2)数据压缩 T1002

对手可能会压缩在外泄之前收集的数据(如敏感文件),以使其便携并最小化通过网络发送的数据量。压缩是与导出通道分开进行的,使用自定义程序或算法,或更常见的压缩库或实用程序(如7zip、RAR、ZIP或zlib)执行

解决方案:攻击者通常会压缩窃取的数据,部分是为了混淆内容,但也为了节省带宽,并融入日常网络使用。

Zeek记录所有可观察文件,并可以配置为哈希并提取文件以供将来分析。即使在执行额外的分析之前,MIME类型也很容易指向压缩的数据

(3)数据加密 T1022

数据在被窃密之前被加密,以隐藏被外泄的信息不被发现,或使窃密在防御者检查时不那么明显。加密由实用程序、编程库或自定义算法对数据本身执行,并被认为与命令和控制或文件传输协议执行的任何加密是分开的。常见的文件归档格式可以加密文件是RAR和zip

解决方案:攻击者通常对泄露的敏感文件进行加密,以避免数据丢失预防(DLP)技术的检测,并阻止以后的手工分析。

zeek会记录所有通过传感器的可观察文件。一个加密的文件可能会因为分析器不会解析加密的流量而脱颖而出。通过配置文件提取,文件将被自动提取,各种工具将确定文件包含大量的熵,表明它是加密的

(4)数据传输大小限制 T1030

对手可能会以固定大小的块(而不是整个文件)来泄漏数据,或者将包的大小限制在某些阈值以下。此方法可用于避免触发网络数据传输阈值警报

解决方案:试图绕过网络防御的攻击者可能会试图故意延迟网络流量,或者将其分片发送。一些防火墙和入侵检测系统可能无法及时重组攻击,甚至根本无法重组攻击

具有数据分析后台的Zeek将持续跟踪发送到任何主机的流量,无论是否使用分段或故意延迟。防御者可以执行统计分析以快速识别异常值

(5)通过替代协议窃密T1048

数据窃密是用与主命令和控制协议或通道不同的协议执行的。数据很可能从主命令和控制服务器发送到备用网络位置。备用协议包括FTP、SMTP、HTTP/S、DNS或其他网络协议。不同的渠道可能包括互联网Web服务,如云存储。

解决方案:攻击者通常滥用协议来传输数据,希望绕过入侵检测系统等网络防御。Cobalt Strike等工具使用DNS,而其他工具可能滥用SMTP或HTTP。

根据协议的不同,Zeek提供对请求和响应的可见性,允许防御者快速识别异常大的请求。例如,大型且看似随机的DNS请求将被记录在DNS .log文件中。类似地,SMTP和HTTP事件将记录在各自的日志中,包括文件附件。

(6)通过命令和控制通道窃密 T1041

数据窃密是通过命令和控制通道执行的。使用与命令和控制通信相同的协议,数据被编码到正常的通信信道中。

解决方案:攻击者可能会使用现有的Command-and-Control (C2)通道来窃取数据,故意减少出站连接的数量。例如,使用复杂有效负载的攻击者可以指示有效负载通过有效负载的现有HTTPS信道发送敏感文件。

Zeek监视与所有连接关联的传输字节和持续时间。这样,防御者就可以监视长时间保持活跃的连接,以及通过单个连接发送的大量数据。如果攻击者使用公共协议,如HTTP或HTTPS, Zeek可能会识别额外的工件,允许攻击者通过特定工具的指示符识别攻击工具。

(7)通过其他网络介质的窃密 T1011

窃密可能发生在不同的网络媒体,而不是命令和控制通道。如果命令和控制网络是有线互联网连接,则可能通过WiFi连接、调制解调器、蜂窝数据连接、蓝牙或其他射频(RF)通道进行过滤。如果对手有足够的访问权限或距离,那么他们可以选择这样做,而且连接可能不会像主要的internet连接通道那样受到保护或防御,因为它不是通过相同的企业网络路由的。

解决方案:攻击者试图通过相邻网络窃取流量,可能会绕过公司防火墙和入侵检测系统。例如,攻击者可以指示被攻击的主机通过无线访客网络窃取文件。Corelight传感器协同工作,允许多个传感器监测多个网段。有了多个位置良好的传感器,防御者将对所使用的连接和协议有一个完整的了解。

(8)计划转移 T1029

数据窃密只能在一天中的特定时间或特定时间间隔进行。这可以将流量模式与正常活动或可用性结合起来。

解决方案:攻击者可能会指示被攻击的主机根据预定义的路径或搜索查询窃取敏感数据,并定期将流量转发到外部控制的服务器。例如,受感染的主机可能在每个工作日的凌晨3点通过FTP发送网络共享的内容。

Zeek监视各种协议,以便在文件传输、存储散列和(可选的)文件数据时提取文件即使协议是定制的或不常见的,连接字节计数也会提供主机正在上传内容的迹象。对conn.log文件的额外统计分析将允许防御者从计划的泄露中隔离模式。

二、C2

1、常用的端口 T1043

对手可以通过一个常用的端口进行通信,以绕过防火墙或网络检测系统,并混入正常的网络活动,以避免更详细的检查。它们可能使用常见的开放端口,如TCP:80 (HTTP)、TCP:443 (HTTPS)、TCP:25 (SMTP)或TCP/UDP:53 (DNS)。它们可以使用与端口相关联的协议,也可以使用完全不同的协议。

解决方案:攻击者使用普通端口混入企业网络的预期流量,如DNS和HTTP。

Corelight检测通过HTTP通信的已知恶意软件已知DNS隧道工具和DNS隧道行为,以发现未知的威胁

Zeek的动态协议检测(DPD)框架是一个独特的功能,允许防御者监控大量的连接流量,同时搜索不匹配的协议和端口映射。例如,通过SSH端口22发送HTTPS流量的攻击者将被Zeek的协议解析器检测到,允许Zeek解析流量并记录相关的协议细节。Zeek在详细的日志中总结了每个TCP、UDP和ICMP连接,为深入分析提供统计数据。这些连接事件在conn.log文件中提供。防御者可以在conn.log中识别这些不匹配的连接。此外,像DNS和HTTP这样的协议将被进一步分析并存储在特定于协议的日志文件中。

2、连接代理 T1090

连接代理用于引导系统之间的网络通信或充当网络通信的中介。有许多工具可以通过代理或端口重定向启用流量重定向,包括HTRAN、ZXProxy和ZXPortMap。代理的定义还可以扩展到网络之间的信任关系,包括点对点、网状或由主机或系统组成的网络之间的信任连接,这些网络定期相互通信。

解决方案:攻击者经常通过一个或多个主机重定向流量,并且经常使用公共可用的工具和公共协议来这样做。例如,HTTP CONNECT方法和SOCKS代理很常见。

Zeek解析HTTP流量,包括方法名,允许防御者快速识别可疑的方法,如CONNECT。类似地,代理流量可能在GET请求的路径中包含“http”,良性流量不太可能出现这种情况。其他代理可以使用Zeek解析的“X-Forwarded-For”等泄密HTTP头进行指纹识别。防御者可以在http.log中快速识别这些可疑请求,甚至根据它们的存在设置警报。

3、自定义命令和控制协议 T1094

对手可以使用自定义的命令和控制协议进行通信,而不是在现有的标准应用层协议中封装命令/数据。实现包括模仿众所周知的协议或在TCP/IP/另一个标准网络堆栈提供的基本协议上开发自定义协议(包括原始套接字)。

解决方案:老练的攻击者可能试图开发他们自己的自定义协议,有时通过密切模仿一个公共协议。在这种情况下,攻击者希望诱骗网络防御系统允许流量通过,因为会发生意想不到的解析错误。

Zeek的动态协议检测(DPD)框架是一种独特的功能,允许防御者监控大量违反通用协议标准的连接。log文件标识连接、违规的传输协议、生成违规的分析器和失败原因。

Zeek还将使用唯一的非标准协议识别攻击者,因为conn.log文件将包含没有可识别服务字段的事件。通过研究Zeek的动态协议检测(DPD)无法正确解析的协议,防御者可以快速识别这些非标准的C2协议。

4、自定义加密协议 T1024

对手可以使用自定义的加密协议或算法来隐藏命令和控制流量。一个简单的方案,例如使用固定密钥对明文进行异或运算,将产生非常弱的密文。

解决方案:高技能的攻击者可以用自定义密码修改或创建恶意软件,使网络防御变得盲目,并使恶意软件分析师感到沮丧。由于算法和密钥在恶意软件迭代之间可能(而且确实)会发生变化,因此传统的网络安全设备很难识别这些C2连接。

Zeek的动态协议检测(DPD)功能为违反标准传输协议的连接提供诊断,并帮助分析生成违反的连接。一个恰当命名的weird.log文件可以指示错误的连接、不符合特定协议的流量、故障或配置错误的硬件,甚至是试图避免或混淆传感器的攻击者。

5、数据编码T1132

命令与控制(C2)信息采用标准的数据编码系统进行编码。数据编码的使用可以遵循现有的协议规范,包括使用ASCII、Unicode、Base64、MIME、UTF-8或其他二进制到文本和字符编码系统。一些数据编码系统也可能导致数据压缩,如gzip。

解决方案:攻击者通常利用数据编码技术绕过IDS签名或混淆来自C2基础设施的指令。例如,攻击者可能使用Base64作为HTTP POST主体的一部分对命令进行编码。

Zeek可以通过使用其广泛的文件识别签名来检测这种C2技术。此外,Zeek还提供了一种脚本语言,例如,它可以提取所有POST数据,应用Base64解码,并存储结果数据以供将来分析。

6、数据模糊 T1001

命令和控制(C2)通信是隐藏的(但不一定是加密的),试图使内容更难发现或破译,并使通信不那么明显,隐藏命令不被看到。这包括许多方法,如向协议流量中添加垃圾数据、使用隐写术、将合法流量与C2通信流量混合,或使用非标准数据编码系统,如HTTP请求的消息体使用修改过的Base64编码。

解决方案:数据混淆,包括隐写,经常发生在传输的文件中。例如,恶意软件如Duqu, HAMMERTOSS和ZeroT恶意软件家族,插入或附加命令和控制(C2)信息到图像文件。

通过启用文件提取功能,Corelight可以从网络流中提取文件,允许防御者仔细检查传输的文件,以发现隐藏数据等异常情况。此外,Corelight对协议进行总结和编目,而不管端口是什么。如果对手修改了标准协议,那么Zeek的动态协议检测(DPD)为防御者提供了一个识别协议违反的起点。

7、动态解析 T1568

对手可以动态地建立到命令和控制基础设施的连接,以逃避常见的检测和补救。这可以通过使用恶意软件来实现,恶意软件与对手用来接收恶意软件通信的基础设施共享一个共同的算法。这些计算可以用来动态调整恶意软件用于命令和控制的参数,如域名、IP地址或端口号。

解决方案:攻击者通常使用域生成算法(DGA)快速循环通过新的C2域并逃避签名驱动的检测。Corelight的C2集合涵盖了已知的DGAs,并可预测地检测由这些算法生成的域,以提供持久的发现能力。

8、后备通道 T1008

如果主通道被破坏或无法访问,对手可能会使用备用通信通道,以保持可靠的命令和控制,并避免数据传输阈值。

解决方案:攻击者通常使用备用通道,如额外的DNS域,让他们的恶意软件重新控制被攻击的主机。有了像域生成算法(DGA)这样的工具,攻击者经常构建他们的恶意软件来联系一长串随机生成的C2服务器。只有一小部分域注册成功,其他域无法解析并报告NXDOMAIN错误。

防御者只需监视dns.log文件,就可以使用Zeek识别由nxdomain产生的大量查询。对很少查询域的额外分析可以为防御者提供对正在请求的新和独特域的洞察。从那里,防御者可以从连接ID来识别主机,并识别来自恶意软件的潜在相关C2连接尝试。

9、多级渠道 T1104

对手可以为在不同条件下或特定功能下使用的命令和控制创建多个阶段。使用多级可能会混淆命令和控制通道,使检测更加困难。

解决方案:拥有多个C2服务器的攻击者试图通过使用第一层来处理最危险的破坏阶段来保护他们的第二层C2服务器。防御者通常必须手动将第一阶段连接与后面的第二阶段连接关联起来。

Zeek使识别可疑的第一阶段连接的防御者能够很容易地识别和检查已建立类似可疑连接的主机。从这一点上,防御者可以开始匹配组内常见的流量。此外,Zeek提取的社区ID或元数据通常有助于识别恶意软件或攻击组。

10、多跳代理 T1188

为了掩盖恶意流量的来源,对手可能会将多个代理链在一起。通常情况下,防御者将能够识别进入其网络之前经过的最后一个代理流量;防御者可能也可能无法识别最后一跳代理之前的任何代理。这种技术要求防御者通过多个代理跟踪恶意流量以识别其源,从而使识别恶意流量的原始源变得更加困难。

解决方案:恶意软件可以被设计成通过定制协议和洋葱路由器(TOR)等专门构建的网络来重新路由和封装流量。这些协议将利用公共端口和加密机制,但在数量不断变化的主机之间“跳出”C2流量,试图混淆攻击者真正的C2基础设施的来源。

Zeek的协议分析可以通过使用JA3和JA3S散列识别TOR和其他基于ssl的流量。这些散列在关联基于tor的恶意软件的指纹时非常有用,并存储在ssl.log文件中。此外,恶意软件通信,如WannaCry,利用TOR,并可通过使用带有随机域名的临时SSL证书进行识别。

另外,conn.log文件存储了每个连接的时间戳信息,防御者可以仔细检查这些信息。另外,还可以编写专门构建的Zeek脚本来关联主机之间的数据交换,并帮助确定代理连接的来源。

11、多波段通信(Multiband Communication) T1026

一些对手可能会在不同的协议之间分割通信。可能有一个用于入站命令和控制的协议,另一个用于出站数据的协议,允许它绕过某些防火墙限制。分离也可以是随机的,以避免任何一次通信的数据阈值警报。

解决方案:恶意软件分割两个主机之间的通信,一个用于指令,另一个用于窃密,需要防御者在可疑的控制流量和大规模数据传输之间快速切换。

Zeek提供了生产者-消费者比率(识别不平衡数据传输的可疑连接)和情报框架(通过识别IP地址、电子邮件地址和域名等元数据与其他防御者协调)。

12、多层加密 T1079

敌手使用多层加密来执行C2通信,典型地(但不排他地)在协议加密方案(例如HTTPS或smtp)内隧穿定制加密方案。

解决方案:恶意软件可能会结合多种加密方案,试图混淆数据,使通信对防御者更具弹性。例如,攻击者可能在tls加密的会话或通过洋葱路由器(TOR)网络发送的隧道中使用异或编码。

Zeek的x509.log和ssl.log文件包含标识公共公钥加密元数据的字段,包括主题、主题替代名称、颁发者和验证日期。在许多情况下,遵循类似模式的重用元数据或随机生成的元数据将帮助防御者识别C2流量。在使用TLS的情况下,Zeek的JA3和JA3S散列通常可以识别恶意软件,尽管有些字段是随机生成的。最后,恶意软件,例如使用TOR的WannaCry,可以基于带有随机域名的临时SSL证书进行识别,在SSL .log中可见。

13、端口敲门 Port KnockingT1205

端口敲门是防御者和对手都使用的一种行之有效的方法,用来隐藏打开的端口。为了启用一个端口,对手在打开该端口之前发送一系列具有某些特征的包。通常,这一系列包包含尝试连接到一个预定义的关闭端口序列,但可能涉及不寻常的标志、特定字符串或其他独特的特征。完成顺序后,打开一个端口通常是由基于主机的防火墙完成的,但也可以由定制软件实现。

解决方案:Zeek在conn.log中总结了TCP、UDP和ICMP连接。这个详细的日志提供了关于连接的有用统计信息。history、conn_state和network元组(src/dest ip/port)字段提供了查看端口敲门所需的信息。

例如,重复的无效连接将在conn.log中被记录,连接状态字段报告连接没有收到应答,或者连接尝试被拒绝。

基于conn.log的脚本可以使用模式识别检测端口敲门。Zeek可以关注端口敲门的行为方面,而不是从硬编码字段(如TCP序列号、TCP确认号和IP标识字段)发出警告。脚本(例如BroMine)可以写出notice.log事件,将分析人员的注意力吸引到以前未知的可疑事件上。

14、远程访问工具 T1219

对手可能使用合法的桌面支持和远程访问软件,如Team Viewer, Go2Assist, LogMein, AmmyyAdmin等,来建立一个交互式命令和控制通道到网络中的目标系统。这些服务通常作为合法的技术支持软件使用,并可能在目标环境中列入白名单。与对手常用的其他合法软件相比,VNC、Ammy和Teamviewer等远程访问工具被频繁使用。

解决方案:远程访问工具(RAT)通常是一个合法或半合法的软件,允许攻击者维护对主机的远程访问。它们可能使用各种协议,如VNC或内置操作系统功能,如微软的远程桌面协议(RDP)。

检测和分析在很大程度上取决于所使用的RAT病毒。RDP连接很容易被监控并在RDP .log文件中详细说明,而VNC连接被识别并记录在rfb.log文件中。在software.log文件中可以识别其他软件。最后,Zeek支持开发自定义协议解析器,使防御者能够增加对不常见协议的可见性。

15、远程文件复制 T1105

在操作过程中,可以将文件从一个系统复制到另一个系统,以部署对抗工具或其他文件。文件可以通过命令和控制通道从外部对手控制的系统复制,以将工具带入受害网络,或通过与FTP等其他工具的替代协议复制。还可以使用scp、rsync和sftp等本地工具在Mac和Linux上复制文件。

解决方案:

攻击者可能会使用各种协议来部署其他工具。最常见的是,攻击者会通过HTTP或HTTPS下载工具,但他们也可能使用scp和rsync等工具。一些攻击者可能会使用自定义传输协议以避免被检测到。

最常用的技术(使用HTTP和HTTPS)可以分别在HTTP .log和ssl.log中监控。如果使用SCP/SSH,那么HASSH Zeek脚本将帮助识别这种技术。

可以根据服务器传输字节数和客户端传输字节数的比例检测自定义传输协议。例如,如果一个受影响的客户端下载了额外的文件,那么在整个连接中传输的大部分字节将由承载文件的服务器编写。这个概念被称为生产者消费者比率(Producer-Consumer Ratio),可以使用Zeek强大的脚本语言计算每个连接(无论协议或端口号如何)。

16、标准应用层协议 T1071

对手可以使用通用的、标准化的应用层协议(如HTTP、HTTPS、SMTP或DNS)进行通信,以通过混入现有流量来避免检测。远程系统的命令,以及这些命令的结果,将嵌入到客户机和服务器之间的协议流量中。

解决方案:攻击者可能利用常见的网络协议,如HTTP和DNS,来与C2服务器通信。像Cobalt Group、FIN7和OilRig这样的角色使用DNS记录,有时在TXT记录中,有时作为子域请求的一部分。无数其他参与者使用HTTP和HTTPS。较小比例的攻击者可能使用SMTP电子邮件协议。Corelight的C2集合自动检测已知的DNS隧道工具和广泛的、行为的DNS隧道行为。

Zeek提供DNS请求和响应的详细检查,使防御者很容易识别唯一的DNS查询,查询看似随机的子域,或查询非标准查询类型字段(如TXT)。DNS审计脚本可用于检测主机何时向非本地DNS服务器发送DNS请求。对于HTTP上的命令流量,防御者可以启用POST主体捕获,然后分析系统之间传递的数据。最后,分析SMTP通信并将其记录到SMTP .log文件中,可选地提取文件附件以进行进一步分析。

17、标准的加密协议 T1032

对手可以明确地使用已知的加密算法来隐藏命令和控制流量,而不是依赖通信协议提供的任何固有保护。尽管使用了安全算法,但如果在恶意软件样本/配置文件中编码和/或生成了必要的密钥,这些实现可能容易受到反向工程的攻击。

解决方案:恶意软件可能被设计为使用通用的加密协议,如AES、RSA或RC4,但在通用端口上通信,如80和443。以443端口为例,恶意软件可能会跳过标准的TLS握手,而立即发送加密数据。

当使用公共端口,但使用预先存在的密钥直接实现加密时,Zeek可以将这些连接标识为非标准TLS连接。此外,Zeek的自定义脚本语言使防御者能够识别连接内容何时被加密,而不管协议或端口是什么。

18、标准非应用层协议 T1095

使用标准的非应用层协议在主机和C2服务器之间或网络中受感染的主机之间进行通信。可能的协议名单很长。具体的例子包括使用网络层协议,如Internet控制消息协议(ICMP),传输层协议,如用户数据报协议(UDP),会话层协议,如套接字安全(SOCKS),以及重定向/隧道协议,如串行over LAN (SOL)。

解决方案:恶意软件可能会使用标准化的低级协议,如ICMP、UDP和SOCKS,因为这些协议很少被监控。例如,恶意软件的作者可能在ICMP Echo Request(“ping”)包中嵌入C2指令。

Zeek提供了对网络流量的可见性,甚至包括ICMP。Zeek不仅显示源和目的地,还显示发送方和接收方的ICMP数据的包计数、传输的字节和大小。使用这些数据,可以发现异常大或频繁的ICMP通信。Corelight C2 Collection通过自动检测已知的ICMP隧道工具和广泛的行为ICMP隧道行为扩展了这一功能。

Zeek监控所有的连接,不管协议是什么,并在conn.log文件中存储连接数据,包括UDP和SOCKS连接。使用自定义UDP协议或基于tcp的SOCKS协议(但没有标准应用层协议)的C2通道将具有conn.log条目,没有可识别的服务字段。Zeek的动态协议检测(DPD)检查这些连接,以便防御者能够更好地理解他们的网络的“正常”和“异常”。

19、非同寻常的使用端口 T1065

对手可以通过非标准端口进行C2通信,以绕过配置不当的代理和防火墙。

解决方案:恶意软件可能会使用不常见或任意选择的端口连接回C2服务器,以试图避免基于网络的检测。许多产品依赖于TCP端口来识别所使用的协议。例如,恶意软件在非443端口上使用TLS可能会绕过检查TLS流量的安全设备。

Zeek解析所有网络协议来创建详细的日志,而不管流量使用的端口是什么。使用不常见端口的C2连接很容易在Zeek的日志中识别出来。log文件提供了Zeek看到的所有端口号的清单,以及在这些端口上使用的协议。防御者可以很容易地在不常见的端口上使用通用协议识别恶意软件。

20、Web服务 T1102

对手可以使用现有的合法外部Web服务作为将命令转发到受损系统的手段。

解决方案:

恶意软件作者有时使用合法网站将C2数据转发给受感染的主机。例如,恶意软件可能使用社交媒体(Twitter、博客和即时消息)或云平台(Github、Pastebin或Dropbox)。

Zeek的HTTP .log文件捕获了用于调查HTTP事务的相关信息,包括有价值的报头信息,包括用户代理、引用者、URI、主机和方法。http.log是可扩展的,所以像Accept- encoding、Accept、Accept- language和Cookie这样的附加字段随时可用。这些字段对于识别区分合法用户流量和恶意C2通信的模式很有价值。

对于tls加密的流量,防御者可以使用各种日志,包括SSL、x509或DNS(分别存储在SSL .log、x509.log和DNS .log中)。这些日志跟踪几个关键参数,包括DNS查询和TLS主机名(通过SNI字段)。

三、横向移动

四、凭证访问

五、初始访问

1、Spearphishing附件T1193

鱼叉式钓鱼附着是鱼叉式钓鱼的一种特殊变体。“鱼叉式附件”不同于其他形式的“鱼叉式附件”,它使用的是在电子邮件中附加恶意软件。所有形式的“鱼叉式钓鱼”都是针对特定的个人、公司或行业进行电子交付的社会工程。在这种情况下,对手将一个文件附加到恶意钓鱼电子邮件中,并且通常依赖于User Execution来获得执行。

解决方案:

钓鱼附件包含漏洞或恶意附件是流行和有效的攻击活动的工具。这些附件一旦打开,可能会指向第二阶段系统以获取额外的指令或恶意文件。

Zeek可以监视到已知可疑站点的出站HTTP连接。此外,HTTP用户代理头可能指示使用可疑进程,如Microsoft Office信标指向外部资源。这些指标是防御者开始调查的良好指标。

对于解密电子邮件的组织,Zeek的文件提取可以存储附件和记录文件哈希。防御者可以存储这些数据以供以后分析,或者使用自动化工具将它们提交给第三方测试。

2、Spearphishing链接 T1192

带有链接的鱼叉式钓鱼是鱼叉式钓鱼的一种特殊变体。它不同于其他形式的“鱼叉式钓鱼”,它利用链接下载电子邮件中包含的恶意软件,而不是将恶意文件附加到电子邮件本身,以避免可能检查电子邮件附件的防御。

解决方案:

攻击者使用鱼叉式钓鱼电子邮件的目标用户与恶意链接到外部托管的恶意文件。这些链接可能会触发浏览器攻击或恶意文档的下载。

对于解密电子邮件的组织,Zeek目前支持解析SMTP协议,Zeek脚本可用于从纯文本电子邮件中提取uri。然后,还可以使用Zeek监视到这些uri的出站HTTP连接。

3、有效的帐户 T1078

对手可以使用凭据访问技术窃取特定用户或服务帐户的凭据,或者在侦察过程的早期通过社会工程获取初始访问的方法捕获凭据。

解决方案:

攻击者知道“已知的好”证书,可能通过社会工程或特别制作的外观相似的网站,诱使用户泄露他们的用户名和密码。一旦被捕获,攻击者就会急于在各种资源上尝试这些凭证,通常会在员工正常工作时间之外的几个小时内尝试访问用户正常使用之外的系统。

Zeek可以识别共享用户帐户(用户、管理或服务帐户)的系统之间的可疑帐户行为。同时登录多个系统的尝试,尝试登录在奇怪的时间,或在工作时间以外需要及时调查。以交互方式登录或生成进程的远程尝试是强有力的指示器,可以在dce_rpc.log中反映出来。

在某些情况下,Zeek可能能够在攻击者有机会使用凭证之前检测到凭证泄漏。攻击者经常将受害者引诱到钓鱼网站,提示用户输入有效的凭据,由攻击者收集。受害者甚至可能被转移到合法服务,以避免引起怀疑。这些尝试会生成DNS、HTTP和SSL流量,可以在它们各自的日志文件中进行调查。

六、收集

1、自动的收集 T1119

一旦在系统或网络中建立起来,对手就可以使用自动化技术来收集内部数据。执行此技术的方法可能包括使用脚本来搜索和复制符合设置标准的信息,如在特定的时间间隔内的文件类型、位置或名称。该功能还可以内置到远程访问工具中。

解决方案:

攻击者可能会在被攻击的主机上部署自动化工具,以监视内部网服务,获取敏感数据和公司机密。例如,自定义工具可以查询内部网服务器(如Sharepoint或Confluence)或内部电子邮件服务器,定期轮询新内容。

Zeek可以监控HTTP、电子邮件、MySQL、FTP和SMB流量,提供对正在执行的查询的洞察。防御者可以通过监视定期发生的重复查询或连接来精确定位这些自动化工具。Corelight在网络中看到此流量的任何点都将被监控并记录在特定于协议的日志中。

2、数据分级 T1074

收集到的数据在导出之前在中央位置或目录中分级。数据可以保存在单独的文件中,也可以通过数据压缩或数据加密等技术合并到一个文件中。

解决方案:

攻击者在开始窃密之前,使用通用协议将数据放到一个集中的主机上。如果攻击者正在利用现有的基础设施,他们将需要使用像SMB、FTP和HTTP这样的公共协议。

Zeek监控SMB、FTP和HTTP流量,但即使攻击者选择了不太常见的协议,Zeek也可以检测到生产者-消费者比率的变化(例如,在两个主机之间的conn.log流量大于40%)或主机之间的大量意外数据传输。

3、来自网络共享驱动器的数据 T1039

敏感数据可以通过共享的网络驱动器(主机共享目录,网络文件服务器等)从远程系统收集,这些驱动器在导出之前可以从当前系统访问。

解决方案:

网络共享驱动器是企业敏感文件数据的宝库,因此攻击者对它们特别感兴趣。大多数企业网络使用SMB来承载共享的网络驱动器,但有些可能依赖于FTP、HTTP甚至RDP。

当使用SMB、FTP或HTTP等协议时,Zeek可以监控对共享网络驱动器的访问。远程控制协议(如RDP)也在特定于协议的日志中进行解析。Corelight在网络中看到此流量的任何点都将被监控并记录在特定于协议的日志中。

你可能感兴趣的:(Corelight中ATT&CK的覆盖情况)