指挥与控制
链接到所有部分:第1部分。获得初始访问权限(Initial Access)第2部分。执行第3部分。紧固(持久性)第4部分。特权提升第5部分。逃避防御第6部分。获取凭据(凭据访问)第7部分。发现第8部分。横向运动第9部分。数据收集(Collection)第10部分。渗透第11部分。命令和控制“命令和控制”部分(
缩写-C2,C&C )是
企业ATT&CK Matrix中引入的攻击链的最后阶段。
指挥和控制包括使敌人与被攻击网络连接并受其控制的系统通信的技术。 取决于系统的配置和目标网络的拓扑,有许多组织隐蔽通道C2的方法。 最常见的技术在cat下进行描述。 在另一节中突出显示了有关组织预防和检测C2措施的一般建议,并在本节末尾提出了建议。
对于使用本文中阐述的信息可能造成的后果,作者概不负责,对于某些表述和术语可能存在的不准确性,我们深表歉意。 发布的信息是对MITER ATT&CK内容的免费转载。系统: Windows,Linux,macOS
描述:为了绕过防火墙并将恶意流量与正常的网络活动混合在一起,攻击者可以通过常规应用程序通常使用的标准端口与受攻击的系统进行通信:
TCP: 80 (HTTP)
TCP: 443 (HTTPS)
TCP: 25 (SMTP)
TCP/UDP: 53 (DNS)
用于组织敌方飞地内的网络连接(例如,代理服务器和其他节点之间)的端口示例是:
TCP/UDP: 135 (RPC)
TCP/UDP: 22
TCP/UDP: 3389
系统: Windows,Linux,macOS
描述:对手可以使用可移动存储介质在物理隔离的节点之间组织C2基础结构,以在系统之间传输命令。 两个系统都必须妥协。 具有Internet连接的系统最有可能受到第一个系统的破坏,而第二个系统在横向移动期间会通过可移动媒体复制恶意软件而受到破坏(请参阅
第8部分 )。 命令和文件将从隔离的系统中继到具有Internet连接的系统,而对手可以直接访问该系统。
保护建议:禁用可移动设备的自动运行。 在组织策略级别上禁止或限制使用可移动媒体。 组织对连接可移动媒体时执行的过程的审核。
系统: Windows,Linux,macOS
描述:攻击者可以使用代理服务器在系统之间重定向网络流量,也可以用作网络通信的中介。 许多工具(例如HTRAN,ZXProxy和ZXPortMap)允许您重定向流量或转发端口。
代理的概念还可以涵盖对等(p2p),网状网络或网络之间的可信连接的信任。 网络可以在组织内部,也可以在具有信任关系的组织之间。 攻击者可以使用网络信任来控制C2通道,减少同时进行的传出网络连接的数量,提供容错能力,或者使用信任的连接来避免怀疑。
系统: Windows,Linux,macOS
描述:攻击者可以使用其自己的网络协议来组织C2通道,而不是将命令/数据封装到现有的标准应用层协议中。 敌对的C2协议实现可以在TCP / IP或其他标准网络堆栈中提供的基本协议上模仿众所周知的协议或用户协议(包括原始套接字)。
系统: Windows,Linux,macOS
描述:为了隐藏通过C2通道传输的流量,对手可以使用其自己的加密协议或加密算法。 一个简单的方案,例如用固定密钥对纯文本进行XOR加密,将得到密文(尽管非常弱)。
专有加密方案的复杂度可能有所不同。 恶意软件样本的分析和反向工程可用于成功检测所使用的算法和加密密钥。 一些攻击者可能会尝试实现自己版本的知名密码算法,而不是使用知名库,这可能会导致敌对软件运行意外错误。
保护建议:如果恶意软件使用其自己的对称密钥加密,则可以从软件样本中获取算法和密钥,以便使用它们来解码网络流量并识别恶意软件签名。
系统: Windows,Linux,macOS
描述:通过C2通道传输的信息是使用标准数据编码系统编码的。 数据编码的使用应符合现有协议规范,包括使用ASCII,Unicode,Base64,MIME,UTF-8或其他二进制文本和字符编码。 某些编码系统(例如gzip)可以额外压缩数据。
系统: Windows,Linux,macOS
描述:通道C2中的数据可以隐藏(但不一定使用加密),以使其难以检测和解密所传输的内容,并使通信过程不太引人注意并隐藏所传输的命令。 有许多模糊处理方法,例如将不必要的数据添加到协议流量,使用隐写术,将合法流量与C2流量结合在一起,或使用非标准数据编码系统,例如HTTP请求消息主体中的修改后的Base64。
系统: Windows,Linux,macOS
描述: “域前沿”的本质是能够隐藏CDN网络(Content Delivery Netwoks)中HTTPs数据包的实际目标地址。
示例:存在域X和域Y,它们是相同CDN的客户端。 即使禁止源地址和目标地址之间的网络通信,带有TLS标头中的域X地址和HTTP标头中的域Y地址的数据包也很可能会传递到域Y地址。HTTPs数据包包含两组标头:第一组TLS位于数据包的开放部分中,第二组HTTP指的是数据包的加密部分。 此外,每个标头都有自己的字段,用于指定目标IP地址。 域前沿的本质是在TLS标头的“ SNI”字段和HTTP标头的“主机”字段中故意使用不同的域名。 因此,在“ SNI”字段中指示允许的目的地地址,在“主机”字段中指示传递目的地地址。 如果两个地址都属于相同的CDN,则在收到此类数据包后,路由节点可以将请求中继到目标地址。
此技术还有另一种变化,称为无域前沿。 在这种情况下,“ SNI”字段(TLS标头)有意留为空白,即使CDN检查“ SNI”和“ HOST”字段的重合(如果忽略了空的SNI字段),也允许数据包实现其目标。
保护建议:如果可以检查HTTPS流量,则可以捕获和分析类似于Domain Fronting的连接。 如果执行SSL检查或未加密流量,则可以检查“ HOST”字段是否与“ SNI”字段一致,或者检查白名单或黑名单中是否存在指定的地址。 为了实现“领域前沿”,对手可能需要在受感染的系统中部署其他工具,可以通过安装本地主机保护工具来阻止其安装。
系统: Windows,Linux,macOS
描述:为了确保控制通道的可靠性并避免超过已传输数据的阈值,如果主通道C2受损或不可用,攻击者可以使用备用或备用通信通道。
系统: Windows,Linux,macOS
描述:攻击者可以创建C2多级通道,这些通道可用于各种条件或特定功能。 使用多个步骤可能会混淆C2通道并使之模糊化,从而使其难以检测。
在目标主机上运行的RAT启动到第一层服务器C2的连接。 第一步可能具有自动功能,用于收集有关主机的基本信息,运行更新工具以及下载其他文件。 接下来,可以启动第二个RAT工具以将主机重定向到第二层服务器C2。 C2的第二阶段很可能将完全发挥作用,并允许敌人通过倒车壳和其他RAT功能与目标系统进行交互。
步骤C2最有可能将彼此分开放置而不会跨越其基础结构。 引导加载程序还可能具有冗余的第一级反馈或备用通道,以防检测到原始第一级通道并被阻塞。
保护建议:如果事先知道,则用于组织多级通道的C2基础结构可能会被阻止。 如果C2通信中存在唯一签名,则可以使用它们来识别和阻止通道。
系统: Windows,Linux,macOS
描述:为掩盖恶意流量的来源,攻击者可以使用几个代理服务器的链。 通常,防御者将只能确定最后一个代理。 多进程的使用使确定恶意流量的来源变得更加困难,要求防御方通过多个代理服务器监视恶意流量。
保护建议:通过组织黑名单和白名单,可以阻止对已知匿名网络(例如Tor)和C2基础结构的访问。 但是,您应注意,可以使用类似于“域前沿”的技术来规避这种阻止方法。
系统: Windows,Linux,macOS
说明:某些对手可能会在不同协议之间拆分C2数据通道。 传入命令可以通过一种协议传输,传出数据可以以不同的方式传输,这使您可以绕过某些防火墙限制。 为了避免警告有关任何单个消息超过阈值的警告,分离也可能是偶然的。
保护建议:分析数据包的内容以查找与所使用端口的预期协议行为不匹配的连接。 在多个通信通道之间匹配警报还可以帮助检测C2。
系统: Windows,Linux,macOS
描述:对手可以应用多个级别的C2流量加密。 通常(但不排除其他选项),使用自己的加密方案的其他隧道将用作HTTPS或SMTPS加密的一部分。
安全提示:使用加密协议可以基于基于签名的流量分析使典型的C2发现复杂化。 如果恶意软件使用标准的加密协议,则可以使用SSL / TLS检查来检测某些加密通道上的C2流量。 SSL / TLS验证涉及某些风险,在实施之前必须考虑这些风险,以避免潜在的安全问题,例如
不完整的证书验证 。 在SSL / TLS验证之后,可能需要进行其他加密分析才能进行第二级加密。
系统: Linux,macOS
权限:用户
描述:攻击者可以使用端口敲门方法来隐藏他们用于连接至系统的开放端口。
安全提示
:使用状态防火墙可以阻止实施某些“端口敲门”选项。
系统: Windows,Linux,macOS
描述:为了建立交互式的命令和控制模式,攻击者可以使用为那些设计的合法软件。 工作站支持和用于远程访问的软件,例如TeamViewer,Go2Assist,LogMain,AmmyAdmin等,这些通常由技术支持服务使用,可以将其列入白名单。 远程访问工具,例如VNC,Ammy和Teamview,是技术支持工程师最常使用的工具,也是网络犯罪分子最常用的工具。
危害系统后,可以安装远程访问工具以用作备用C2通道。 它们还可以用作恶意软件的组成部分,以与对手控制的服务器或系统建立反向连接。
几个小组使用了诸如TeamViewer之类的管理工具,重点关注俄罗斯国家和犯罪公司感兴趣的国家中的政府机构。
保护建议:远程访问工具可以与Domain Fronting技术结合使用,因此建议防止攻击者使用主机安全工具安装RAT工具。
系统: Windows,Linux,macOS
说明:可以将文件从一个系统复制到另一个系统,以部署敌人的工具或其他文件。 可以通过C&C通道,或使用其他工具使用其他协议,例如FTP,从攻击者控制的外部系统中复制文件。 也可以使用诸如scp,rsync,sftp等内置工具将文件复制到Mac和Linux。
敌人还可以在内部受害者系统之间横向复制文件,以支持网络移动和远程命令执行。 可以使用文件共享协议通过SMB连接网络资源,也可以使用到Windows Admin Shares或RDP的经过身份验证的连接来完成此操作。
保护建议:作为一种检测手段,建议通过SMB协议监视网络上文件的创建和传输。 具有在系统内创建文件的外部网络连接的异常进程也应该是可疑的。 FTP等实用程序的非典型用法也可能令人怀疑。
系统: Windows,Linux,macOS
描述:为了避免将C2流量与现有的网络流量混合在一起,攻击者可以使用标准的应用程序级协议,例如HTTP,HTTPS,SMTP或DNS。 对于C2通道(安全区域)内的连接,例如,代理服务器与主节点和其他节点之间的连接,通常使用RPC,SSH或RDP协议。
系统: Windows,Linux,macOS
描述:对手可以使用众所周知的加密算法来隐藏C2流量。 尽管使用了健壮的算法,但是如果秘密密钥由恶意软件加密和生成和/或存储在配置文件中,则可以使用逆向工程公开C2流量。
系统: Windows,Linux,macOS
描述: OSI模型的非应用层协议可用于受感染主机和服务器之间的通信或网络上受感染主机的交互。 在众所周知的实现中,使用了网络层协议ICMP,传输层UDP,会话层SOCKS和诸如重定向/隧道之类的协议,例如LAN上串行(SOL)。
网络犯罪分子经常使用ICMP隐藏主机之间的通信。 由于ICMP是Internet协议套件的一部分,并且必须由所有与IP兼容的设备实施,因此它不像其他协议(如TCP或UDP)那样受到频繁监视。
系统: Windows,Linux,macOS
说明:攻击者可以通过C2通过非标准端口进行通信,以绕过未正确配置的代理服务器和防火墙。
系统: Windows
权限:用户
描述:攻击者可以使用运行中的合法外部Web服务作为发送命令来控制受感染系统的方式。 管理服务器称为命令和控制(C&C或C2)。 流行的网站和社交网络可以充当C2的机制,还可以使用各种公共服务,例如Google或Twitter。 所有这些都有助于在整个流量中隐藏恶意活动。 Web服务通常使用SSL / TLS,因此攻击者可以获得额外的保护层。
保护建议:防火墙和Web代理可用于实施限制外部网络通信的策略。
关于组织预防和检测C2措施的一般建议
•使用基于签名的流量分析的IDS / DLP系统可用于检测和阻止已知的特定C2工具和恶意程序,因此,攻击者很可能会随着时间的推移更改所使用的工具或配置数据传输协议,从而避免通过其已知的手段进行检测保护
•使用防病毒端点保护工具来阻止已知的特定C2工具和恶意软件;
•确保只能通过授权接口访问内部网络上的主机;
•通过只允许防火墙和代理上的必要端口通过适当的网络网关来限制传出流量;
•阻止已知C2基础结构的域和IP地址。 但是,应该指出,这不是一个有效的长期解决方案,因为
对手经常可以改变C2的基础架构;•使用应用程序白名单工具使安装和运行第三方软件变得困难;•使用防火墙,应用程序防火墙和代理,将传出流量限制到由知名远程访问工具(TeamViewer,Go2Assist,LogMain,AmmyAdmin等)使用的站点和服务;•如果恶意软件使用其自己的对称密钥加密,则通过对软件样本进行反向工程,可以获得用于解码网络流量并识别恶意软件签名的算法和密钥;•监视对与包含或使用替代通信渠道有关的API函数的调用;•分析网络流量中的ICMP消息或其他协议,这些消息或协议包含异常数据或通常在网络上看不见或不在网络上;•分析网络流以识别异常流,例如,当客户端发送的数据远远大于从服务器接收的数据时,或者通常不使用网络的进程打开网络连接时;•分析网络流,以识别不符合所用端口协议标准的数据包。