TODO 从流量中检测C2通信

1. C2的基础

什么是C2?

C2, Command and Control, 命令与控制。主要是指攻击者通过与恶意软件的交互,对被害者进行控制,从而实施恶意活动的含义。从语义上来讲,C2即可用作为名词(基础设施)也可以作为动词(交互的行为),例如C2服务器(名词做定语)、攻击者进行C2。

什么阶段会有C2?

对于我这种新手来说,在面试的时候被问到一个问题,就是C2是在什么阶段进行的。当时脑子一下子有点懵,觉得C2不是就在中马后进行嘛。后在才想明白,这个问题其实背后考察的是对基本的攻击链路熟悉情况。我们先从杀伤链上来讲,主要分为以下的步骤:

  • 侦查(Reconnaissance)
  • 武器化(Weaponization)
  • 散布/载荷投递(Delivery)
  • 恶用/漏洞利用(Exploitation)
  • 设置/驻留(Installation)
  • 命令与控制(Command & Control)
  • 目标达成/恶意活动(Action on Objectives)

C2的作用是什么?

以上的这种杀伤链是适用于普遍的网络入侵的,但在APT攻击中,APT攻击的目的往往不是为了破坏,而是为了窃密、监听[1]。

因此,在APT攻击中,C2通信常会有以下的用处:

  • 用于攻击者的指令下发
  • 用于资源下发和数据上传

因此C2架构的总体作用可以理解为:

C2 架构也就可以理解为,恶意软件通过什么样的方式获取资源和命令,以及通过什么样的方式将数据回传给攻击者。[1]

2. C2的技术

从使用的协议上进行分类

  • HTTP/HTTPS
  • FTP
  • DNS
  • SMTP