「被入侵之后,攻击者是怎么操控终端的?」——那段通信就是 C2。本文讲解它的原理,以及察觉与防范的方法(不涉及攻击的制作方法与运用方式)。
在攻击流程中的位置
C2 不是「入侵本身」,而是在其之后到来的。
这里重要的是,②的外向通信正是检测与阻断的机会。即便要 100% 防住入口(入侵)很难,也仍有在出口察觉并拦下的余地。
如何察觉(检测的线索)
| 线索 | 看什么 |
|---|---|
| 信标(定期通信) | 以固定间隔发往同一目的地的规律性外向通信 |
| 陌生的目的地 | 可疑的域名/IP(与已知恶意目的地=IOC 比对) |
| 可疑的 DNS | 向陌生域名的查询·异常增多的 DNS |
| 意料之外的路径 | 在意料之外的端口/协议上的外向通信 |
如何防御
从源头上不让其入侵(地基)
收紧出口(egress)
监控 DNS 与通信日志
比对并拦截已知的恶意目的地
本站的视角:不仅守入口、还要守『出口』。确认 C2『不存在』也是调查的一部分
C2 这一思路带来的最大启示是:防守不只在入口(入侵)。即便完全防止入侵很难,也仍留有收紧出口(外向通信)、察觉可疑回调的余地。本站在把「让其无法入侵的设计(打补丁·最小权限·MFA)」作为首选的同时,建议把出口控制与通信监控作为「最后的防线」一并具备。此外,在怀疑发生入侵时的调查中,确认「不存在常驻的 C2(后门或非法的定期通信)」也是重要的一环——要得出「实际危害有限」的结论,对出口一侧的确认不可或缺。
接下来阅读
- 术语:RCE 是什么 / IOC(入侵指标)是什么 / IOA(攻击指标)是什么 / 勒索软件是什么
FAQ
QC2(命令与控制)是什么?
它是被入侵的终端(感染了恶意软件、或被漏洞攻陷的 PC 或服务器)「回连」攻击者准备好的服务器,从那里接收命令、或把窃取的数据外传出去的远程操控通道。放到攻击的流程里看,它处于入侵(例如 RCE)成功「之后」、攻击者用来持续操控终端的环节。
Q如何察觉 C2?
关键是「外向的通信」。被感染的终端常常会以固定的间隔向攻击者服务器发送「存活确认」通信(信标)。与平常不同的、向某个目的地发出的规律性定期通信,向陌生域名发起的 DNS 查询,以及意料之外的端口/协议上的外向通信等,都是线索。这些既可以用痕迹(IOC)捕捉,也可以用行为(IOA)捕捉。
Q防御 C2 的基本做法是什么?
①从源头上不让其入侵(打补丁·最小权限·MFA),②收紧出口(外向通信)的「egress 过滤」,③监控 DNS 与通信日志,以察觉可疑的定期通信或目的地,④比对威胁情报提供的已知 C2 目的地(IOC)并加以拦截,这些就是基本做法。重要的思路是:入侵不仅能在「入口」拦下,也能在「出口」拦下。