“网络杀伤链”(Cyber Kill Chain)这一概念源自军事领域的“杀伤链”理论,是由洛克希德·马丁公司(Lockheed Martin)于2011年提出的网络安全框架。该框架旨在通过剖析网络攻击的实施过程,帮助各类组织有效防御此类攻击。网络杀伤链将攻击过程划分为七个阶段:
- 侦察(Reconnaissance):在第一阶段,攻击者收集有关目标的信息。
- 武器化(Weaponisation):完成侦察后,攻击者根据目标系统的漏洞,创建可交付的攻击载荷(payload)或修改现有的载荷。
- 投递(Delivery):准备就绪后,攻击者将武器化的载荷发送给目标。
- 利用(Exploitation):载荷一旦执行,便会利用目标系统中的漏洞。
- 安装(Installation):利用漏洞后,攻击者得以安装后门或恶意软件,从而在目标环境中保持持久的控制权。
- 命令与控制(C2):攻击者利用已安装的后门,对受感染的系统进行控制。
- 目标行动(Actions on Objectives):进入此阶段,攻击者即可执行进一步的操作,例如窃取数据或攻击其他系统。
Reconnaissance
Passive Reconnaissance
让我们来看几个被动侦察的例子。首先想到的是 WHOIS 和 DNS 数据库。除非使用了隐私保护服务,否则 WHOIS 数据库可以揭示联系信息、注册日期以及域名所有者等资料。查询 DNS 数据库则可以获取 DNS 服务器及公共服务器的 IP 地址。其他被动侦察手段还包括通过网络爬虫和数据抓取进行的网站侦察、社交媒体侦察,以及“Google Dorking”(即利用搜索引擎挖掘敏感信息和机密文件)。
Active Reconnaissance
如前所述,主动侦察可能会产生明显的网络流量或痕迹(即“嘈杂”)。一个典型的例子是网络端口扫描,用于识别活跃主机及正在运行的服务。更具侵入性的例子包括漏洞扫描,旨在发现目标公共服务中的安全弱点。此外,物理侦察也很常见;在此过程中,攻击者可能会实地考察目标场所,以寻找入口、研究安保措施并观察人员行为。
Countermeasures Against Reconnaissance: Examples
防御策略包括尽量减少公开披露的信息。这一措施可通过限制在网站、社交媒体账户及 DNS 记录中发布的信息来实现。此外,WHOIS 记录不应泄露姓名或地址等敏感个人信息;许多域名注册商都提供隐私保护服务,通常需额外付费。
监控并分析网络流量与日志,对于发现漏洞及网络端口扫描活动至关重要。安全团队必须主动监控网络流量,以便识别扫描行为;同时,检查服务日志对于发现侦察企图也必不可少。
Weaponisation
一旦收集到足够的目标信息,攻击者便会进入下一阶段:武器化(Weaponisation)。根据收集到的关于目标系统的信息,攻击者可以制作专门针对已发现弱点的有效载荷(payload)。攻击者既可以使用现成的漏洞利用程序(exploit),也可以修改现有程序,甚至从零开始编写。值得注意的是,各种框架和工具包都能在这一阶段为攻击者提供协助。
许多攻击者会采用混淆或加密手段来逃避检测。此外,他们还可能将恶意代码隐藏在看似无害的文件中,例如 Microsoft Word 文档或 PDF 文件。关键在于,该阶段结束后,便会生成一个可交付给目标系统的恶意文件。
Weaponisation: Examples
在侦察阶段之后,攻击者已确定了目标漏洞。他们必须利用合适的漏洞利用代码来制造“网络武器”。网络攻击者能将什么武器化呢?从电子邮件附件到 USB 闪存盘,任何事物皆有可能。
攻击者可能会使用现有的漏洞利用工具包(exploit kit)。漏洞利用工具包是一个自动化平台,其中包含针对各种漏洞的多种利用程序。利用这些平台,攻击者可以轻松地将漏洞利用代码封装到有效载荷中,例如可执行文件或特定文档。
值得庆幸的是,并非所有文档都能被武器化以携带漏洞利用代码。攻击者通常倾向于创建包含恶意宏(macro)的 Microsoft Office 文档。如果启用了宏功能,一旦打开文档,宏就会执行预先设定的一系列指令。
恶意文件准备就绪后,攻击者可能会编写一封包含恶意附件的网络钓鱼邮件,搭建一个托管该文件的网页,或者将其存储在 USB 闪存盘中。另一方面,如果攻击者意图针对某个存在漏洞的服务进行攻击,则需要在下一阶段规划如何将有效载荷传送到该服务。
Countermeasures Against Weaponisation: Examples
对于防御方而言,用户培训至关重要。当用户收到邮件时,若邮件包含附件,务必保持警惕;此外,用户还应掌握如何查看邮件源代码以核实其真实性。再者,如果邮件中包含加密的有效载荷压缩包(如 ZIP 文件)及解密密码,用户在满足好奇心之前,应对此类邮件中的指令持怀疑态度。面向用户的网络安全培训是一个持续的过程,也是构建稳固防御体系不可或缺的一环。
除了用户培训外,禁用不必要的功能、卸载冗余软件以及移除不必要的浏览器插件也是明智之举。限制具有潜在风险的功能至关重要,例如禁用 Office 文档中的宏,或将其限制为仅允许来自已签名且受信任来源的宏。此类策略可通过 Windows 组策略实施,从而有助于缩小潜在的攻击面。
Delivery
在前一阶段,攻击者已准备好定制的有效载荷(payload),现在需要找到合适的方式将其传输到目标环境。他们可以利用侦察阶段收集的信息来选择合适的投递方式。
Delivery: Examples
为了成功投递漏洞利用载荷,攻击者不断推陈出新,采用各种创意手段。
网络钓鱼邮件:此类邮件通常包含恶意附件,但也可能包含指向恶意下载内容的链接。文件名在攻击中起着关键作用;例如,名为 invoice.pdf.exe 的文件可能比 program.exe 更容易欺骗目标用户。
鱼叉式网络钓鱼邮件:这是一种针对性攻击,邮件被精心伪装成来自收件人熟知或信任来源的合法通信。例如,发件人的姓名和电子邮件地址会被伪造,使其看起来像是收件人的上级主管。 恶意网页链接:攻击者可能将漏洞利用工具包(exploit kits)托管在公共网站上。此外,还会利用域名欺骗和网址缩短技术,降低链接的可疑度。
文件共享平台:攻击者可能将恶意文件上传到文件共享网络服务,利用人们对这些服务提供商的熟悉感来实施攻击。
恶意广告(Malvertising):攻击者在合法网站上投放广告,将用户重定向至恶意页面。
短信钓鱼(Smishing):攻击者发送包含恶意链接或下载恶意软件指令的短信。
社会工程学:攻击者可能诱导毫无防备的用户下载并运行恶意程序。
物理投递方式:恶意代码可能被存储在 USB 闪存驱动器中,并放置在容易被获取的地点。另一种方式是邮寄一张看似无害但包含恶意程序的 DVD。攻击者通常会构建一个令人信服的场景,例如声称 DVD 中包含目标人员感兴趣的产品目录。
此外还存在许多其他策略;随着新技术的出现和攻击者手段的日益高明,预计还会涌现出更多新的攻击手法。
Countermeasures Against Delivery: Examples
这就像一场网络军备竞赛,防御团队必须针对已知的每种投递方式采取相应的防御措施。首先是开展网络安全意识培训,教育用户掌握安全浏览习惯,并了解网络钓鱼及社会工程学攻击的相关知识。除了用户培训外,电子邮件过滤和网页过滤也是许多组织的标准配置。Web 应用防火墙(WAF)在拦截通过网络传播的恶意文件方面发挥着不可或缺的作用。此外,对于大型企业而言,网络监控与补丁管理变得愈发至关重要。还有许多其他防御策略可用于阻断攻击链,防止恶意载荷被成功投送。
Exploitation
在成功投递恶意载荷之后,便进入了利用(Exploitation)阶段。利用行为可能采取多种形式,例如利用软件漏洞、弱密码或系统配置错误。
Exploitation: Examples
攻击者可能利用多种手段来攻击系统。最直接的方法是针对基于密码的身份验证系统。如果使用的是默认密码或弱密码,攻击者很容易将其破解;此外,攻击者还可以利用网络钓鱼或更复杂的手段诱骗用户提交密码。
软件漏洞为攻击者提供了另一条入侵途径。漏洞可能存在于客户端系统或网络服务中。新的漏洞层出不穷,攻击者开发出可用的利用代码通常只是时间问题。有时,在厂商意识到其产品存在漏洞之前,针对该漏洞的利用手段就已经出现;这种情况被称为“零日漏洞利用”(zero-day exploit)。
还有许多其他可被利用的漏洞,从 SQL 注入到缓冲区溢出不一而足。根据具体漏洞的不同,即使攻击者没有登录凭据,也可能借此轻松入侵系统。
Countermeasures Against Exploitation: Examples
安全团队可以采取多种方案来阻止利用行为。以下列举了几种措施:应强制执行密码策略,并要求使用多因素身份验证(MFA)以加固基于密码的身份验证机制。MFA 能有效防止攻击者得逞,即使他们掌握了有效的登录凭据。
必须对服务器和客户端进行补丁管理,以消除已知漏洞。此外,还需要进行漏洞扫描,以便发现尚未修复的漏洞。
入侵防御系统(IPS)可以通过检查流量中的已知利用特征,在阻止各种利用尝试方面发挥重要作用。Web 应用防火墙(WAF)则可以拦截针对 Web 应用程序的各种攻击,例如 SQL 注入、跨站脚本攻击(XSS)和跨站请求伪造(CSRF)。
Installation
在成功利用目标系统漏洞之后,安装阶段旨在确保攻击者能够持续访问该系统。这样一来,攻击者日后便无需再次执行漏洞利用步骤,即可重新访问受控系统。此处的关键在于“持久性”(persistence)。
Installation: Examples
无论采用何种手段,都必须确保未来的持久访问能力;否则,攻击者将无法继续后续阶段的操作。为了维持这种持久访问,攻击者有时需要在 MS Windows 中创建计划任务,或在 Linux 系统中设置 cron 任务。在其他情况下,他们可能需要修改启动脚本或配置文件。在 Windows 中安装新服务或在 Linux 系统中安装守护进程(daemon)也是可行的方法;其中,利用服务机制往往能更轻松地维持持久访问。
攻击者可能会采取安装恶意软件、创建后门或植入 Rootkit 等手段。此外,他们还会利用系统的内置功能,例如合法的 Windows 工具和二进制文件——这些通常被称为“原生二进制文件”(LOLBins,即“就地取材”的二进制文件)。
在某些情况下,攻击者需要下载并执行额外的有效载荷(payload)以巩固其访问权限。例如,在利用 Web 应用程序漏洞后,他们可能会部署 Web Shell。Web Shell 是一种由受攻击服务器所支持的编程语言编写的小型脚本;它允许攻击者通过 Web 浏览器界面在目标系统上执行操作系统命令。通过 HTTPS 等标准协议运行 Web Shell,既能确保攻击者登录目标系统,又能将其活动伪装在正常的 HTTPS 流量之中。
Countermeasures Against Installation: Examples
监控新出现的进程和服务至关重要;必须结合完整上下文分析父进程及相关活动,以便识别恶意行为。
端点检测与响应(EDR)技术支持对端点进行监控,以发现可疑活动,例如异常的进程创建、敏感目录中的文件修改以及意外的网络连接。
定期进行系统审计并将其与安全基线进行比对,对于识别未经授权的更改(如新建用户账户或新安装的服务)并将其恢复至原始状态必不可少。某些配置管理工具可实现此过程的自动化,从而维护系统安全并撤销未经授权的更改。
另一种方法是应用白名单机制,即仅允许经批准的应用程序运行,从而阻止未经授权或恶意的软件执行。上述方法并非详尽无遗;不过,它们能让你了解这些应对措施的复杂性。如果攻击者成功执行了安装阶段,便可在下一阶段着手建立隐蔽通道。
C2
在目标环境中成功建立持久访问权限后,攻击者需要维持对受感染系统的可靠且隐蔽的访问,以便后续执行其预定目标。命令与控制(C2)阶段旨在建立这种隐蔽通信通道,供下一阶段使用。在此阶段,攻击者会在受感染系统与其自身基础设施之间建立 C2 通信通道。
攻击者可以利用各种技术来构建此类基础设施,包括域名、IP 地址和云服务。为了逃避检测,攻击者可能会采取多种手段,例如生成随机域名或频繁更换 IP 地址。在某些情况下,攻击者可能会使用看似合法的域名,以免引起怀疑。此外,利用加密及其他混淆技术来避免被发现也是常见的做法。
Command and Control: Examples
我们将列举几种 C2 基础设施用于实现稳健隐蔽通信的策略。第一种策略是利用 HTTP、HTTPS、DNS 和 SMTP 等常见应用层协议进行 C2 通信*,从而使其流量能够混入正常流量中。此外,C2 基础设施可能会使用 HTTPS 等加密通道,以规避网络监控工具的检测。攻击者还可能利用 DNS 隧道技术(即将数据编码在 DNS 请求中)来绕过各种安全解决方案和防火墙。
在域名地址方面,C2 通信可以利用社交媒体平台(如 X 平台的私信功能)向僵尸网络发送指令。另一种选择是利用 Dropbox 和 Google Docs 等合法云服务,特别是在进行数据外泄操作时。
如果攻击者注册自己的域名并以此建立 C2 基础设施,该设施将极易被封禁或查封。因此,C2 机制依赖多种技术来确保通信的稳健性,例如域名生成算法(DGA)和快速通量(Fast Flux)技术。DGA 指的是利用预定义的算法生成海量域名(例如 50,000 个),而 C2 基础设施的控制者仅注册其中的 1% 或 2%。恶意软件会遍历这份庞大的域名列表,直到找到一个处于活动状态的域名。一旦某个域名被封锁或查封,恶意软件便会切换到列表中的下一个可用域名。 Fast Flux 技术将数百甚至数千个 IP 地址关联到同一个域名,并且这些 IP 地址会每隔几分钟进行轮换。受感染的设备(例如物联网设备)充当代理,将流量转发至隐藏的 C2(命令与控制)服务器。一旦某个 IP 地址(即代理节点)被封锁,恶意软件便会自动切换到下一个 IP 地址。
Countermeasures against Command and Control: Examples
网络安全团队必须考虑多种方案来检测并阻断 C2 流量。让我们探讨其中几种。
利用防火墙、IDS(入侵检测系统)和 IPS(入侵防御系统)进行网络监控,在检测和阻断 C2 流量方面发挥着重要作用。密切关注异常的流量模式与流量规模,以及与已知恶意 IP 地址的连接,至关重要。
由于 DNS 流量可被用于承载 C2 流量(即 DNS 隧道),因此监控 DNS 流量并分析 DNS 查询同样至关重要——特别是当发现异常长的查询字符串或针对可疑域名的大量请求时。此外,鉴于 Web Shell 使用 HTTP 和 HTTPS 协议,监控 Web 流量有助于发现可疑连接,而内容过滤则能阻断对可疑 URL 的访问。同时,还需要实施加密流量检测(解密并检查加密流量),以便识别利用 HTTPS 进行的 C2 通信。
许多安全团队会更进一步,部署蜜罐来检测和分析 C2 通信尝试,并监控攻击者的行为。
Actions on Objectives
在建立隐蔽的 C2(命令与控制)通信通道后,攻击者便可着手实施其既定目标。在此阶段,攻击者执行各种行动,范围涵盖从数据外泄(信息窃取)到服务中断等多种手段。
Actions on Objectives: Examples
攻击者针对某组织可能出于多种动机。有些攻击手段十分张扬。例如,若攻击者意在破坏,可能会通过删除或篡改数据来发动破坏性攻击,从而扰乱系统的正常运行。另一方面,攻击者也可能为了经济利益或“快速致富”而行动,通常表现为实施勒索软件攻击;或者,他们也可能试图以更隐蔽的方式牟利,例如通过未经授权的电汇或其他欺诈性交易窃取资金。
在涉及工业或政治间谍活动的隐蔽攻击中,攻击者通常最关注从目标处窃取敏感文件,即所谓的数据外泄。此外,如果攻击者意图访问目标网络中的其他系统,则会尝试隐蔽地攻陷网络内的其他系统,即进行“横向移动”。
根据目标组织的不同,威胁行为者也可能意图操控工业控制系统(ICS)。同样常见的情况是,攻击者会先建立长期的持久化驻留,以便在选定的时机发动攻击。具体的执行方式取决于威胁行为者及其动机。上述仅为部分示例,实际情况可能远不止于此。
Countermeasures Against Actions on Objectives: Examples
让我们探讨一些组织可以采取的应对措施。数据防泄漏(DLP)解决方案在防止未经授权的数据外泄方面发挥着关键作用。此外,建立可靠的备份与恢复计划对于抵御勒索软件及其他破坏性攻击至关重要。
为了最大限度地降低攻击可能造成的损失,组织需要考虑实施网络分段和严格的访问控制。网络分段可以将关键系统与网络其他部分隔离,从而在其他网段的系统遭入侵时防止攻击者进行横向移动;同时,访问控制和“最小权限原则”能够限制有权访问敏感系统及数据的人员范围。
用户活动监控有助于检测可疑行为;例如,通常情况下,用户不应在午夜时分发送 DNS 查询请求。另一方面,端点检测与响应(EDR)解决方案为监控和检测端点上的可疑活动提供了绝佳选择,例如试图访问或修改敏感数据、加密文件或建立未经授权网络连接的进程。