读红蓝攻防:技术与策略07网络杀伤链步骤
1. 网络杀伤链
1.1. 最先进的网络攻击能够在目标网络内部入侵,在造成损害或被发现之前会潜伏很长一段时间
1.2. 当今攻击者的一个特征:他们有一种能力,可以在时机成熟之前保持攻击行为不被发现
- 1.2.1. 意味着他们的行动是在有组织、有计划地进行
1.3. 为了增强安全态势,你需要确保从保护和检测的角度覆盖网络杀伤链的所有阶段
- 1.3.1. 唯一的方法是确保你了解每个阶段的工作原理、攻击者的思维,以及在每个阶段所付出的代价
1.4. 杀伤链源于洛克希德·马丁公司,衍生自一种军事模型,该模型通过预测目标的攻击、从战略上与它们交战并摧毁它们来有效地压制目标
2. 步骤
2.1. 包括对手从攻击到系统被利用的步骤
-
2.1.1. 侦察
-
2.1.2. 武器化
-
2.1.3. 投送
-
2.1.4. 利用
-
2.1.5. 安装
-
2.1.6. 指挥控制
-
2.1.7. 针对目标行动
-
2.1.8. 混淆
2.2. 组织使用该模型来更好地了解威胁行为者,以便可以在不同阶段跟踪和防止网络入侵
2.3. 这项工作在对付恶意软件、黑客攻击和高级持久威胁(Advanced Persistent Threat,APT)方面取得了不同程度的成功
2.4. 作为一名防御战略专家,你的目标是理解攻击者的行动,当然还有情报
3. 侦察
3.1. 杀伤链的第一步,黑客收集尽可能多的目标信息,以识别所有易受攻击的弱点
3.2. 主要领域
-
3.2.1. 网络信息:关于网络类型、安全漏洞、域名和共享文件等的详细信息
-
3.2.2. 主机信息:关于连接到网络的设备的详细信息,包括它们的IP地址、MAC地址、操作系统、开放端口和正在运行的服务等
-
3.2.3. 安全基础设施:关于安全策略、采用的安全机制以及安全工具和策略中弱点的详细信息等
-
3.2.4. 用户信息:关于用户或他们的家人、宠物、社交媒体账户、出没地点和爱好等私人信息
3.3. 子阶段
-
3.3.1. 踩点
-
3.3.1.1. 踩点是杀伤链侦察阶段的关键步骤,尽可能在这一阶段多花时间
-
3.3.1.2. 需要收集关于目标系统的数据,然后可以使用这些数据来攻击目标系统
-
3.3.1.3. asmiServer配置
-
3.3.1.4. IP地址
-
3.3.1.5. VPN
-
3.3.1.6. URL
-
-
3.3.2. 枚举
-
3.3.2.1. 举用于提取详细信息,如客户端名称、机器名称、网络资产和目标系统中使用的不同管理员账户
-
3.3.2.2. 使黑客能够识别并区分组织资产中的各种弱点
-
3.3.2.3. 有助于识别信息,如组织用来保护其信息资产的安全类型
-
3.3.2.4. 重点是找到组织采用的脆弱的安全实践,这些实践以后可能会被加以利用
-
-
3.3.3. 扫描
-
3.3.3.1. 是攻击者(以及复现杀伤链的道德黑客)在侦察阶段最常用的方法
-
3.3.3.2. 用于识别目标系统中可能被利用或误用的服务
-
3.3.3.3. 扫描过程有助于揭示详细信息
-
3.3.3.4. 重要细节
3.3.3.4.1. 由系统执行的服务
3.3.3.4.2. 在系统中拥有各种管理的客户端
3.3.3.4.3. 系统中是否有匿名登录行为
3.3.3.4.4. 组织的验证要求
-
3.3.3.5. 类型
3.3.3.5.1. 端口扫描
3.3.3.5.1.1. 有助于揭示有关系统的信息
3.3.3.5.1.2. 实时端口、开放端口、实时框架以及系统中使用的不同管理
3.3.3.5.2. 网络扫描
3.3.3.5.2.1. 旨在揭示系统使用的网络的详细信息
3.3.3.5.2.2. 收集的信息包括网络交换机、路由器、网络拓扑结构和使用中的网络防火墙(如果使用了防火墙)
3.3.3.5.2.3. 访问的数据可用于绘制组织图
3.3.3.5.3. 漏洞扫描
3.3.3.5.3.1. 有助于道德黑客或攻击者确定目标系统的缺点,然后他们可以利用这些缺点来攻陷系统
3.3.3.5.3.2. 通常使用自动化软件来完成
-
3.4. 踩点、枚举和扫描完成后,威胁行为者就可以从侦察阶段进入杀伤链的下一阶段
4. 武器化
4.1. 在攻击者进行侦察并发现目标的弱点后,他们会更好地判断哪种武器最适合他们的特定目标
4.2. 武器化阶段是指制造或使用工具来攻击受害者的阶段
4.3. 根据目标和攻击者的意图,威胁行为者选择的武器可能会有很大不同
4.4. 武器化阶段可以包括任何内容,从编写专注于利用特定零日漏洞的恶意软件到利用组织内的多个漏洞
5. 投送
5.1. 投送就是把武器交付给受害者
5.2. 为了能够访问受害者的系统,攻击者通常会向其内容中注入“恶意软件”以获得访问权限,然后恶意内容会以不同的方式(例如网络钓鱼)“投送”给受害者,破坏系统,甚至利用内部人员
6. 利用
6.1. 武器化阶段创建的恶意软件发起网络攻击的阶段
6.2. 恶意软件将在受害者的系统上激活以利用目标的漏洞
6.3. 主要攻击开始的阶段
- 6.3.1. 一旦攻击达到这个阶段,就被认为是成功的
6.4. 攻击者通常可以在受害者的网络中自由移动,访问其所有系统和敏感数据
6.5. 攻击者将开始从组织中提取敏感数据
- 6.5.1. 包括商业机密、用户名、密码、个人身份数据、绝密文件和其他类型的数据
6.6. 威胁行为者还经常在利用阶段进行权限提升,以进一步扩大这一阶段的影响
-
6.6.1. 在最初的入侵过程中,黑客只能使用分配给目标的管理员权限直接访问计算机或系统
-
6.6.2. 他们通常会使用各种权限提升技术来获得管理权限,并从同一组织中提取出更多数据
-
6.6.3. 在利用阶段,黑客可能会尝试提升权限
6.7. 垂直权限提升
-
6.7.1. 从较低的权限点开始攻击,然后逐步提升权限,直至达到其目标的特权用户或进程的级别
-
6.7.2. 用户必须执行一些内核级操作来提升其访问权限
-
6.7.3. 一旦操作完成,攻击者就拥有访问权限和特权,可以运行任何未经授权的代码
-
6.7.4. 使用此方法获得的权限是拥有比管理员权限更高的超级用户权限
-
6.7.4.1. 攻击者可以执行即使是管理员也无法阻止的各种有害操作
-
6.7.4.2. 永恒之蓝允许恶意软件提升其权限,并在Windows计算机上运行任意代码
-
6.8. 水平权限提升
-
6.8.1. 水平权限提升更简单,因为它允许用户使用从初始访问中获得的相同权限
-
6.8.2. 当攻击者能够使用普通用户账户访问受保护的资源时,也会发生水平权限提升
-
6.8.3. 通过窃取会话和Cookie、跨站脚本、猜测弱密码和记录击键实现的
-
6.8.4. 在这一阶段结束时,攻击者通常已经建立了进入目标系统的远程访问入口点
6.9. 攻击者有时不仅仅是泄露数据
- 6.9.1. 可以删除或修改存储在被入侵的计算机、系统和服务器中的文件
6.10. 成功达到这一阶段的黑客实际上已经控制了局面,受害者可能还不知道数据已经被盗
- 6.10.1. 黑客可能会决定暂时保持沉默
7. 安装
7.1. 在安装过程中,攻击者在网络中自由漫游,复制他们认为有价值的所有数据,同时确保不被检测到
7.2. 当数据已经被窃取并可以公开或出售时,可以选择在前一阶段结束攻击
7.3. 攻击者安装了一个后门程序,让他们可以随时访问受害者的计算机和系统
7.4. 主要目的是争取时间进行另一次比利用阶段更有害的攻击
7.5. 攻击者的动机是超越数据和软件,攻击组织的硬件
- 7.5.1. 受害者的安全工具在检测或阻止攻击方面是全然无效的
7.6. 攻击者通常有多个通往受害者的访问点,因此即使关闭了一个访问点,其访问也不会受到影响
8. 指挥控制
8.1. 建立在安装阶段建立的后门之上
8.2. 在指挥控制阶段,攻击者利用其后门进入系统,远程操纵目标
8.3. 威胁行为者会一直等到受害者离开他们的计算机,然后采取行动进行攻击
9. 针对目标行动
9.1. 针对目标行动是网络攻击中最令人恐惧的阶段
9.2. 这是攻击者造成的破坏超出数据和软件的地方
-
9.2.1. 攻击者可能会永久禁用或改变受害者硬件的功能
-
9.2.2. 攻击者专注于破坏受损系统和计算设备控制的硬件
9.3. 针对伊朗核电站的Stuxnet攻击
-
9.3.1. 第一个记录在案的用于破坏物理资源的数字武器
-
9.3.2. Stuxnet遵循之前解释的阶段,并在该设施的网络中驻留了一年
-
9.3.3. 最初,Stuxnet被用于操纵核设施中的阀门,导致压力增加并损坏工厂中的一些设备
-
9.3.4. 然后,恶意软件被修改成攻击更大的目标—离心机
-
9.3.4.1. 因为没有连接到互联网,所以恶意软件是通过USB驱动器传播到目标计算机的
-
9.3.4.2. 一旦它感染了其中一台目标计算机,恶意软件就会自我复制并传播到其他计算机
-
9.3.4.3. 恶意软件进入下一阶段,感染了西门子公司一款名为Step7的软件,该软件用于控制逻辑控制器的编程
-
9.3.4.4. 一旦该软件被入侵,恶意软件最终将获得对程序逻辑控制器的访问权
-
9.3.4.5. 这使得攻击者能够直接操作核电站中的各种机器
9.3.4.5.1. 攻击者使高速旋转的离心机失控地旋转,并自行开裂
-
9.4. 针对目标行动包括所有旨在损害网络、系统和数据的机密性、完整性和可用性的活动
9.5. 在针对目标行动阶段可能实施的一种攻击是数据渗出
-
9.5.1. 电子邮件外发
-
9.5.1.1. 黑客用于渗出数据的便捷方法之一,只需通过电子邮件用互联网将其发送即可
-
9.5.1.2. 可以快速登录受害者机器上的一次性电子邮件账户,并将数据发送到另一个一次性账户
-
-
9.5.2. 下载
- 9.5.2.1. 当受害者的计算机被远程连接到黑客的计算机时,黑客可以将数据直接下载到本地设备上
-
9.5.3. 外部驱动器
- 9.5.3.1. 当黑客对受损系统有物理访问权限时,他们可以将数据直接渗出到外部驱动器
-
9.5.4. 云渗出
-
9.5.4.1. 如果黑客获得了用户或组织的云存储空间的访问权限,云中的数据就可以通过下载被渗出
-
9.5.4.2. 云存储空间也可以用于渗出目的
9.5.4.2.1. 大多数组织不会阻止对云存储空间的访问
9.5.4.2.2. 黑客可以用它们上传数据,然后将其下载到本地设备
-
-
9.5.5. 恶意软件
-
9.5.5.1. 黑客在受害者的计算机中植入恶意软件,专门用来发送受害者计算机中的数据
-
9.5.5.2. 包括击键日志、浏览器中存储的密码和浏览器历史记录
-
9.6. 数据可以卖给有意愿的买家,也可以泄露给公众
10. 混淆
10.1. 攻击的最后阶段,一些攻击者可能会选择忽略这一点
10.2. 主要目的是让攻击者出于各种原因掩盖他们的踪迹
-
10.2.1. 如果攻击者不想让人知道,他们就会使用各种技术来混淆、阻止或转移网络攻击后的取证调查过程
-
10.2.2. 如果一些攻击者匿名操作或想要吹嘘自己的功绩,可能会选择不加掩饰地留下他们的踪迹
10.3. 攻击者阻止他们的对手追上他们的方法之一是混淆他们的攻击来
- 10.3.1. 另一种是在事后隐藏他们的踪迹
10.4. 常用的技术
-
10.4.1. 加密
-
10.4.1.1. 为了锁定所有与网络入侵相关的证据,黑客可能会选择加密他们访问的所有系统
-
10.4.1.2. 实际上使得任何数据(如元数据)对于取证调查人员来说都是不可读的
-
10.4.1.3. 受害者更难识别黑客在破坏系统后执行的恶意操作
-
-
10.4.2. 隐写术
-
10.4.2.1. 在一些事件中,黑客是受害者组织的内部威胁
-
10.4.2.2. 在将敏感数据发送到网络之外时,他们可能会选择使用隐写术,以避免在数据渗出时被发现
-
10.4.2.3. 这是将秘密信息隐藏在诸如图像这类非秘密数据中的方式
-
10.4.2.4. 图像可以自由地发送到组织内部和外部,因为它们看起来无关紧要
-
10.4.2.5. 黑客可以通过隐写术发送大量敏感信息,而不会引发任何告警,也不会被抓到
-
-
10.4.3. 篡改日志
- 10.4.3.1. 攻击者可以选择通过修改系统访问日志以显示没有捕获可疑访问事件来擦除其在系统中的存在
-
10.4.4. 隧道
-
10.4.4.1. 黑客在这里创建一条安全隧道,通过该隧道将数据从受害者的网络发送到另一个位置
-
10.4.4.2. 隧道确保所有数据都是端到端加密的,并且无法在传输过程中读取
-
10.4.4.3. 除非组织设置了加密连接监控,否则数据将通过防火墙等安全工具
-
-
10.4.5. 洋葱路由
-
10.4.5.1. 黑客可以通过洋葱路由秘密渗出数据或相互通信
-
10.4.5.2. 洋葱路由涉及多层加密,数据从一个节点跳转到另一个节点,直到到达目的地
-
10.4.5.3. 调查人员很难通过这样的连接追踪数据踪迹,因为他们需要突破每一层加密
-
-
10.4.6. 擦除硬盘
-
10.4.6.1. 销毁证据
-
10.4.6.2. 黑客可以擦除他们入侵的系统的硬盘,使受害者无法辨别黑客的恶意活动
-
10.4.6.3. 擦除不是通过简单地删除数据来完成的
-
10.4.6.4. 由于硬盘内容可以恢复,黑客会多次覆盖数据并清除磁盘内容
-
10.4.6.5. 将使硬盘的内容难以恢复
-
10.5. 攻击的源头将被追踪到不定期执行更新的无辜小企业的服务器
10.6. 另一种来源混淆技术是使用公立学校的服务器
-
10.6.1. 黑客多次使用这种技术,他们侵入公立学校易受攻击的网络应用程序,并横向侵入学校的网络,在服务器上安装后门和Rootkit病毒
-
10.6.2. 然后这些服务器被用来对更大的目标发动攻击,因为取证调查将确定公立学校是攻击的源头
10.7. 社交俱乐部也被用来掩盖黑客攻击的来源
-
10.7.1. 社交俱乐部为会员提供免费Wi-Fi,但并不总是受到高度保护
-
10.7.2. 这为黑客提供了感染设备的理想场所,之后黑客可以在所有者不知情的情况下使用这些设备执行攻击
10.8. 黑客通常使用的另一种混淆技术是剥离元数据
- 10.8.1. 在他们的黑客活动中留下任何元数据都是不负责任的,因为这可能会让他们垮台
10.9. 黑客使用动态代码混淆来掩盖他们的踪迹也是很常见的
-
10.9.1. 包括生成不同的恶意代码来攻击目标,可以阻止基于签名的防病毒和防火墙程序的检测
-
10.9.2. 可以使用随机化函数或通过改变一些函数参数来生成代码段
-
10.9.3. 任何基于签名的安全工具都难以保护系统免受恶意代码的攻击
- 10.9.3.1. 这也使得取证调查人员很难识别出攻击者,因为大多数黑客攻击都是通过随机代码完成的
-
10.9.4. 黑客会使用动态代码生成器在原始代码中添加无意义的代码
-
10.9.4.1. 这使得黑客攻击在调查人员看来非常复杂,并延迟了他们分析恶意代码的进度
-
10.9.4.2. 几行代码可能会变成数千或数百万行无意义的代码
-
10.9.4.3. 能会阻碍取证调查人员更深入地分析代码以识别一些独特的元素,或者寻找指向原始编码器的线索
-