指挥与控制
攻击者试图与受感染系统通信。
技术: 42
编号 | 名字 | 描述 |
---|---|---|
T1001 | 数据混淆 | 对手可能会混淆命令和控制流量,使其更难被检测到。(引用: Bitdefender FunnyDream Campaign November 2020) 命令和控制(C2)通信被隐藏(但不一定加密),以试图使内容更难被发现或解读,并使通信不那么显眼,隐藏命令不被看到。这包括许多方法,如向协议流量中添加垃圾数据、使用隐写术或模仿合法协议。 |
T1001.001 | 垃圾数据 | 对手可能会向用于命令和控制的协议添加垃圾数据,以使检测更加困难。(引用: FireEye SUNBURST Backdoor December 2020) 通过向用于命令和控制的协议添加随机或无意义的数据,对手可以防止使用简单方法解码、解密或以其他方式分析流量。示例可能包括在数据前后附加/预置垃圾字符或在重要字符之间写入垃圾字符。 |
T1001.003 | 协议或服务冒充 | 对手可能会冒充合法的协议或Web服务流量,以掩盖命令和控制活动并阻碍分析工作。通过冒充合法的协议或Web服务,对手可以使其命令和控制流量与合法的网络流量混合。 对手可能会冒充伪造的SSL/TLS握手,使后续流量看起来是SSL/TLS加密的,可能会干扰某些安全工具,或使流量看起来与受信任的实体相关。 对手还可能利用合法协议冒充预期的Web流量或受信任的服务。例如,对手可能会操纵HTTP头、URI端点、SSL证书和传输的数据,以掩盖C2通信或模仿合法服务,如Gmail、Google Drive和Yahoo Messenger。(引用: ESET Okrum July 2019)(引用: Malleable-C2-U42) |
T1008 | 备用通道 | 如果主要通道被破坏或无法访问,攻击者可能使用备用或替代通信通道,以维持可靠的命令和控制,并避免数据传输阈值。 |
T1027.003 | 隐写术 | 对手可能会使用隐写术技术隐藏命令和控制流量,使检测工作更加困难。隐写术技术可以用于在系统之间传输的数字消息中隐藏数据。这些隐藏的信息可以用于控制受感染系统。在某些情况下,嵌入隐写术的文件(如图像或文档文件)的传递可以用于命令和控制。 |
T1071 | 应用层协议 | 对手可能会使用OSI应用层协议进行通信,以通过与现有流量混合来避免检测/网络过滤。发送到远程系统的命令以及这些命令的结果通常会嵌入在客户端和服务器之间的协议流量中。 对手可能会利用许多不同的协议,包括用于网页浏览、文件传输、电子邮件、DNS或发布/订阅的协议。对于在封闭环境内发生的连接(例如代理或枢纽节点与其他节点之间的连接),常用的协议是SMB、SSH或RDP。(引用: Mandiant APT29 Eye Spy Email Nov 22) |
T1071.001 | Web协议 | 对手可能会使用与Web流量相关的应用层协议进行通信,以通过与现有流量混合来避免检测/网络过滤。对远程系统的命令以及这些命令的结果通常会嵌入在客户端和服务器之间的协议流量中。 HTTP/S(引用: CrowdStrike Putter Panda)和WebSocket(引用: Brazking-Websockets)等协议可能在环境中非常常见。HTTP/S数据包有许多字段和头部可以隐藏数据。对手可能会滥用这些协议与他们控制的系统在受害者网络中进行通信,同时模仿正常的预期流量。 |
T1071.002 | 文件传输协议 | 对手可能使用与传输文件相关的应用层协议进行通信,以避免检测/网络过滤,通过与现有流量混合来隐藏。对远程系统的命令以及这些命令的结果通常会嵌入在客户端和服务器之间的协议流量中。 诸如SMB(引用: US-CERT TA18-074A)、FTP(引用: ESET Machete July 2019)、FTPS和TFTP等传输文件的协议在环境中可能非常常见。由这些协议产生的数据包可能有许多字段和头部,可以隐藏数据。数据也可以隐藏在传输的文件中。对手可能滥用这些协议与他们控制的系统进行通信,同时模仿正常、预期的流量。 |
T1071.003 | 邮件协议 | 对手可能会使用与电子邮件传输相关的应用层协议进行通信,以通过与现有流量混合来避免检测/网络过滤。发送到远程系统的命令以及这些命令的结果通常会嵌入在客户端和服务器之间的协议流量中。 诸如SMTP/S、POP3/S和IMAP等传输电子邮件的协议在环境中可能非常常见。这些协议产生的数据包可能有许多字段和标头,可以隐藏数据。数据也可以隐藏在电子邮件消息本身中。对手可能会滥用这些协议与他们控制的系统进行通信,同时模仿正常、预期的流量。(引用: FireEye APT28) |
T1071.005 | 发布/订阅协议 | 对手可能会使用发布/订阅(pub/sub)应用层协议进行通信,以通过与现有流量混合来避免检测/网络过滤。发送到远程系统的命令以及这些命令的结果通常会嵌入在客户端和服务器之间的协议流量中。 诸如MQTT 、XMPP 、AMQP 和STOMP 等协议使用发布/订阅设计,消息分发由集中式代理管理。(引用: wailing crab sub/pub)(引用: Mandiant APT1 Appendix) 发布者按主题分类其消息,而订阅者根据其订阅的主题接收消息。(引用: wailing crab sub/pub) 对手可能会滥用发布/订阅协议,通过消息代理与其控制的系统进行通信,同时模仿正常、预期的流量。 |
T1090 | 代理 | 对手可能会使用连接代理来引导系统之间的网络流量或作为与命令和控制服务器通信的中介,以避免直接连接到他们的基础设施。许多工具可以通过代理或端口重定向实现流量重定向,包括HTRAN、ZXProxy和ZXPortMap。(引用: Trend Micro APT Attack Tools) 对手使用这些类型的代理来管理命令和控制通信,减少同时出站网络连接的数量,在连接丢失的情况下提供弹性,或通过受害者之间现有的受信任通信路径进行通信以避免怀疑。对手可能会将多个代理链在一起,以进一步掩盖恶意流量的来源。 对手还可以利用内容分发网络(CDN)中的路由方案来代理命令和控制流量。 |
T1090.001 | 内部代理 | 对手可能使用内部代理在受感染环境中的两个或多个系统之间定向命令和控制流量。许多工具可以实现通过代理或端口重定向的流量重定向,包括HTRAN、ZXProxy和ZXPortMap。(引用: Trend Micro APT Attack Tools) 对手使用内部代理来管理受感染环境内的命令和控制通信,以减少同时出站网络连接的数量,提供连接丢失时的弹性,或通过受感染系统之间的现有受信通信路径进行通信以避免怀疑。内部代理连接可能使用常见的点对点(p2p)网络协议,如SMB,以更好地融入环境。 通过使用受感染的内部系统作为代理,对手可能隐藏C2流量的真实目的地,同时减少与外部系统的连接需求。 |
T1090.002 | 外部代理 | 对手可能会使用外部代理作为网络通信到命令和控制服务器的中介,以避免直接连接到他们的基础设施。许多工具可以通过代理或端口重定向实现流量重定向,包括 HTRAN、ZXProxy 和 ZXPortMap。(引用: Trend Micro APT Attack Tools) 对手使用这些类型的代理来管理命令和控制通信,以在连接丢失的情况下提供弹性,或通过现有的受信任通信路径进行通信以避免引起怀疑。 外部连接代理用于掩盖 C2 流量的目的地,通常通过端口重定向器实现。受害者环境外的受损系统可能用于这些目的,也可能是购买的基础设施,例如基于云的资源或虚拟专用服务器。代理可能会根据受害系统连接到它们的可能性较低而被选择。受害系统将直接与互联网上的外部代理通信,然后代理将通信转发到 C2 服务器。 |
T1090.003 | 多跳代理 | 对手可能会链式连接多个代理来掩盖恶意流量的来源。通常,防御者将能够识别恶意流量进入其网络之前的最后一个代理;防御者可能无法识别最后一个代理之前的任何代理。此技术通过要求防御者追踪恶意流量通过多个代理来识别其来源,使识别恶意流量的原始来源更加困难。 例如,对手可能构建或使用洋葱路由网络——如公开可用的Tor网络——通过受感染的群体传输加密的C2流量,允许与网络内任何设备通信。(引用: Onion Routing) 对手还可能使用由虚拟私人服务器(VPS)、物联网(IoT)设备、智能设备和寿命终止的路由器组成的操作中继盒(ORB)网络来混淆其操作。(引用: ORB Mandiant) 在网络基础设施的情况下,对手可能利用多个受感染设备创建多跳代理链(即,网络设备)。通过利用补丁系统映像在路由器上,对手可以向受影响的网络设备添加自定义代码,实现这些节点之间的洋葱路由。此方法依赖于网络边界桥接方法,允许对手跨越互联网边界的受保护网络边界,进入组织的广域网(WAN)。协议如ICMP可能被用作传输。 类似地,对手可能滥用点对点(P2P)和区块链导向的基础设施,在去中心化的对等网络之间实现路由。(引用: NGLite Trojan) |
T1090.004 | 域前置 | 对手可能会利用内容分发网络 (CDN) 和其他托管多个域的服务中的路由方案来混淆 HTTPS 流量或通过 HTTPS 隧道传输的流量的预期目的地。(引用: Fifield Blocking Resistent Communication through domain fronting 2015) 域前置涉及在 TLS 头的 SNI 字段和 HTTP 头的 Host 字段中使用不同的域名。如果两个域都由同一个 CDN 提供服务,那么 CDN 可能会在解包 TLS 头后将流量路由到 HTTP 头中指定的地址。一种变体技术“无域前置”使用空白的 SNI 字段;这可能允许前置工作,即使 CDN 尝试验证 SNI 和 HTTP Host 字段是否匹配(如果忽略空白 SNI 字段)。 例如,如果 domain-x 和 domain-y 是同一个 CDN 的客户,则可以在 TLS 头中放置 domain-x,在 HTTP 头中放置 domain-y。流量看起来是去往 domain-x,但 CDN 可能会将其路由到 domain-y。 |
T1092 | 通过可移动媒体通信 | 对手可以使用可移动媒体在可能断开的网络上在受损主机之间执行命令和控制。(引用:ESET Sednit USBStealer 2014)两个系统都需要被破坏,可能是通过 通过可移动媒体复制 从互联网连接的系统首先被破坏,然后通过横向移动到第二个系统。命令和文件将从断开连接的系统中继到对手直接访问的互联网连接系统。 |
T1095 | 非应用层协议 | 对手可能会使用OSI非应用层协议在主机和C2服务器之间或在网络内的受感染主机之间进行通信。可能的协议列表很广泛。(引用: Wikipedia OSI) 具体示例包括使用网络层协议,如互联网控制消息协议(ICMP),传输层协议,如用户数据报协议(UDP),会话层协议,如套接字安全(SOCKS),以及重定向/隧道协议,如串行LAN(SOL)。 主机之间的ICMP通信是一个示例。(引用: Cisco Synful Knock Evolution) 由于ICMP是互联网协议套件的一部分,所有IP兼容主机都必须实现它。(引用: Microsoft ICMP) 然而,它不像其他互联网协议(如TCP或UDP)那样常被监控,可能被对手用来隐藏通信。 |
T1102 | Web 服务 | 对手可能会使用现有的合法外部 Web 服务作为中继数据到/从受损系统的手段。流行的网站、云服务和社交媒体作为 C2 的机制可能会提供大量的掩护,因为网络中的主机在被破坏之前很可能已经在与它们通信。使用 Google、Microsoft 或 Twitter 提供的常见服务使对手更容易隐藏在预期的噪音中。(引用: Broadcom BirdyClient Microsoft Graph API 2024) Web 服务提供商通常使用 SSL/TLS 加密,为对手提供了额外的保护。 使用 Web 服务还可以保护后端 C2 基础设施免于通过恶意软件二进制分析发现,同时还可以实现操作弹性(因为此基础设施可能会动态更改)。 |
T1102.001 | 死信投递解析器 | 对手可能使用现有的合法外部Web服务来托管指向其他命令和控制(C2)基础设施的信息。对手可能在Web服务上发布内容,称为死信投递解析器,其中嵌入(通常是混淆/编码的)域名或IP地址。一旦感染,受害者将联系这些解析器并被重定向。 作为C2机制的流行网站和社交媒体可能提供大量掩护,因为网络中的主机在被攻破之前可能已经在与它们通信。使用Google或Twitter等常见服务使对手更容易隐藏在预期的噪音中。Web服务提供商通常使用SSL/TLS加密,为对手提供了额外的保护。 使用死信投递解析器还可以通过恶意软件二进制分析保护后端C2基础设施免于被发现,同时也增强了操作弹性(因为这些基础设施可能会动态更改)。 |
T1102.002 | 双向通信 | 对手可能会使用现有的合法外部 Web 服务作为通过 Web 服务通道向受损系统发送命令和接收输出的一种方式。受损系统可能利用流行的网站和社交媒体托管命令和控制 (C2) 指令。这些受感染的系统可以通过该 Web 服务通道发送命令的输出。返回流量可能以多种方式发生,具体取决于所使用的 Web 服务。例如,返回流量可能采取受损系统在论坛上发布评论、向开发项目发出拉取请求、更新托管在 Web 服务上的文档或发送推文的形式。 作为 C2 机制的流行网站和社交媒体可能提供大量掩护,因为网络中的主机在被破坏之前很可能已经在与它们通信。使用 Google 或 Twitter 等常见服务使对手更容易隐藏在预期的噪音中。Web 服务提供商通常使用 SSL/TLS 加密,为对手提供了额外的保护。 |
T1102.003 | 单向通信 | 对手可能使用现有的合法外部Web服务作为向受损系统发送命令的一种方式,而无需通过Web服务通道接收返回输出。受损系统可能利用流行的网站和社交媒体托管命令和控制(C2)指令。这些受感染的系统可能选择通过不同的C2通道发送命令的输出,包括到另一个独立的Web服务。或者,在对手不希望收到响应的情况下,受损系统可能根本不返回输出。 作为C2机制的流行网站和社交媒体可能提供大量掩护,因为网络中的主机在被破坏之前很可能已经在与它们通信。使用Google或Twitter等常见服务使对手更容易隐藏在预期的噪音中。Web服务提供商通常使用SSL/TLS加密,为对手提供了额外的保护。 |
T1104 | 多阶段通道 | 对手可能会创建多个阶段的命令和控制通道,这些通道在不同条件下或用于某些功能时使用。使用多个阶段可能会混淆命令和控制通道,使检测更加困难。 远程访问工具将回调到第一阶段的命令和控制服务器以获取指令。第一阶段可能具有自动化功能,以收集基本主机信息、更新工具和上传其他文件。此时可能会上传第二个远程访问工具 (RAT) 以将主机重定向到第二阶段的命令和控制服务器。第二阶段可能功能更全面,允许对手通过反向 shell 和其他 RAT 功能与系统交互。 不同阶段可能会分别托管,没有重叠的基础设施。加载程序还可能具有备用的第一阶段回调或 回退通道,以防原始的第一阶段通信路径被发现和阻止。 |
T1105 | 入口工具传输 | 攻击者可能会将工具或其他文件从外部系统传输到受感染的环境中。工具或文件可以通过命令和控制通道或通过替代协议(如ftp)从外部攻击者控制的系统复制到受害者网络。一旦存在,攻击者还可能在受感染环境内的受害者设备之间传输/传播工具(即横向工具传输)。 在Windows上,攻击者可能使用各种实用程序下载工具,例如copy 、finger 、certutil和PowerShell命令,如IEX(New-Object Net.WebClient).downloadString() 和Invoke-WebRequest 。在Linux和macOS系统上,也存在各种实用程序,如curl 、scp 、sftp 、tftp 、rsync 、finger 和wget 。(引用: t1105_lolbas) 攻击者还可能滥用安装程序和包管理器(如yum 或winget )将工具下载到受害者主机。攻击者还滥用了文件应用程序功能,例如Windows的search-ms 协议处理程序,通过用户执行(通常在与钓鱼诱饵交互后)触发的远程文件搜索将恶意文件传递给受害者。(引用: T1105: Trellix_search-ms) 文件还可以使用各种Web服务以及受害者系统上的本机或其他现有工具进行传输。(引用: PTSecurity Cobalt 2016年12月) 在某些情况下,攻击者可能能够利用在基于Web和本地客户端之间同步的服务(如Dropbox或OneDrive)将文件传输到受害者系统。例如,通过入侵云帐户并登录服务的Web门户,攻击者可能能够触发自动同步过程,将文件传输到受害者的机器上。(引用: Dropbox恶意软件同步) |
T1132 | 数据编码 | 对手可能会对数据进行编码,以使命令和控制流量的内容更难检测。命令和控制(C2)信息可以使用标准数据编码系统进行编码。使用数据编码可能符合现有协议规范,包括使用ASCII、Unicode、Base64、MIME或其他二进制到文本和字符编码系统。(引用: Wikipedia Binary-to-text Encoding) (引用: Wikipedia Character Encoding) 一些数据编码系统还可能导致数据压缩,例如gzip。 |
T1132.001 | 标准编码 | 对手可能会使用标准数据编码系统对数据进行编码,以使命令和控制流量的内容更难检测。命令和控制(C2)信息可以使用符合现有协议规范的标准数据编码系统进行编码。常见的数据编码方案包括ASCII、Unicode、十六进制、Base64和MIME。(引用: Wikipedia Binary-to-text Encoding)(引用: Wikipedia Character Encoding) 一些数据编码系统还可能导致数据压缩,例如gzip。 |
T1132.002 | 非标准编码 | 对手可能会使用非标准数据编码系统对数据进行编码,以使命令和控制流量的内容更难检测。命令和控制(C2)信息可以使用与现有协议规范不同的非标准数据编码系统进行编码。非标准数据编码方案可能基于或与标准数据编码方案相关,例如修改后的 Base64 编码用于 HTTP 请求的消息体。(引用: Wikipedia Binary-to-text Encoding) (引用: Wikipedia Character Encoding) |
T1205 | 流量信号 | 对手可能会使用流量信号来隐藏用于持久性或命令和控制的开放端口或其他恶意功能。流量信号涉及发送一个魔法值或序列到系统以触发特殊响应,例如打开关闭的端口或执行恶意任务。这可能采取发送具有某些特征的一系列数据包的形式,然后端口将被打开供对手使用命令和控制。通常,这些数据包序列包括尝试连接到预定义序列的关闭端口(即端口敲击),但也可以涉及不寻常的标志、特定字符串或其他独特特征。在序列完成后,打开端口可以通过基于主机的防火墙实现,但也可以通过自定义软件实现。 对手还可能与已经打开的端口通信,但监听该端口的服务只有在传递适当的魔法值时才会响应命令或触发其他恶意功能。 观察触发通信的信号数据包可以通过不同的方法进行。一种方法,最初由 Cd00r 实现 (引用: Hartrell cd00r 2002),是使用 libpcap 库来嗅探相关数据包。另一种方法利用原始套接字,使恶意软件能够使用其他程序已经打开的端口。 在网络设备上,对手可能会使用精心制作的数据包来启用网络设备身份验证以用于设备提供的标准服务,例如 telnet。此类信号还可以用于打开关闭的服务端口,例如 telnet,或触发恶意软件植入物上的模块修改,添加、删除或更改恶意功能。对手可能会使用精心制作的数据包尝试连接到一个或多个(打开或关闭的)端口,但也可能尝试连接到路由器接口、广播和网络地址 IP 上的相同端口以实现其目标和目的。(引用: Cisco Synful Knock Evolution)(引用: Mandiant - Synful Knock)(引用: Cisco Blog Legacy Device Attacks) 要在嵌入式设备上启用此流量信号,对手必须首先实现并利用补丁系统映像,因为架构的单片性质。 对手还可能使用 Wake-on-LAN 功能来打开已关闭的系统。Wake-on-LAN 是一种硬件功能,允许通过发送魔法数据包来打开或唤醒已关闭的系统。一旦系统打开,它可能成为横向移动的目标。(引用: Bleeping Computer - Ryuk WoL)(引用: AMD Magic Packet) |
T1205.001 | 端口敲击 | 对手可能会使用端口敲击来隐藏用于持久性或命令和控制的开放端口。为了启用端口,对手会向一系列预定义的关闭端口发送一系列尝试连接。在完成序列后,通常由主机防火墙打开端口,但也可以由自定义软件实现。 这种技术已被观察到用于动态打开监听端口以及在不同系统上启动与监听服务器的连接。 可以通过不同的方法观察触发通信的信号包。一种方法,最初由 Cd00r 实现 (引用: Hartrell cd00r 2002),是使用 libpcap 库嗅探相关数据包。另一种方法利用原始套接字,使恶意软件能够使用其他程序已打开的端口。 |
T1205.002 | 套接字过滤器 | 对手可能会将过滤器附加到网络套接字,以监视然后激活用于持久性或命令和控制的后门。具有提升权限的对手可以使用诸如libpcap 库之类的功能打开套接字并安装过滤器,以允许或禁止某些类型的数据通过套接字。过滤器可能适用于通过指定网络接口(如果未指定,则适用于每个接口)的所有流量。当网络接口接收到与过滤器条件匹配的数据包时,可以在主机上触发其他操作,例如激活反向shell。 为了建立连接,对手会向目标主机发送与安装的过滤器条件匹配的精心制作的数据包。(引用: haking9 libpcap network sniffing) 对手已经使用这些套接字过滤器来触发植入物的安装、进行ping返回以及调用命令shell。与协议隧道结合使用时,这些套接字过滤器的通信也可能被使用。(引用: exatrack bpf filters passive backdoors)(引用: Leonardo Turla Penquin May 2020) 可以在安装了libpcap 的任何类Unix平台上或在使用Winpcap 的Windows主机上安装过滤器。对手可以使用libpcap 与pcap_setfilter 或标准库函数setsockopt 与SO_ATTACH_FILTER 选项。由于套接字连接在接收到数据包之前未激活,因此由于主机上的活动缺乏、CPU开销低以及对原始套接字使用的可见性有限,这种行为可能难以检测。 |
T1219 | 远程访问软件 | 对手可能使用合法的桌面支持和远程访问软件在网络内的目标系统上建立交互式命令和控制通道。这些服务,如VNC 、Team Viewer 、AnyDesk 、ScreenConnect 、LogMein 、AmmyyAdmin 和其他远程监控和管理(RMM)工具,通常作为合法的技术支持软件使用,并且可能被目标环境中的应用程序控制允许。(引用: Symantec Living off the Land)(引用: CrowdStrike 2015 Global Threat Report)(引用: CrySyS Blog TeamSpy) 远程访问软件可能在攻破后安装并用作备用通信通道,以实现冗余访问或作为与目标系统建立交互式远程桌面会话的一种方式。它们也可能作为恶意软件的一部分,用于建立反向连接或反向连接到服务或对手控制的系统。 对手可能类似地滥用EDR和其他防御工具中包含的响应功能,这些功能启用远程访问。 许多远程访问软件的安装也可能包括持久性(例如,软件的安装例程创建一个Windows服务)。远程访问模块/功能也可能作为现有软件的一部分存在(例如,Google Chrome的远程桌面)。(引用: Google Chrome Remote Desktop)(引用: Chrome Remote Desktop) |
T1568 | 动态解析 | 对手可能会动态建立与命令和控制基础设施的连接,以规避常见的检测和补救措施。这可以通过使用与对手用于接收恶意软件通信的基础设施共享通用算法的恶意软件来实现。这些计算可以用于动态调整恶意软件用于命令和控制的参数,例如域名、IP地址或端口号。 对手可能会使用动态解析来实现回退通道。当与主要命令和控制服务器失去联系时,恶意软件可能会使用动态解析作为重新建立命令和控制的一种手段。(引用: Talos CCleanup 2017)(引用: FireEye POSHSPY April 2017)(引用: ESET Sednit 2017 Activity) |
T1568.001 | 快速变换DNS | 对手可能会使用快速变换DNS来隐藏命令和控制通道,背后是一个与单个域解析相关的快速变化的IP地址数组。此技术使用完全限定域名,分配给它的多个IP地址以高频率交换,使用循环IP地址分配和短时间生存(TTL)的DNS资源记录的组合。(引用: MehtaFastFluxPt1)(引用: MehtaFastFluxPt2)(引用: Fast Flux - Welivesecurity) 最简单的“单一变换”方法涉及将地址注册和注销为单个DNS名称的DNS A(地址)记录列表的一部分。这些注册的平均寿命为五分钟,导致IP地址解析的不断洗牌。(引用: Fast Flux - Welivesecurity) 相比之下,“双重变换”方法将地址注册和注销为DNS区域的DNS名称服务器记录列表的一部分,为连接提供额外的弹性。通过双重变换,额外的主机可以充当C2主机的代理,进一步隔离C2通道的真实来源。 |
T1568.002 | 域名生成算法 | 对手可能会使用域名生成算法(DGA)来动态识别命令和控制流量的目标域,而不是依赖于静态 IP 地址或域名列表。这具有使防御者更难阻止、跟踪或接管命令和控制通道的优势,因为恶意软件可能会检查成千上万个域名以获取指令。(引用: Cybereason Dissecting DGAs)(引用: Cisco Umbrella DGA)(引用: Unit 42 DGA Feb 2019) DGA 可以采用生成每个字母时看似随机或“无意义”的字符串(例如:istgmxdejdnxuyla.ru)的形式。或者,一些 DGA 使用整个单词作为单位,通过将单词连接在一起而不是字母(例如:cityjulydish.net)。许多 DGA 是基于时间的,为每个时间段(每小时、每天、每月等)生成不同的域名。其他 DGA 还结合种子值,使防御者更难预测未来的域名。(引用: Cybereason Dissecting DGAs)(引用: Cisco Umbrella DGA)(引用: Talos CCleanup 2017)(引用: Akamai DGA Mitigation) 对手可能会使用 DGA 作为备用通道的目的。当与主命令和控制服务器失去联系时,恶意软件可能会使用 DGA 作为重新建立命令和控制的一种手段。(引用: Talos CCleanup 2017)(引用: FireEye POSHSPY April 2017)(引用: ESET Sednit 2017 Activity) |
T1568.003 | DNS 计算 | 对手可能会对 DNS 结果中返回的地址进行计算,以确定用于命令和控制的端口和 IP 地址,而不是依赖预定的端口号或实际返回的 IP 地址。IP 和/或端口号计算可用于绕过 C2 通道上的出口过滤。(引用: Meyers Numbered Panda) DNS 计算 的一种实现是获取 DNS 响应中 IP 地址的前三个八位字节,并使用这些值计算命令和控制流量的端口。(引用: Meyers Numbered Panda)(引用: Moran 2014)(引用: Rapid7G20Espionage) |
T1571 | 非标准端口 | 对手可能会使用通常不相关的协议和端口配对进行通信。例如,HTTPS 使用端口 8088(引用: Symantec Elfin Mar 2019) 或端口 587(引用: Fortinet Agent Tesla April 2018),而不是传统的端口 443。对手可能会更改协议使用的标准端口,以绕过过滤或混淆网络数据的分析/解析。 对手还可能更改受害者系统以滥用非标准端口。例如,可以使用注册表键和其他配置设置来修改协议和端口配对。(引用: change_rdp_port_conti) |
T1572 | 协议隧道 | 对手可能会将网络通信隧道化到和从受害者系统,以避免检测/网络过滤和/或访问其他无法访问的系统。隧道化涉及显式地将一个协议封装在另一个协议中。这种行为可能通过与现有流量混合来隐藏恶意流量和/或提供外层加密(类似于VPN)。隧道化还可以启用网络数据包的路由,否则这些数据包将无法到达预期目的地,例如SMB、RDP或其他将被网络设备过滤或无法通过互联网路由的流量。 有多种方法可以将一个协议封装在另一个协议中。例如,对手可能会执行SSH隧道(也称为SSH端口转发),这涉及通过加密的SSH隧道转发任意数据。(引用: SSH Tunneling) 对手还可能在动态解析期间滥用协议隧道。称为DNS over HTTPS(DoH),解析C2基础设施的查询可能封装在加密的HTTPS数据包中。(引用: BleepingComp Godlua JUL19) 对手还可能结合代理和/或协议或服务模拟使用协议隧道进一步隐藏C2通信和基础设施。 |
T1573 | 加密通道 | 对手可能会使用加密算法来隐藏命令和控制流量,而不是依赖通信协议提供的任何固有保护。尽管使用了安全算法,如果密钥在恶意软件样本/配置文件中编码和/或生成,这些实现可能容易被逆向工程。 |
T1573.001 | 对称加密 | 对手可能会使用已知的对称加密算法来隐藏命令和控制流量,而不是依赖于通信协议提供的任何固有保护。对称加密算法使用相同的密钥进行明文加密和密文解密。常见的对称加密算法包括 AES、DES、3DES、Blowfish 和 RC4。 |
T1573.002 | 非对称加密 | 对手可能会使用已知的非对称加密算法来隐藏命令和控制流量,而不是依赖通信协议提供的任何固有保护。非对称加密,也称为公钥加密,使用每方的密钥对:一个公钥可以自由分发,另一个私钥。由于密钥的生成方式,发送方使用接收方的公钥加密数据,接收方使用其私钥解密数据。这确保只有预期的接收者可以读取加密数据。常见的公钥加密算法包括RSA和ElGamal。 为了提高效率,许多协议(包括SSL/TLS)在建立连接后使用对称加密,但使用非对称加密来建立或传输密钥。因此,这些协议被归类为非对称加密。 |
T1590.002 | DNS | 对手可能会使用域名系统 (DNS) 应用层协议进行通信,以通过与现有流量混合来避免检测/网络过滤。发送到远程系统的命令以及这些命令的结果通常会嵌入在客户端和服务器之间的协议流量中。 DNS 协议在计算机网络中执行管理功能,因此在环境中可能非常常见。即使在网络身份验证完成之前,也可能允许 DNS 流量。DNS 数据包包含许多字段和标头,可以隐藏数据。通常称为 DNS 隧道,对手可能会滥用 DNS 与他们控制的系统在受害者网络内进行通信,同时模仿正常、预期的流量。(引用: PAN DNS Tunneling)(引用: Medium DnsTunneling) |
T1659 | 内容注入 | 对手可能通过在线网络流量向系统注入恶意内容,以访问并持续与受害者通信。与诱使受害者访问托管在被妥协网站上的恶意有效负载(即,驱动器式攻击后跟驱动器式妥协)不同,对手可能通过妥协的数据传输通道初始访问受害者,在这些通道中他们可以操纵流量和/或注入自己的内容。这些妥协的在线网络通道还可以用于向已妥协的系统传递额外的有效负载(即,工具传输)和其他数据。(引用: ESET MoustachedBouncer) 对手可能通过多种方式向受害者系统注入内容,包括: * 从中间,对手位于合法在线客户端-服务器通信之间(注意: 这类似但不同于中间人攻击,后者描述了仅在企业环境内的AiTM活动)(引用: Kaspersky Encyclopedia MiTM) * 从侧面,恶意内容被注入并作为对合法在线服务器请求的虚假响应竞赛到客户端(引用: Kaspersky ManOnTheSide) 内容注入通常是妥协的上游通信通道的结果,例如在互联网服务提供商(ISP)级别的“合法拦截”。(引用: Kaspersky ManOnTheSide)(引用: ESET MoustachedBouncer)(引用: EFF China GitHub Attack) |
T1665 | 隐藏基础设施 | 对手可能会操纵网络流量,以隐藏和规避其C2基础设施的检测。这可以通过各种方式实现,包括识别和过滤来自防御工具的流量,(引用: TA571) 掩盖恶意域名以混淆自动扫描工具和安全研究人员的真实目的地,(引用: Schema-abuse)(引用: Facad1ng)(引用: Browser-updates) 以及隐藏恶意工件以延迟发现并延长对手基础设施的有效性,否则这些基础设施可能会被识别、阻止或完全关闭。 C2网络可能包括使用代理或VPN来伪装IP地址,这可以使对手与正常网络流量混合,并绕过条件访问策略或反滥用保护。例如,对手可能使用虚拟私有云来伪造其IP地址,以更接近受害者的IP地址范围。这也可能绕过依赖源IP地址地理位置的安全措施。(引用: sysdig)(引用: Orange Residential Proxies) 对手还可能尝试通过多种方式过滤网络流量,以规避防御工具,包括阻止/重定向常见的事件响应者或安全设备用户代理。(引用: mod_rewrite)(引用: SocGholish-update) 基于IP和地理围栏的流量过滤也可能避免自动沙箱或研究人员活动(即虚拟化/沙箱规避)。(引用: TA571)(引用: mod_rewrite) 隐藏C2基础设施还可能通过资源开发活动(如获取基础设施和破坏基础设施)得到支持。例如,使用广泛信任的托管服务或域名(如知名URL缩短提供商或营销服务)进行C2网络可能使对手能够呈现良性内容,一旦满足特定条件,受害者将被重定向到恶意网页或基础设施。(引用: StarBlizzard)(引用: QR-cofense) |