Kali Linux 数字取证第三版(一)

原文:annas-archive.org/md5/765e210cce0450716bde57b7647ec979

译者:飞龙

协议:CC BY-NC-SA 4.0

前言

在本书的第三版中,你会发现理论和方法论大致保持不变,但更新了关于一般技术信息、最佳实践和框架的内容,因为这些程序和文档在整个领域中都是标准的;然而,你会发现技术章节包含了使用新示例的新实验。我还增加了几章全新的内容,深入探讨了伪造物分析、自动化数据恢复、恶意软件和网络分析,展示了多个工具并提供实际操作,即使是初学者也能轻松跟随。我们甚至使用了 Wine,它使我们能够在 Kali Linux 中安装非常流行的(数字取证与事件响应)(DFIR)工具,这些工具是为 Windows 平台设计的(如 Autopsy 4)。本书对希望学习或增强 DFIR 和蓝队技能、并通过结合渗透测试技能与数字取证和事件响应技能成为紫队员的红队成员和渗透测试人员非常有帮助。

本书适用对象

本书的第三版经过精心结构设计,旨在帮助各个层次的读者理解,从初学者和数字取证新手到事件响应专业人员,本书的前六章帮助你了解所使用的技术,并指导你设置 Kali Linux,之后将深入探讨取证分析、数据恢复、恶意软件分析、自动化 DFIR 分析和网络取证调查。希望学习蓝队技能以成为紫队员的红队成员和渗透测试人员也会发现本书内容非常有用。

本书涵盖的内容

第一章红队、蓝队与紫队基础,向你介绍渗透测试人员和取证调查人员所属的不同类型的网络安全团队及所需的技能。

第二章数字取证简介,为你介绍数字取证和取证方法学的世界,并且介绍各种取证操作系统。

第三章安装 Kali Linux,涵盖了可以用来安装 Kali Linux 的各种方法,可以将其作为虚拟机或独立操作系统安装,也可以从闪存驱动器或 SD 卡运行。

第四章附加 Kali 安装和安装后任务,在 Kali 安装的基础上,指导你执行附加安装和安装后任务,如启用 root 用户和更新 Kali Linux。

第五章在 Kali Linux 中安装 Wine,展示了 Linux 系统的多功能性,你将在本章中学习如何在 Kali Linux 系统中使用 Wine 安装和使用为 Windows 平台设计的取证工具。

第六章理解文件系统和存储介质,深入探讨操作系统和各种文件存储格式的领域,包括终端用户甚至操作系统无法看到的秘密隐藏位置。我们还将检查与数据相关的数据,称为元数据,并了解其易变性。

第七章事件响应、数据获取和 DFIR 框架,探讨当事件被报告或检测到时会发生什么。谁是首位响应者,如何保持证据的完整性?在本章中,我们将研究数据获取和证据收集的最佳实践、程序和框架。

第八章证据获取工具,建立在数据获取和最佳实践的理论基础上,并教授如何使用行业认可的工具,如 DC3DD、DD、Guymager、FTK Imager 和 RAM Capturer,进行数据和图像的获取,同时保持证据的完整性。

第九章文件恢复和数据雕刻工具,通过使用 Magic Rescue、Scalpel、Bulk_Extractorscrounge_ntfsrecoverjpeg 等各种工具来刻画和恢复从取证获取的镜像和媒体中的数据和工件,介绍了数字取证的调查面。

第十章使用 Volatility 3 进行内存取证和分析,带我们进入内存工件的分析,并展示了如何保存易失性证据(如 RAM 内容和交换文件)的重要性。

第十一章工件、恶意软件和勒索软件分析,带我们深入了解如何使用 p0f、swap_digger 和 mimipenguin 进行工件分析,随后演示如何使用 pdf-parser、hybrid-analysis.com 和 Volatility 执行恶意软件和勒索软件分析。

第十二章尸检取证浏览器,展示了在 Kali Linux 中使用单一工具进行自动化文件恢复和分析。

第十三章使用 Autopsy 4 GUI 执行完整的 DFIR 分析,更深入地探讨了使用最强大且免费的取证工具之一进行自动化文件雕刻、数据恢复和分析,这一工具将取证能力和调查推向专业级别,涵盖数字取证调查的各个方面,从哈希计算到报告。

第十四章网络发现工具,展示了网络扫描和侦察工具,如 netdiscover、nmap 和 Shodan,虽然这些工具并非专门设计用于取证工具,但在执行事件响应时,它们提供的额外信息非常有用。

第十五章使用 Xplico 进行数据包捕获分析,深入介绍了如何利用一个工具进行自动化数据包分析,调查网络和互联网流量。

第十六章网络取证分析工具,本书的最后一章,演示了如何使用各种工具和网站(包括 Wireshark、NetworkMiner、packettotal.comapackets.com)捕获和分析数据包。

充分利用本书

尽管我们已尽最大努力解释本书中的所有概念和技术,但如果你有下载和安装软件的经验,并且至少熟悉基本的计算机和网络概念,如 RAM、CPU、虚拟化和网络端口,那会更加有帮助。

本书涵盖的软件/硬件操作系统要求
Kali 2022.x 及更高版本最低配置:配备 8 GB RAM、250 GB 可用硬盘空间的 PC 或笔记本电脑,和 Ryzen 7 或 i5 CPU;推荐配置:16 GB RAM、250 GB 可用硬盘空间,Ryzen 7 或 i7 CPU

如果你使用的是本书的数字版,我们建议你自己输入代码,或者从本书的 GitHub 仓库访问代码(下一个章节中提供了链接)。这样做有助于避免与复制粘贴代码相关的潜在错误。

下载示例代码文件

你可以从 GitHub 下载本书的示例代码文件,地址为github.com/PacktPublishing/Digital-Forensics-with-Kali-Linux-Third-Edition。如果代码有更新,它将会在 GitHub 仓库中更新。

我们还提供了其他来自丰富图书和视频目录的代码包,访问地址:github.com/PacktPublishing/。快来看看吧!

下载彩色图片

我们还提供了一个 PDF 文件,包含了本书中使用的截图和图表的彩色版本。你可以在这里下载:packt.link/vLuYi

使用的约定

本书中使用了许多文本约定。

文本中的代码:表示文本中的代码词汇、数据库表名、文件夹名称、文件名、文件扩展名、路径名、虚拟网址、用户输入和 Twitter 用户名。示例如下:“开启你的 Pi,Kali 将会启动。再次提醒,默认的用户名和密码都是kali(小写)。"

任何命令行输入或输出都会如下所示:

sudo apt update

粗体:表示一个新术语、一个重要的单词,或屏幕上显示的单词。例如,菜单或对话框中的词汇显示为 粗体。例如:“您可以通过点击主 Kali 菜单中的 应用程序 | 11-取证 来查看一些取证工具。”

提示或重要说明

如下所示。

联系我们

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

一般反馈:如果您对本书的任何方面有疑问,请通过电子邮件联系我们 customercare@packtpub.com,并在邮件主题中注明书名。

勘误:尽管我们已尽全力确保内容的准确性,但错误仍然可能发生。如果您在本书中发现错误,我们将非常感激您向我们报告。请访问 www.packtpub.com/support/errata 并填写表格。

盗版:如果您在互联网上发现任何非法复制的我们的作品,我们将非常感激您提供该作品的所在网址或网站名称。请通过 copyright@packt.com 联系我们,并附上材料的链接。

如果您有意成为作者:如果您在某个领域拥有专业知识,并且有意撰写或参与书籍创作,请访问 authors.packtpub.com

分享您的想法

在阅读完《数字取证与 Kali Linux》后,我们希望听听您的想法!请 点击这里直接进入亚马逊评论页面,分享您的反馈。

您的评论对我们和技术社区至关重要,帮助我们确保提供优质的内容。

下载本书的免费 PDF 版本

感谢您购买本书!

你喜欢随时随地阅读,但又无法携带纸质书籍吗?你的电子书购买与您选择的设备不兼容吗?

不用担心,现在每本 Packt 书籍都会附赠一份免费的无 DRM PDF 版本。

随时随地,任何设备上阅读。直接从您最喜欢的技术书籍中搜索、复制并粘贴代码到您的应用程序中。

福利还不止这些,您还可以独享折扣、新闻通讯以及每日送达的精彩免费内容。

按照这些简单步骤,您就可以获得这些福利:

  1. 扫描二维码或访问下面的链接

[外链图片转存中…(img-t2EZ9sAB-1750320838803)]

packt.link/free-ebook/9781837635153

  1. 提交您的购买证明

  2. 就是这样!我们会直接将您的免费 PDF 和其他福利发送到您的邮箱。

第一部分:蓝队与紫队基础知识

当我们开始进入数字取证与事件响应DFIR)的学习旅程时,了解蓝队和紫队的概念至关重要,这些与红队相比较,并且还需要牢牢掌握创建蓝队和紫队实验室环境所需的基础知识。本节将解释相关术语,并探讨成为蓝队和紫队成员所需的技能,还将展示设置 DFIR 实验室环境的各种方法。

本部分包含以下章节:

  • 第一章红队、蓝队与紫队基础知识

  • 第二章数字取证简介

  • 第三章安装 Kali Linux

  • 第四章其他 Kali 安装与后期安装任务

  • 第五章在 Kali Linux 中安装 Wine

第一章:红队、蓝队和紫队的基本概念

欢迎阅读《Kali Linux 数字取证》的第三版,对于曾经购买过前几版的读者,欢迎再次回归。我还想真诚地感谢你们再次选择这本令人兴奋的书籍。与第二版一样,第三版已经更新了新的工具、易于跟随的实验室,并添加了几章新内容。我们即将开始一段激动人心的旅程,我很高兴地宣布一些重要的新增内容,包括安装 Wine,这将使我们能够在 Kali Linux 中运行 Windows 工具,并将在第五章在 Kali Linux 中安装 Wine》中全面介绍。第十章使用 Volatility 3 进行内存取证与分析》也是全新内容,展示了如何在较新的操作系统上执行 RAM 工件分析。另一个新章节讲述了如何使用 Autopsy v4 图形用户界面 (GUI) 执行全面的 数字取证与事件响应 (DFIR) 分析与调查,内容可以在第十三章使用 Autopsy 4 GUI 执行全面的 DFIR 分析》中找到。

除了这些重要新增内容,我们还将探讨一些新话题,比如使用 Raspberry Pi 4 创建便携式 Kali Linux 盒子,了解诸如 DD-rescue、scrounge-ntfs、Magic Rescue、PDF-Parser、Timeliner、netdiscover 等工具,并介绍 Shodan.ioapackets.com 用于 物联网 (IoT) 发现和数据包分析。

对于本书,我们采取一种非常结构化的数字取证方法,正如我们在法医科学中所做的那样。首先,我们将漫步进入数字取证的世界,了解其历史,以及一些用于取证的工具和操作系统,并立即向你介绍证据保存的相关概念。

话虽如此,我们有很多内容需要覆盖,将从学习 Kali 和各类网络安全团队开始,了解红队、蓝队和紫队之间的区别。对于我们回归的高级读者,如果你们已经具备 Kali Linux 和相关团队的基础知识,可以跳过前两章,直接进入第三章安装 Kali Linux》、第四章附加的 Kali 安装和安装后任务》以及第五章在 Kali Linux 中安装 Wine》,这些章节详细讲解了 Kali 和 Wine 的安装过程。

本章将涵盖以下关键话题:

  • 什么是 Kali Linux?

  • 理解红队

  • 理解蓝队

  • 理解紫队

在我们开始讨论这些话题之前,以下是我如何进入 Kali Linux 世界的简短介绍,因为我觉得你们中的一些人可能会与我的故事产生共鸣!

我是如何开始接触 Kali Linux 的

数字取证已经吸引了我超过 15 年的关注。自从我得到了我的第一台 PC(感谢爸爸妈妈)以来,我一直在想,当我从那台巨大容量为 2 GB 的硬盘(Gigabyte)中删除文件,或将文件移动到(并且经常隐藏在)一个不太显眼的 3.5 英寸软盘中时,究竟发生了什么。那张软盘的最大容量为 1.44 MB(Megabytes)。

我很快发现,硬盘和软盘并不具备我曾经自信相信的数字不朽性。可悲的是,许多文件、文档和由我亲手在微软画图中创作的无价艺术作品,已经永远消失在数字的彼岸,再也无法找回。唉,世界永远无法知道这些。

直到几年后,当我在我的超快速 42 Kbps 拨号上网连接(得益于我那台昂贵的 USRobotics 拨号调制解调器)上浏览神奇的世界宽网WWW)时,我才偶然看到了一篇关于文件恢复及相关工具的文章,每次我尝试连接到互联网时,它都会发出科技神灵的赞歌。这一过程涉及一种隐秘的忍者般技巧,即使是黑色行动小组也会为之羡慕,因为这一切都是在不让父母察觉的情况下完成的,这样他们就不会因为我占用了电话线而无法打电话(亲爱的妈妈、爸爸和年长的姐姐,抱歉了)。

前一篇关于数据恢复的文章远没有今天许多伟大的同行评审论文、期刊和书籍那样详细且内容丰富,这些资料如今在数字取证领域广泛可得。作为该领域的一个完全新手(也称为“菜鸟”),我确实学到了许多关于文件系统、数据和元数据、存储度量及各种存储介质工作原理的基础知识。正是在这个时候,尽管我读过关于 Linux 操作系统及其各种发行版(或称为“发行版”)的资料,我开始理解为什么 Linux 发行版在数据恢复和取证中如此受欢迎。

我勇敢地下载了 Auditor 和 Slax Linux 发行版,再次使用拨号上网连接。仅仅下载这些操作系统就已经是一项壮举,这让我感到非常有成就感,因为当时我完全不知道如何安装它们,更不用说如何实际使用它们了。在那个时候,简单的安装和图形用户界面(GUI)仍在不断开发中,尽管它们对用户友好(或者像我那样对我来说并不友好),这大多是由于我的经验不足、硬件不合适以及缺乏资源,如在线论坛、博客和 YouTube,这些我当时还不懂得利用。

随着时间的推移,我研究了许多在 Windows、Macintosh 和各种 Linux 发行版平台上找到的工具。我发现许多数字取证工具可以安装在不同的 Linux 发行版或版本中,而且这些工具大多数都得到了良好的维护,持续开发,并且在该领域得到了同行的广泛接受。Kali Linux 是一种 Linux 发行版或版本,但在深入了解之前,让我先解释一下 Linux 发行版或版本的概念。以你最喜欢的饮料为例:这种饮料有很多不同的口味,有些不加甜味剂或糖,颜色各异,甚至有不同的尺寸。无论如何变化,基本的原料始终是构成饮料的核心成分。类似地,我们也有 Linux,以及不同类型和版本的 Linux。一些更受欢迎的 Linux 发行版和版本包括 RedHat、CentOS、Ubuntu、Mint、KNOPPIX,当然,还有 Kali Linux。更多关于 Kali Linux 的内容将在 第三章安装 Kali Linux 中讨论。

话虽如此,让我们进入下一个部分,开始探索迷人的 Kali Linux 世界吧!

什么是 Kali Linux?

Kali Linux 是一个基于 Debian 的操作系统,被全球的网络安全专家、学生和 IT 爱好者广泛使用。Debian 是一种完全免费的 Linux 版本,稳定、持续更新,支持多种硬件,并且也被像 Ubuntu 和 Zorin 这样的流行操作系统使用。Kali Linux 在网络安全领域并不陌生,甚至可以追溯到 2000 年代中期,但当时它被称为 BackTrack,这个名字是由两个平台—Auditor Security 和 Whax 合并而成的。这一合并发生在 2006 年,随后发布的 BackTrack 版本一直持续到 2011 年,当时基于 Ubuntu 10.04 发布了 BackTrack 5 版本。

2013 年,Offensive Security 发布了首个 Kali v1 (Moto) 版本,该版本基于 Debian 7,随后在 2015 年发布了基于 Debian 8 的 Kali v2。之后,Kali Linux Rolling 版本于 2016 年发布,发行版的名称反映了发布的年份以及每个季度的主要更新。例如,在写这篇文章时,我使用的是 Kali 2022.32022.4,这两个版本都基于 Debian 的最新版本。你可以在 www.debian.org/intro/about 找到更多关于开放源代码和免费的 Debian 项目的信息。

作为一名网络安全专家、首席信息安全官CISO)、渗透测试员pentester)以及 DFIR 领域的专家,自从 2006 年开始为认证伦理黑客考试做准备以来,我已经使用 BackTrack(现在的 Kali Linux)超过十年了。自那时以来,我使用过各种操作系统进行渗透测试和数字取证,但我最喜欢的工具,特别是对于渗透测试,仍然是 Kali Linux。尽管 Kali Linux 近年来更注重渗透测试,而非 DFIR,但它让我可以在同一个平台上同时使用渗透测试和 DFIR 工具,而不必在它们之间切换。

对于那些可能已经购买了本书第一版和第二版的读者,我想说,你们一定会觉得很有收获,因为我不仅更新了许多实验,并在这一版中引入了新工具,还包括了一个关于如何在 Kali Linux 中安装 Wine 的章节。Windows 模拟器Wine)可以让你在 Kali Linux 中运行 Windows 应用程序。虽然需要一些配置,但我已经编写了一份逐步指南,讲解如何在第五章《在 Kali Linux 中安装 Wine》一章中安装 Wine。

你们中的一些人可能会好奇,为什么我们要安装 Wine,而不是直接使用 Windows 机器。其实有几个合理的原因。首先,成本是一个重要因素。如果你是学生、处于待业状态、换职业,或者生活在一个汇率和外汇限制购买许可的地区,Windows 许可证的费用就显得不那么便宜了。写这篇文章时,Windows 10 专业版的许可证费用为$199.00,微软官网上列出的价格是www.microsoft.com/en-us/d/windows-10-pro/df77x4d43rkt?activetab=pivot:overviewtab

尽管本书中我们不会使用商业工具,但有一些非常棒的免费 DFIR 工具可以在 Windows 上使用,例如Belkasoft RAM CapturerAutopsy 4 GUINetworkMiner,我们现在可以在开源的 Kali Linux 环境中安装它们,而无需依赖许可的 Windows 机器。这些工具将在第八章《证据采集工具》、第十三章《使用 Autopsy 4 GUI 进行完整的 DFIR 分析》和第十六章《网络取证分析工具》中详细介绍。

另一个考虑因素是,Wine 再次帮我们省去了在物理机器之间切换的麻烦,并且在使用虚拟机时,还能节省一些资源,比如随机存取内存RAM)、中央处理单元CPU)、硬盘驱动器HDD)空间以及其他资源,接下来我们会在下一章中更详细地讨论这一点。

最后,我们可以使用工具在 Kali Linux 中安装许多其他 Windows 应用程序,无论是生产力工具,还是用于渗透测试的工具,从而使我们的 Kali Linux 安装成为一个完美的紫队操作系统环境,我们将在本章稍后讨论。

为什么 Kali Linux 如此受欢迎?

除了作为最早的 InfoSec 发行版之一,Kali Linux 还有非常大的支持基础,你可以在 YouTube、TikTok 和互联网上找到数千个关于安装、使用内置工具以及安装额外工具的教程,这使得它成为一个更具用户友好的平台。

Kali Linux 还附带了超过 600 个工具,所有这些工具都被很好地分类在 Kali 的应用程序菜单中。Kali 中包含的许多工具可以执行各种网络安全任务,涵盖从开源情报OSINT)、扫描、漏洞评估、利用和渗透测试、办公和生产力工具,当然还有 DFIR。工具的完整列表可以在 www.kali.org/tools/all-tools/ 查找。

以下截图展示了 Kali Linux 菜单中类别的预览。

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_1.01_B19441.jpg

图 1.1 – Kali Linux 菜单中的类别列表

Kali Linux 用户还可以选择手动下载和安装(元)包,而不是下载一个非常大的安装文件。Kali Linux(元)包包含可能特定于某些评估或任务的工具和依赖项,如信息收集、漏洞评估、无线黑客和取证。或者,用户可以下载kali-linux-everything(元)包。我们将在第四章《附加 Kali 安装和后安装任务》中详细介绍(元)包的安装,但如果你想了解更多关于(元)包的内容,可以在 www.kali.org/docs/general-use/metapackages/ 查找完整列表。

Kali Linux 之所以如此受欢迎的另一个原因是,它提供了多个版本,适用于各种物理、虚拟、移动和便携设备。Kali 可以作为独立的操作系统镜像提供,也可以通过其为虚拟平台(如 VMware 和 VirtualBox)预构建的镜像进行虚拟安装,相关内容将在第三章Kali Linux 安装》和第四章Kali 安装及后安装任务》中详细讨论。此外,还有适用于 ARM 设备、云实例的 Kali 版本,甚至可以在 Windows 子系统 for Linux (WSL) 中运行 Kali Linux。个人来说,我还使用了一款名为 Kali NetHunter 的移动版本 Kali Linux,它运行在一部旧的 OnePlus 手机和 Raspberry Pi 4 上,连接上移动电源后,便成为了最终的便携式安全评估工具包。至于手机安装,NetHunter(甚至在某些情况下 Kali Linux 本身)可以安装在三星、诺基亚、一加、索尼、小米、谷歌或中兴等多种手机上。我们将在第四章Kali 安装及后安装任务》中讨论如何在 VirtualBox 和 Raspberry Pi 4 上安装 Kali Linux。

Kali Linux 提供所有这些功能免费且可以通过少数几次点击和命令轻松升级,并且可以添加新工具,这使得它成为完美的紫队解决方案。让我们来看一下红队、蓝队和紫队,以及每个团队所需的技能集。

理解红队

可能是 Kali Linux 用户中最为熟知的团队,红队是负责处理与 OSINT、扫描、漏洞评估和渗透测试相关的安全进攻方面的个体的集合,评估的对象包括但不限于个人、公司、终端用户(台式机、笔记本、移动设备)以及网络和关键基础设施,如服务器、路由器、交换机、防火墙、NAS、数据库、Web 应用和门户。还有一些系统,如物联网 (IoT)、操作技术 (OT) 设备和工业控制系统 (ICS) 也需要由技术精湛的红队成员进行评估。

红队成员通常被认为是高度熟练的道德黑客和渗透测试员,除了具备进行先前提到的评估所需的技能外,还可能拥有允许他们执行这些任务的技术认证。尽管认证未必直接反映个人的能力,但已知它们能帮助获得工作机会。

一些红队认证包括(但不限于):

  • 进攻性安全认证专家 (OSCP):由 Kali Linux 的开发者创建

  • 认证道德黑客 (CEH):由EC-Council颁发

  • 实用网络渗透测试员PNPT):由 TCM Security 开发

  • Pentest+:由 CompTIA 提供

  • SANS SEC:来自 SANS 学院的课程

  • e-Learn 初级渗透测试员eJPT):由e-Learn Security为有兴趣成为红队员的初学者开发

最终,所有这些知识使得红队员能够进行进攻性攻击(在获得明确许可的情况下)对公司进行模拟,模拟内部和外部威胁行为者,并本质上以恶意行为者可能利用和攻破个人、公司或重要资产的方式对系统和安全机制进行入侵。

Kali Linux 通常包含执行几乎所有类型的进攻性安全和红队评估所需的工具。从个人角度来看,Kali Linux 是我进行渗透测试时首选的操作系统,因为大多数用于指纹识别、侦察、开源情报(OSINT)、漏洞评估、利用和报告的工具都已经预装并随平台提供。我已经使用 Kali 进行红队演习超过 12 年了,而且我不认为这种情况会很快改变,因为他们多年来一直在维护操作系统并支持工具。

现在我们来谈谈蓝队工作。

理解蓝队

蓝队员通常被认为属于防守方,而不是进攻方,正如之前所写的红队员。虽然红队员专注于威胁模拟和可能的利用,但蓝队员是保护者。

红队和蓝队在许多方面是相似的,因为每个队伍的主要目标都是保护资源,并理解与数据泄露和漏洞相关的潜在影响和风险。红队可能专注于攻击技术,如网络攻击链和渗透测试,而蓝队则专注于确保不仅有防御机制来防止攻击,还要确保实施了正式的政策、程序,甚至框架,以确保有效的数字取证与事件响应(DFIR)。

蓝队员的工作内容远比红队员更多,因为蓝队员必须分析威胁,理解其风险和影响,实施安全和保护措施,理解取证和事件响应,并确保有效的监控、响应服务和措施的实施。如果蓝队员拥有红队员的知识或经验,那将非常有帮助,因为这可以更深入地理解攻击面和威胁环境。

蓝队员还必须具备广泛的技术和分析知识。虽然没有 IT 背景的人也有可能进入蓝队和 DFIR 领域,但这需要具备网络和系统管理员、以及安全分析师和威胁猎人的相关知识。例如,了解系统必须进行及时的更新和补丁修复是一种最佳实践。蓝队员不仅会理解为何需要打补丁,还会意识到在加固设备以减少攻击面时需要做更多的工作,同时还要考虑零日漏洞和人类弱点的可能性,这些可能轻易地让攻击者突破所有已实施的技术防护措施。

同时,蓝队员也常常看到招聘广告要求熟练使用安全信息与事件管理SIEM)工具,这些工具提供实时分析、监控和警报,极大地帮助 DFIR 管理,并使得在保护数据、系统和资产时,能够更好地理解维持高安全性态势所需的保护级别。

蓝队成员必须认识到,他们的责任不仅仅局限于内部和外部资源,还会在考虑要保护的资产的威胁环境时得到扩展。威胁环境可以是设备、人员、数据,以及任何在攻击者策划攻击时可能有用的信息。这就是深入理解 OSINT 的重要性。尽管前面提到过这是一项红队技能,但对于蓝队员来说,这同样重要,因为它能够帮助他们在互联网上、社交媒体上以及暗网中搜索任何可能对自己构成威胁或在某种程度上帮助威胁行为者的信息。

一个好的例子是,蓝队员(在采取所有必要措施保护自己后)在暗网上搜索泄露的数据库,查找他们所在公司的泄露电子邮件或虚拟私人网络VPN)凭证。蓝队员还可以使用像 Shodan.io 这样的网站,稍后我们将在本书中讨论它,用来从外部视角查找可访问的设备,如外部访问防火墙、服务器和闭路电视摄像头。以上所有场景都能帮助蓝队员制定所谓的威胁概况,尽管这些概况并不直接关注内部和外部资产,但仍会收集潜在威胁,甚至是外部发现的妥协指标IoC)。

学习 OSINT 的一个很好的免费资源是 TCM Academy 在 YouTube 上提供的免费 4 小时课程,可以通过此链接访问:www.youtube.com/watch?v=qwA6MmbeGNo

尽管许多前面提到的技能是通过研究和无数小时的挖掘、观看 YouTube 视频和参加专业课程学习的,我列出了几项认证,它们可能有助于你在蓝队和 DFIR 领域进一步深造和发展职业生涯。

一些蓝队认证包括(但不限于):

  • 计算机黑客取证调查员CHFI)来自 EC-Council

  • 认证云安全工程师CCSE)来自 EC-Council

  • 认证取证计算机检查员CFEC)来自 IACIS

  • GIAC 认证取证检查员GFCE)来自 SANS

本书将详细探讨作为 DFIR 调查员和分析员所需的工具。尽管我们不会深入讨论商业工具的使用,但我会提到一些你可能在从事 DFIR 或作为蓝队员的职业生涯中需要了解的工具,尽管本书中涵盖的开源工具已经足够让你开始并开展完整的 DFIR 调查,只要遵循最佳实践和程序。

同样,DFIR 调查员和分析员必须了解遵循最佳实践和程序在证据采集、获取、分析和文档化中的重要性,因为证据和案件的完整性可能很容易被破坏。证据分析和报告结果应该是可重复的,这意味着其他 DFIR 调查员和分析员应该能够重复你所做的测试,并得到与您相同的结果。

在这方面,蓝队人员应该有一个详细且文档化的行动计划,并具备专用工具的知识。对于蓝队,有许多免费且文档化良好的最佳实践和框架,我们将在下一章中讨论其中的一些。

让我们简要回顾一下在 DFIR 调查中可能需要使用的工具,本书将涵盖所有这些工具。以下列表提供了一个具体任务的一行描述以及为完成该任务而使用的工具。可以将其视为蓝队开源工具的备忘单。你也可以复制这页,作为你进行取证和事件响应工作时的参考:

  • DFIR 的取证操作系统 – 我们定制的 Kali Linux 版本、CSI Linux 和 CAINE

  • 创建一个可启动的 Kali Linux USB – Rufus 和 Etcher

  • 为 Raspberry Pi 创建一个便携版本的 Kali Linux – Imager(Pi Imager)

  • 在 Kali 中安装 Windows 工具 – Wine

  • 内存采集 – FTK Imager 和 Belkasoft RAM Capturer

  • 证据和驱动器采集 – DD、DC3DD、Guymager 和 FTK Imager

  • 文件恢复和数据雕刻 – Foremost、Magic Rescue、DD-Rescue、Scalpel 和 Bulk_extractor

  • PDF 取证 – pdfparser

  • NTFS 驱动器恢复 – scrounge-ntfs

  • 内存/RAM 分析 – Volatility 3

  • 操作系统识别 – p0f

  • 实时 Linux 取证 – Linux Explorer

  • 工件发现工具 – swap_digger, mimipenguin 和 pdgmail

  • 基于浏览器的取证分析工具 – Autopsy Forensic Browser

  • 完整的取证分析工具 – Autopsy 4

  • 网络发现工具 – netdiscover 和 nmap

  • IoT 搜索引擎 – Shodan.io

  • 基于浏览器的网络数据包捕获分析 – Xplico

  • 自动化的网络数据包捕获分析 – Network Miner 和 PcapXray

  • 在线 Pcap 分析工具 – packettotal.com, apackets.com

接下来,让我们来看看紫队合作。

了解紫队合作

现在,让我们进入紫队合作的“禅宗时刻”。紫队合作这个术语指的是红蓝队技能的结合。紫色也可以通过混合红色和蓝色获得,因此得名紫队合作。回顾在红蓝队部分提到的所有技能和认证,可能会觉得这是一个不可能完成的任务;然而,我可以向你保证,有许多紫队成员曾经是新手,最终成了专业人士,我也是其中之一。

当我在 2000 年代初期开始我的网络安全之旅时,我对道德黑客和渗透测试(红队)更感兴趣,那时我常常整夜坐在桌前阅读、研究,并使用当时极为有限的工具。直到大约 2008 年,我才决定涉足数字取证与事件响应(DFIR),并对取证领域产生了浓厚兴趣,以至于我开始教授 CHFI 课程并与 CEH 课程并行授课。

每次我想要专注于某一领域时,总会遇到一个新工具,促使我关注另一个领域。幸运的是,这一切最终对我有利,因为我很快意识到红蓝队之间有很多重叠的部分,而且也没有哪个时刻我可以说自己已经学够了。我的意思是,网络安全是一个动态变化的领域,拥有多种路径,你永远无法学得足够。总有新的漏洞、新的调查工具或新的事件响应程序等待你去学习,而你需要决定是专注于某个领域,还是像我一样继续学习和成长,并在需要时应用你的知识。

快进到今天,我是计算机取证与安全研究所的所有者,在这里我不仅领导一个紫队,还担任首席渗透测试员以及首席取证和事件响应调查员。同样,一旦你全身心投入,是完全有可能在这两个领域都成为专家的。

在这方面,我可以自信地说,Kali Linux 是开始的完美平台,因为它提供了最适合紫队合作的工具。让我们快速浏览一些可供使用的渗透工具(红队工具),这些工具都在任何版本的 Kali 中预安装。

这只是 Kali 中Exploitation菜单中的工具的一部分;然而,我在红队评估中通常会专注使用metasploit 框架msf payload creator社会工程工具包(root 权限)

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_1.02_B19441.jpg

图 1.2 – Exploitation 菜单中的工具

现在让我们看看 Kali Linux 中的取证菜单:

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_1.03_B19441.jpg

图 1.3 – 反取证菜单中的工具

再次强调,这只是一些取证工具,其他工具也可以通过查看所有应用程序菜单找到,我们将在第三章安装 Kali Linux中探索。Kali Linux 是为紫队提供多种工具的少数用户友好平台之一,我期待在接下来的章节中向您展示如何有效使用其中的许多工具。

第三章安装 Kali Linux,我将逐步向您展示如何在安全的虚拟测试环境中设置 Kali Linux,我们可以在其中使用工具并下载样本文件进行分析。虽然此虚拟机将连接到互联网,但我们将在沙盒环境中使用它,以确保不影响您的生产环境。在第五章在 Kali Linux 中安装 Wine,我还将带您完成在 Kali Linux 中安装 Wine 的过程,以帮助构建您的终极蓝队和紫队工具库,现在结合了最好的开源 Windows 和 Linux 工具。

现在我们已经了解了红队、蓝队和紫队的区别,我们将继续理解数字取证,并查看其他取证平台和一些商业工具,尤其重要的是,在第二章数字取证简介中,我们将深入了解取证框架。

总结

在本章中,我们介绍了 Kali Linux 的基于 Debian 的操作系统及其在网络安全领域的实用性。我们还了解了网络安全中的不同团队,如红队(由关注攻击性安全和道德黑客的个人组成,如渗透测试员)和蓝队(由关注网络和数据防御的个人组成,如取证调查员)。我们还了解到,具备红队和蓝队技能和经验的个人被视为高技能紫队成员,这表明该个人精通广泛的漏洞评估、渗透测试、以及事件响应和数字取证工具,其中许多工具可以在 Kali Linux 中找到。

接下来,我们将更深入地探讨数字取证,了解其他取证操作系统,并学习取证框架以及常用的开源和商业工具。下一章见!

第二章:数字取证简介

本章介绍了数字取证科学的各个方面。它将特别为那些可能是数字取证与事件响应DFIR)新手的读者介绍基础知识,随着本书的进展,我们将在这些基础上进一步深入。

本章将涵盖的主题有:

  • 什么是数字取证?

  • 蓝队和紫队的需求

  • 数字取证的方法论与框架

  • 数字取证操作系统OSs)的比较

  • 数字调查中使用多种取证工具的需求

  • 商用取证工具与开源取证工具的比较

什么是数字取证?

我在本章中首先要介绍的内容是理解数字取证及其正确的实践和程序。你可能已经接触过几本书、博客,甚至视频,展示了数字取证的各个方面以及使用的不同工具。理解取证本身是一门科学,涉及非常明确的最佳实践和方法,以揭示某些事物是否存在,至关重要。

数字取证涉及从各种存储介质中保存、获取、记录、分析和解释证据。它不仅限于笔记本电脑、台式机、平板电脑和移动设备,还包括跨公共或私人网络传输的数据。

在大多数情况下,数字取证涉及使用各种方法和工具来发现和/或恢复数据。数字取证调查包括但不限于以下内容:

  • 数据恢复:调查和恢复可能已被删除、更改文件扩展名,甚至隐藏的数据。

  • 身份盗窃:许多欺诈活动,从盗用信用卡到伪造社交媒体账户,通常涉及某种形式的身份盗窃。

  • 恶意软件与勒索软件调查:至今,通过特洛伊木马和蠕虫传播的勒索软件,已成为对公司、军事组织和个人的最大威胁之一。恶意软件也可以通过移动设备和智能设备传播。

  • 网络和互联网调查:调查拒绝服务攻击DoS)和分布式拒绝服务攻击DDoS),并追踪被访问的设备,包括打印机和文件。

  • 电子邮件调查:可以调查源头和 IP(互联网协议)来源、附件内容以及地理定位信息。

  • 企业间谍活动:许多公司正在逐步远离打印副本,转向云端和传统磁盘存储。因此,数字足迹总是会留下;如果敏感信息被访问或传输,会发生什么?

  • 儿童色情调查:令人痛心的是,现实情况是,儿童在互联网上以及深网中广泛遭受剥削。通过技术手段和高技能的法医分析师,调查人员可以分析互联网流量、浏览历史、支付交易、电子邮件记录和图片等,开展调查工作,摧毁这些剥削网络。

接下来,我们将探讨蓝队和紫队的必要性以及每个团队所需的技能。

蓝队和紫队的必要性

如在第一章《红队、蓝队和紫队基础》一文中所讨论,蓝队更关注数字取证与事件响应(DFIR),而紫队成员则是那些能够理解并操作网络安全攻防两端的人员。

最近,尤其是在 Covid-19 大流行封锁期间,您可能已经注意到或看到网络攻击有了显著增加。这些攻击的一个主要因素是员工在各个层级上缺乏安全意识培训,导致他们成为钓鱼攻击的受害者。在封锁期间,发生了大量钓鱼攻击,这些攻击通过社交工程手段诱使用户打开恶意邮件或泄露个人或公司信息。攻击者使用与 Covid-19 疫情爆发、健康更新相关的邮件主题,甚至通过受害者亲友的电子邮件账户请求帮助,伪装成这些受害者被困在封锁中的国家,需要财务援助才能回家。

在过去一两年里,来自臭名昭著的勒索软件和高级持续性威胁APT)团体的勒索软件攻击显著增加,且勒索软件在暗网中已经可以轻易购买。ALPHV、Darkside、Revil 和 BlackCat 只是一些最臭名昭著的勒索软件和 APT 团体,它们的名字通常会让任何网络安全专业人士感到恐惧。这些团体以破坏个人和公司为主,随后要求支付数千到数百万美元不等的赎金。除了数据被高度加密并丢失外,这些团体现在还会通过 DDoS 攻击进一步攻击受害者,并将被窃取的受害者数据发布在暗网博客上。我们将在本书后续内容中深入探讨勒索软件问题。

应对事件是一回事,因为我们(希望)可能有计划或正式程序可遵循,但如果我们没有适当的机制来检测到事件,那么情况可能比预想的更糟糕。这就是蓝队和紫队成员需求的地方。黑客、恶意软件开发者、APT(高级持续性威胁)等并不会休息,当然也不关心公司和经济的财务状况。勒索软件在过去某些案例中已经证明是非常有利可图的,我们必须考虑到,在任何时间,恶意软件开发者都在研究新的攻破方法。

每个组织必须拥有蓝队,若没有紫队,至少应该外包团队的技术和职能,若决定不设立内部团队。有许多托管安全服务MSS)公司可以执行所有必要的监控和告警系统。然而,拥有一到两名训练有素的蓝队和/或紫队成员的公司,始终会在准备和响应方面占有优势,因为内部团队不仅了解公司技术细节,还能理解组织文化和员工以及人力资源的意识水平(有时还缺乏意识),而这往往是网络安全中最薄弱的环节。

让蓝队成员定期进行网络安全意识培训与修补关键基础设施设备(如防火墙、路由器、交换机和服务器)同样重要。如今,网络安全意识必须与身体安全意识一样被重视,因为一个小小的失误可能会让一个庞大的企业瘫痪,且可能造成数百万美元的损失。如果员工能够意识到组织和个人面临的一般网络安全威胁,将大有裨益;尤其是在他们意识到组织和行业的特定威胁,且了解在组织中可能发生的特定威胁事件时,帮助会更大。通过这种方式,蓝队成员可以营造一个网络安全意识文化,让人们保持警觉,理解个人行为对组织安全、数据及资产保护所带来的风险和影响。

总结上述内容,蓝队和紫队负责组织内多个关键职能,包括:

  • 威胁情报

  • 威胁猎捕

  • 事件响应

  • 监控与事件管理

  • 日志审查

  • 漏洞评估(红队/紫队)

  • 渗透测试(红队/紫队)

  • 威胁模拟

在接下来的章节中,我们将探讨数字取证方法和框架,作为执行证据获取和取证调查时的最佳实践指南。

数字取证方法论和框架

记住,法医学是一门科学,数字取证要求你遵循适当的最佳实践和程序,以确保每次都能产生相同的结果,提供证据的证明、保存和完整性,如果需要的话,可以复制这些结果。

虽然许多人可能并不是在进行数字取证以便作为法庭证据使用,但最好以一种可以在法庭上被接受并呈现的方式进行数字取证与事件响应(DFIR)实践。遵循由专门从事数字取证和事件响应的组织制定的最佳实践,主要目的是确保在调查过程中保持证据的完整性。如果调查人员的工作需要被他人或对方当事人审查和批评,那么调查人员发现的结果必须能够被重新创建,从而证明调查的完整性。这样做的目的是确保你的方法可以重复使用,并且如果被剖析或审查,能够一次又一次地产生相同的结果。所使用的方法论,包括调查的程序和结果,应始终确保数据的完整性,不论使用何种工具。

本书中展示的最佳实践确保原始证据未被篡改,或者在调查设备和数据时,如果是在实时或生产环境中,能提供充分记录的证据,证明在调查过程中采取了必要的步骤,以避免不必要地篡改证据,从而保护证据的完整性。对于完全不熟悉调查的新手,我建议先熟悉一些专业社区广泛应用和实践的各种方法和技术。

因此,存在若干指导方针和方法论,你应当采纳或至少遵循,以确保检查和调查具有法医学的严谨性。

本章提到的最佳实践文件包括:

  • 首席警察官协会 (ACPO) 数字证据最佳实践指南

  • 数字证据科学工作组 (SWGDE) 法医学出版物

尽管是在 2012 年编写的,ACPO 现在作为全国警察局长委员会 (NPCO),提出了一份名为数字证据良好实践指南的 PDF 文件,该文件包括在进行数字取证调查时的最佳实践,特别侧重于证据获取。ACPO 的数字证据良好实践指南随后被英格兰、威尔士和北爱尔兰的执法机构采纳和遵守,完整下载链接为www.npcc.police.uk/documents/crime/2014/Revised%20Good%20Practice%20Guide%20for%20Digital%20Evidence_Vers%205_Oct%202011_Website.pdf

本指南提供的一些有用主题包括:

  • 数字证据位置

  • 与扣押相关的问题

  • 捕获在线证据

  • 数据分析与解释

在 SWGDE 网站上可以找到其他有用且更近期的关于数字取证最佳实践的文档集。SWGDE 成立于 1998 年,由联邦犯罪实验室主任组成的团体创立,主要成员和贡献者包括 FBI、DEA、NASA 和国防部计算机取证实验室。尽管本文详细描述了正式计算机取证实验室环境中的程序和实践,但这些实践仍然适用于当前未参与或无法访问此类环境的人员在非实验室调查中的应用。

本书的早期版本提到了 2006 年至 2016 年间 SWGDE 发布的文件。2006 年的旧版SWGDE 最佳实践已不再在 SWGDE 网站上,但它揭示了许多主题,包括:

  • 证据收集与获取

  • 调查已开启和关闭电源设备

  • 证据处理

  • 分析与报告

此文档可以在www.oas.org/juridico/spanish/cyb_best_pract.pdf上公开获取。

自那时起已经进行了多次更新,现在所有更新的最新文件都可以在更新的 SWGDE 网站上找到,网址为www.swgde.org/documents/published-by-committee/forensics。有超过 35 个免费下载的出版物,其中 17 个在 2017 年至 2022 年间发布。我强烈建议下载这些文件,因为对于 DFIR 从业者来说,它们非常出色,每个文件大约只有 10 页或更少。

所谓的更新的SWGDE 最佳实践文件包含关于以下内容的优秀、深入研究和现代化的 DFIR 最佳实践:

  • 车载信息娱乐和远程通信系统 (2022)

  • 无人机 取证 (2022)

  • 在线内容获取 (2022)

  • 云服务提供商的数字证据获取 *(2020)

  • 移动证据收集与 保存(2020)

  • 数字证据 收集(2018)

  • 计算机取证 检查(2018)

  • 计算机取证 采集(2018)

还有许多其他有用的最佳实践出版物。

现在我们已经熟悉了 DFIR 方法论和最佳实践,让我们来看看 DFIR 框架。

DFIR 框架

尽管前述的最佳实践指南已经有些过时,但仍可与一个或多个框架结合使用。无论任务是什么,目标应始终保持不变,即在整个 DFIR 过程中,证据的完整性始终得到保持,从证据收集、检查、分析到报告。

有多个 DFIR 框架可供选择,若组织无论大小都能应用并实施这些框架,将有助于业务连续性和灾难恢复过程,这也是任何值得信赖的 DFIR 计划应具备的功能。以下是一些将在第七章中详细讨论的 DFIR 框架,事件响应、数据采集与 DFIR 框架。下载这些文档并将其保留为参考材料可能是个好主意,作为 DFIR 从业人员,你应当熟悉这些内容(可以先继续阅读下一节,稍后再回来查阅这些文档):

现在,让我们来看看一些取证操作系统及其之间的差异。

数字取证操作系统的比较

就像有许多商业工具可供使用一样,还有许多开源工具供调查人员、业余爱好者和专业人员使用。这些工具大多数基于 Linux,并可以在多个免费提供的取证发行版中找到,我们将在本节中讨论这些内容。

在选择工具时,通常会出现的一个主要问题是商业工具与开源工具的选择。无论你使用商业工具还是开源工具,最终的结果应该是相同的,重点是保护和保持原始证据的完整性。

重要提示

预算总是一个问题,某些商业工具(无论它们多么强大、准确和用户友好)可能需要花费数千美元。

这些开源工具在各种开源许可证下免费使用,不应因为它们没有得到企业开发者和研究人员的支持而被忽视。

许多开源工具被取证社区广泛审查,并可能接受更多的审查,因为它们是公开可用的,并且是用非专有代码构建的。

尽管本书的重点是 Kali Linux 中的取证工具,我们将在本节末尾及之后开始查看,以下是一些更受欢迎的开源取证发行版或称为“发行版”。

以下节中提到的每个发行版都可以在许多地方免费获得,但出于安全考虑,我们将提供它们主页上的直接链接。本节中的操作系统没有特定的排列顺序,也不反映任何评级、评论或作者个人偏好。

我们将在本节中讨论的取证平台有:

  • DEFT Linux 8

  • 计算机辅助调查环境CAINE)12.4 Sidereal 和 CAINE 11 Wormhole

  • CSI Linux 2022.1

  • Kali Linux 2022.3

如果你在想,我使用前面提到的所有平台作为实时系统和虚拟机,我也为 CSI Linux 和 Kali 配置了专用机器。下面是我的VirtualBox Manager列表的一个片段:

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_2.01_B19441.jpg

图 2.1:VirtualBox Manager 中的虚拟机列表

数字证据与取证工具包 Linux

数字证据与取证工具包DEFT)Linux 提供完整版和名为DEFT Zero的轻量版。出于取证目的,你可能希望下载完整版,因为 Zero 版不支持移动取证和密码破解功能:

与此列表中提到的其他发行版类似,DEFT,如以下截图所示,也是一个完全功能的 实时响应 法医工具,可用于在无法关闭计算机的情况下进行实时响应,并允许对 RAM 和交换文件进行即时分析。虽然稍显过时,但我个人仍然使用 DEFT 8.2,特别是用于使用 Xplico 进行数据包分析:

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_2.02_B19441.jpg

图 2.2:DEFT Linux 8 启动菜单

在从 DEFT Linux DVD、可启动闪存盘或其他媒体启动时,您将看到各种选项,包括将 DEFT Linux 安装到硬盘、作为实时响应工具使用,或者通过选择 DEFT Linux 8 实时选项,作为操作系统使用,如下所示:

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_2.03_B19441.jpg

图 2.3:DEFT Linux 菜单

在前面的截图中,可以看到 DEFT Linux 8 中有几个法医类别,如 AntimalwareData RecoveryHashingImagingMobile ForensicsNetwork ForensicsPassword recoveryReporting tools。每个类别中都有多个由不同开发者创建的工具,提供了多样的选择供调查人员选择。

DEFT 包含许多有用的工具,为了做一个比较,我们来看一下 DEFT 中 Analysis 菜单下的工具:

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_2.04_B19441.jpg

图 2.4:DEFT Linux 中的法医分析工具

计算机辅助调查环境(CAINE)

CAINE 是一款可启动的实时响应 CD/DVD,提供以安全模式、文本模式、作为实时系统或以 RAM 启动的选项,如下所示。需要注意的是,最新版本 CAINE 12.4(Sidereal)不可安装,仅为实时系统操作系统。如果您希望安装 CAINE,可以使用 CAINE 11(Wormhole),尽管它们都可以作为实时系统用于实时采集和法医分析,如下图所示。

图 2*.5* 显示了 CAINE 12.4 (Sidereal) 启动屏幕菜单的截图,您可以在其中选择 CAINE 12.4 的不同启动选项:

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_2.05_B19441.jpg

图 2.5:Caine 12.4 启动菜单

图 2*.6* 显示了 CAINE 11 启动屏幕,与 CAINE 12 几乎相同,如 图 2*.5* 所示:

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_2.06_B19441.jpg

图 2.6:Caine 11 启动菜单

以下是 CAINE 详细信息的总结:

  • CAINE 11 和 12 都可以在 www.caine-live.net/ 下载

  • 基于:GNU Linux

  • 发行版类型:法医与事件响应

在选择启动选项后,CAINE 最显著的特点之一就是可以轻松找到写保护器功能,如下图所示,标记为 UnBlock 图标:

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_2.07_B19441.jpg

图 2.7:CAINE 12 桌面界面

激活此功能可以防止 CAINE 操作系统向证据计算机或驱动器写入数据。如果你没有硬件写保护器,启用此功能非常有用,关于这一点我们将在第七章**,事件响应、数据采集和 DFIR 框架中进一步讨论。

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_2.08_B19441.jpg

图 2.8:CAINE 写保护器界面

取证工具是 CAINE 中列出的第一个菜单。像 DEFT Linux 一样,菜单中有几个类别,如以下截图所示,其中包括一些在开源取证中最常用的工具。除了这些类别,还有一些更知名工具的直接链接,如GuymagerAutopsy,它们将在后续章节中详细介绍:

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_2.09_B19441.jpg

图 2.9:CAINE 12 中可用的取证工具

让我们来看看 CAINE 中分析菜单中的工具。如前所述,CAINE 中有更多的图形用户界面GUI)DFIR 工具,而不是 DEFT 中:

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_2.10_B19441.jpg

图 2.10:CAINE 12 中可用的分析工具

我们在 CAINE 的内存 取证菜单中也提供了各种工具:

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_2.11_B19441.jpg

图 2.11 – CAINE 12 中可用的内存取证工具

有关发布时 CAINE 包含的所有功能和软件包的完整列表,请访问www.caine-live.net/page11/page11.xhtml

最新版本的 CAINE 12.4 Sidereal 可以在deb.parrot.sh/direct/parrot/iso/caine/caine12.4.iso以 ISO 格式下载,大小约为 3.9 GB。

如前所述,如果你希望使用可安装的 CAINE 11 Wormhole,可以在deb.parrot.sh/direct/parrot/iso/caine/caine12.4.iso下载。

若要安装到 USB 闪存驱动器,请确保驱动器容量不少于 8 GB;但建议使用 16 GB 的驱动器。可以使用 Rufus 工具自动创建可启动的 CAINE 驱动器,如第三章所示,安装 Kali Linux

CSI Linux

CSI Linux 是一个相对较新的平台,由具有远见的Jeremy Martin及其优秀团队开发,他们打造了一个功能强大的取证/蓝队平台,我与 Kali Linux 一样经常使用。CSI Linux 2022.1 提供了适用于 VirtualBox 和 Kali Linux 的虚拟设备安装,也可以下载作为可启动镜像进行实时 DFIR 操作。未来还计划发布 CSI Linux 安全信息与事件管理SIEM)系统。

CSI Linux 2022.1 可以直接从 csilinux.com/download 下载。

提示

如果使用 CSI Linux,用户名和密码都是csi

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_2.12_B19441.jpg

图 2.12:CSI Linux 登录界面

与 DEFT、CAINE 和 Kali 类似,CSI Linux 也具有非常用户友好的桌面界面:

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_2.13_B19441.jpg

图 2.13:CSI Linux 桌面界面

点击 CSI Linux 菜单按钮会显示出一长串类别,包括OSINT 和在线调查黑暗网络威胁情报类别,正是在这些方面,我认为 CSI Linux 真正表现出色,因为其他平台没有这些预装工具:

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_2.14_B19441.jpg

图 2.14:CSI Linux 取证工具

再次为了对比,我们来看看OSINT 和在线调查黑暗网络计算机取证菜单。

OSINT 和在线调查菜单下有多个子菜单,提供了非常有用的工具,用于社交媒体、电子邮件、电话和社交工程工具,所有这些我都经常使用:

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_2.15_B19441.jpg

图 2.15:CSI Linux OSINT 和在线调查工具

黑暗网络调查工具在紫队合作中也非常受欢迎,因为它们被渗透测试员和 DFIR 从业人员共同使用:

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_2.16_B19441.jpg

图 2.16:CSI Linux 黑暗网络调查工具

计算机取证事件响应菜单中列出了许多更新和现代的图形界面(GUI)和命令行界面CLI)工具,用于进行全面调查:

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_2.17_B19441.jpg

图 2.17:CSI Linux 计算机取证工具菜单

CSI Linux 还拥有一个令人印象深刻的事件响应工具类别,正如在图 2.18中所见:

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_2.18_B19441.jpg

图 2.18:CSI Linux 事件响应菜单

我强烈建议下载并熟悉 CSI Linux。我们将在本书中学习使用的许多工具也已经预装在 CSI Linux 中,这将减少学习曲线。

Kali Linux

最后,我们来到了这颗宝石,Kali Linux,在下一章以及本书的全篇中将详细讨论其从安装到高级取证应用的方方面面:

  • 主页:www.kali.org/

  • 基于:Debian

  • 发行版类型:渗透测试、取证和反取证

Kali Linux 最初是作为渗透测试或渗透测试发行版 BackTrack 创建的,后来在 2015 年演变为 Kali Linux,如在第一章《红队、蓝队和紫队基础》一书中所提到的。这款强大的工具是全球渗透测试人员和安全爱好者的首选工具。作为认证 EC-Council 教师CEI)以及认证道德黑客CEH)课程的讲师,该操作系统通常是课堂的明星,因为它包含了许多令人印象深刻的安全工具,从扫描和侦察工具到高级漏洞利用和报告工具应有尽有。

与前面提到的工具一样,Kali Linux 可以作为一个实时响应取证工具使用,因为它包含了进行完整调查所需的许多工具。然而,Kali 也可以作为一个完整的操作系统使用,因为它可以完全安装在硬盘或闪存驱动器上,并包含多种生产力和娱乐工具。它自带许多硬件、图形和网络设备所需的驱动程序,并且在 32 位和 64 位系统上运行流畅,且占用资源极少;它也可以安装在某些移动设备上,如NexusOnePlus手机,以及其他手机和平板电脑上。

除了其多功能性外,从 Live CD/DVD 或闪存驱动器启动时,调查员有多个选项可供选择,包括Live(取证模式),该模式保持证据驱动器的完整性,不会干扰或篡改证据,还会禁用闪存驱动器和其他存储介质的自动挂载,确保在整个调查过程中保持原始证据的完整性。

再次强调,Kali Linux 是首选的紫队平台,它将渗透测试和取证工具完美地集成在一个出色的包中。

当从 DVD 或闪存驱动器启动 Kali Linux 时,用户首先会看到用于启动 Live 环境和安装的选项。从列表中选择第三个选项会进入Live(取证模式),如以下截图所示:

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_2.19_B19441.jpg

图 2.19:Kali Linux 启动菜单

一旦 Kali **Live(取证模式)**选项启动,调查员将看到与使用 Kali 中任何图形用户界面时相同的主屏幕,如下图所示:

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_2.20_B19441.jpg

图 2.20:Kali Linux 桌面界面

当然,Kali 也可以作为一个完整的操作系统安装在虚拟机或直接安装到硬盘上,相关内容将在第三章《安装 Kali Linux》中介绍。这是我桌面的截图,安装了如 FTK Imager 和 Autopsy GUI 等 Windows 取证工具,使用 Wine 运行:

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_2.21_B19441.jpg

图 2.21:Kali Linux 定制桌面

Kali 菜单可以通过点击应用程序在左上角找到。点击后,用户会进入菜单列表,菜单下方显示取证类别,标注为11 - Forensics。以下截图展示了 Kali 中一些我们在本书后面将要使用的取证工具:

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_2.22_B19441.jpg

图 2.22 – Kali Linux 取证工具菜单

需要注意的是,所列的工具并不是 Kali 中唯一可用的工具。还有一些其他工具可以通过终端调用,稍后章节中我们会看到。

值得注意的是,当处于取证模式时,Kali 不仅不会篡改原始证据驱动器,还不会向交换文件写入数据,因为交换文件可能存储了最近访问并保存在内存中的重要数据。

如需查看发布时 Kali Linux 操作系统所包含的完整功能和软件包列表,请访问www.kali.org/tools/

Kali 不仅可以作为一个实时响应取证工具使用,还可以像 Windows、macOS 和 Android 一样,作为完整操作系统使用,因为它内置了多个工具用于提高生产力和日常使用。Kali 能够安装到硬盘的事实意味着,您可以定期下载并更新其他工具,持续访问所有 IT 安全和取证工具。这样,您在使用工具时能够保存进度,并且不必过多担心如果您决定将其作为完整操作系统使用时需要重启机器。

使用这些开源操作系统,如 Kali,给我们提供了一系列可供选择和使用的工具。在每个类别中,很多工具都能执行相同的任务。这是一个好现象,因为我们的调查结果应当能够通过不同的工具进行重复验证。尤其是在调查员的工作可能受到批评时,这一点尤为重要,案件的完整性和证据的可信度也可能受到质疑;正确使用多个工具将得出一致的结果。接下来,我们将探讨在调查中为何需要使用多个工具。

数字调查中对多个取证工具的需求

证据的保存至关重要。正确使用商业和开源工具将产生有效结果;然而,为了获得取证上无懈可击的结果,有时最好使用多个工具来产生相同的结果。

使用多个工具的另一个原因可能仅仅是成本效益。一些人可能有充足的预算,而另一些人可能预算有限,甚至没有预算。商业工具可能很昂贵,特别是考虑到研发、测试、广告和其他因素。虽然开源工具经社区测试,但可能没有商业工具那样的资源和资金。

那么,我们如何知道选择哪些工具呢?

数字取证通常非常耗时,这也是你可能希望使用多个取证副本的原因之一。通过这种方式,你可以同时使用不同的工具来加速调查。尽管快速的工具可能是好事,但我们也应该质疑这些工具的可靠性和准确性。

美国国家标准与技术研究院NIST)开发了计算机取证工具测试CFTT)程序,用于测试数字取证工具,并将所有结果公开。根据工具的特定能力,选出多个工具并分入不同的测试类别,如磁盘映像、文件修复和数据恢复等。每个类别都有正式的测试计划和策略,并附有验证报告,报告也公开发布。

关于 CFTT 程序的更多信息,请访问www.cftt.nist.gov/disk_imaging.htm。本书中涵盖的许多工具的测试和验证报告可以在www.dhs.gov/science-and-technology/nist-cftt-reports找到。

为了加强使用多个工具维护调查和结果完整性的重要性,从本书的第七章《事件响应、数据获取和 DFIR 框架》开始,将演示多个工具的使用。

到目前为止,我们已经讨论了开源工具。在接下来的章节中,我将讨论一些你可能会遇到的流行商业取证工具,特别是如果你是或打算成为数字取证和事件响应(DFIR)专业人员的话。

商业取证工具

尽管我们将使用开源工具,但我想提到一些你可能有兴趣使用或加入到你作为取证专业人员工具库中的流行商业工具。

Belkasoft Evidence Centre X

Belkasoft Evidence Center (EC) X 是一个自动化的事件响应和取证工具,能够分析获取的内存转储、虚拟机、云、移动备份以及物理和逻辑驱动器的映像。

Belkasoft EC X 还能够搜索、恢复和分析以下类型的证据:

  • 办公文档

  • 浏览器活动和信息

  • 电子邮件

  • 社交媒体活动

  • 移动应用程序

  • 消息应用程序(WhatsApp 和 Facebook Messenger)

  • 云数据获取

更多 Belkasoft 产品的信息可以在 belkasoft.com/ 找到。

Belkasoft 还提供一个免费的获取工具和 RAM 捕获工具,以及其 EC 的试用版,下载链接为 belkasoft.com/get

Exterro 取证工具包(FTK)

Exterro 取证工具包 (FTK) 已经存在一段时间,并被全球的取证调查员和执法机构广泛使用。FTK 还与 Belkasoft 集成,提供更好的用户体验。FTK 的一些功能包括:

  • 使用四个引擎的多核支持进行快速处理

  • 处理大量数据的能力

  • 数据索引以便于更快和更轻松的搜索与分析

  • 密码破解与文件解密

  • 自动化分析

  • 能够执行定制的数据雕刻

  • 高级数据恢复

更多关于 FTK 的信息可以在 accessdata.com/products-services/forensic-toolkit-ftk 找到。

FTK 的试用版可以在 go.exterro.com/exterro-software-demo 下载。Exterro 还提供一个免费的镜像获取工具,供下载和使用,链接地址是 go.exterro.com/l/43312/2022-08-23/f7rylq

OpenText EnCase Forensic

曾被称为 Guidance EnCase Forensic,现在被称为 OpenText EnCase Forensic,这款工具多年来一直处于行业前沿,并且近二十年来已被全球的专业人员和执法人员广泛使用。与 FTK 类似,EnCase 提供了多个解决方案,涵盖事件响应、电子发现以及端点和移动取证。

除了作为一整套数字取证解决方案和工具套件外,EnCase 的其他一些功能包括:

  • 从超过 25 种不同类型的移动设备获取镜像,包括手机、平板电脑,甚至是 GPS 设备。

  • 支持 Microsoft Office 365。

  • 使用 Check Point 的全盘加密进行证据解密。

  • 深度取证与筛查分析。更多关于 EnCase 的信息可以在 www.guidancesoftware.com/encase-forensic 找到。

现在我们已经介绍了一些更流行的商业取证工具,接下来我想简要谈一下反取证,您可以在自己的时间里进一步研究这一话题。

反取证——对数字取证的威胁

尽管我们希望数字取证任务尽可能简单,但我们仍然会遇到使调查过程、以及作为取证调查员的生活变得复杂甚至有压力的情况。那些试图隐藏信息、掩盖痕迹的人,以及有恶意意图或参与网络犯罪的人,常常采用各种方法来阻挠取证调查员的工作,企图妨碍或中止调查。

近年来,我们见证了几次重大的网络攻击事件,尤其是自 2011 年起。这些攻击中的许多据称是臭名昭著的黑客组织的作品,例如 LulzSec、Anonymous、Lizard Squad 等,甚至包括一些个人和黑客活动家(那些为特定目的或原因进行黑客攻击的人,通常不太担心因此入狱)。这些攻击不仅导致多个主要网络和机构瘫痪,还直接和间接造成了数百万美元的损失;因此,公众对这些公司的信任丧失进一步加剧了损失。

这些大胆、富有创意的公开攻击促使了许多新的团体的出现,这些团体从过去匿名者和其他组织的攻击失误中汲取了教训。社交媒体和地下通信渠道很快成为了志同道合的黑客和黑客活动家之间最便捷的沟通方式。随着互联网和万维网的普及,这不仅带来了 IP 之间的竞争,还导致了私人公司和企业之间的竞争,进而促使了几乎每个街道上都有免费无线热点的出现,无论是大企业还是小商店。

在几乎每个咖啡店都能上网的情况下,任何拥有智能手机、平板电脑、笔记本电脑或其他设备的人几乎都能获得未经认证的互联网访问权限。这使他们能够访问黑客网站和门户网站,下载工具,上传恶意软件,发送感染邮件,甚至发动攻击。

我们还应该考虑加密技术对我们调查的影响,接下来我们将详细探讨这一点。

加密

另一个需要注意的情况是,越来越多的用户友好型工具被用来帮助掩盖公开身份信息PII),或者任何可能在法医调查过程中帮助揭示网络犯罪嫌疑人的信息。用于数据加密和匿名化的工具,例如 IP 地址掩码,已经可以轻松获取,而且大多数工具都变得越来越易于使用。

还需要注意的是,许多 Wi-Fi 热点本身可能相当危险,因为它们很容易被设置成截获个人数据,如登录和密码信息,以及个人身份信息(PII,例如社会保障号码、出生日期和电话号码),从而窃取任何可能连接 Wi-Fi 并输入此类信息的用户的资料。

加密过程为通信双方提供了机密性,使用的技术与我们使用锁和钥匙来保护个人私人物品的方式非常相似。为了打开一个锁,必须有一个匹配的钥匙。同样,在数字世界中,数据是通过加密算法加密或锁定的,并且必须使用相同的钥匙来解密或解锁数据。还有另一种情况,即使用一个密钥来加密或锁定数据,另一个密钥则用来解密数据。两种非常流行的加密工具是 TrueCryptVeraCrypt

这两种加密工具使用非常高的加密方法,能确保数据的高度机密性。对于取证工作来说,主要的障碍可能是获取解密密钥,以解密或解锁数据访问。

重要提示

TrueCrypt 和 VeraCrypt 不仅能加密文件,还能加密文件夹、分区甚至整个硬盘!

除了使用加密工具,如此处提到的那些,我们还应考虑使用匿名性工具,如下一节中提到的那些工具。

在线与离线匿名性

加密,尤其是,加密技术会使调查变得相当困难,但也存在匿名性的概念,这增加了在调查中保持真实来源准确性的复杂性。像加密一样,针对所有操作系统平台(如 Windows、MacOS、Linux 和 Android)有几个免费的开源工具,这些工具通常能够(且大多数情况下成功地)掩盖某人数字足迹的隐藏。这个数字足迹通常通过其 IP 地址和 媒体访问控制MAC)地址来识别设备。如果不深入探讨网络方面的内容,这两个数字地址可以分别比作一个人的全名和家庭地址。

即使一个人的 IP 地址根据其私有网络(家庭和工作)和公共网络(互联网)访问而发生变化,MAC 地址仍然保持不变。

然而,出于隐私和匿名性的目的,也有多种工具可以自由获取,用来伪装或伪造你的 IP 和 MAC 地址。更进一步,用户可以通过将数据路由通过在线服务器和设备,使得追踪发送数据的源头变得相当困难。这个系统被称为 代理链路,它能在一定程度上隐藏用户的身份。

一个很好的例子是 Tor 浏览器;它使用洋葱路由和全球多个代理来传递数据,使追踪源头变得非常困难,但并非不可能。你可以把代理链想象成接力赛,但不同的是,不是四个人一个接力棒传给下一个,而是数据在全球数百个代理设备之间传递。

现在你应该对反取证有了基本的了解,并且理解了加密和匿名工具的使用,这些工具可以隐藏或模糊可能会使 DFIR 调查变得复杂的信息和数据。让我们总结一下刚刚讨论的内容,然后继续进入下一章。

摘要

我们看到,数字取证仍然是一个相对较新的领域,尽管法医科学自 20 世纪初就已存在。虽然数字取证可能自 2000 年代初才开始出现,但作为一门科学,我们已经有了某些最佳实践、程序、标准和框架,例如由 ACPO、SWGDE 和 NIST 创建的框架,以遵循。这些框架在进行调查时,无论是作为业余爱好者还是专业的数字取证调查员,都能够确保调查结果和实际证据的准确性与完整性。

一些提到的商业工具包括 Belkasoft EC X、FTK 和 EnCase Forensics。许多可用的开源工具是为基于 Linux 的发行版设计的,可以单独下载,但许多工具在某些法医和安全操作系统或发行版中已预先包含。其中一些发行版包括 DEFT Linux、CAINE、CSI Linux,当然还有 Kali Linux;所有这些都可以通过提供的链接免费下载。

我希望这次数字取证的介绍对你既有信息性也有趣味性。现在我们已经建立了法医基础,接下来让我们深入了解 Kali Linux,在下一章中,我们将学习如何下载、安装和更新 Kali。下一页见!

第三章:安装 Kali Linux

跟我一起开始学习 Kali Linux 的实践部分吧。你们中的一些人可能已经熟悉安装过程,甚至一些高级功能,如分区和网络设置。对于初学者和那些刚接触 Kali Linux 的人,我们建议你们特别注意这一章,因为我们将从下载 Kali Linux 的基础开始,一步步进行,直到成功安装。

本章将要覆盖的主题如下:

  • 将 Kali Linux 安装到便携存储介质上以进行实时 DFIR

  • 将 Kali Linux 下载并安装为独立操作系统

  • 在 VirtualBox 中安装 Kali Linux

技术要求

如前所述,Kali Linux 已经问世很长时间。此前被称为 BackTrack,从 1 到 5 版本发布,Kali Linux 于 2015 年首次发布,版本号为 Kali 1.0。自 2016 年起,Kali Linux 的版本名称采用了年份命名方式。所以,例如,在本书撰写时,使用的版本是 Kali 2022.3,发布于 2022 年 8 月。

对于运行旧版本 Kali Linux 或者在购买本书时,可能会有新版本的 Kali Linux(如 2023 及之后版本)发布的读者,您可以通过使用 sudo apt-get update 命令轻松更新您的 Kali Linux 实例,该命令将在 更新 Kali 部分后续演示。

下载 Kali Linux

出于安全原因,最好直接从其创建者 Offensive Security 的网站下载 Kali Linux。主要原因是,其他网站上的 Kali 下载可能是假的,或者更糟,可能包含恶意软件,如木马、rootkit,甚至勒索软件。Offensive Security 还在其网站上提供了所有版本的 Kali 下载的哈希值,用户可以将其下载版本的哈希与 Offensive Security 网站上发布的哈希进行比较 (www.kali.org)。在那里,您可以点击 下载 链接,或直接访问 Kali Linux 下载 页面 www.kali.org/get-kali/

下载 页面,提供了四个主要选项,您需要选择适合您平台的 Kali Linux 版本:

  • 安装镜像:这些 ISO 镜像可以下载并直接安装到硬盘上,作为主要操作系统使用,方式与安装 Windows 或其他操作系统相同。ISO 文件(或称为 ISO 镜像)是数据的精确副本,专门用于数据复制。

  • 虚拟机:这些镜像用于虚拟平台,如 VirtualBox 和 VMware,并已预配置,可以开箱即用。

  • ARM:这些镜像专门为低功耗设备和单板计算机SBC)设计,例如 Raspberry Pi、Pinebook 和 Gateworks 设备。

  • 移动设备:这种便携版本的 Kali Linux 称为 Kali NetHunter,自推出以来,现在可以安装在更多设备上,包括 OnePlus、ZTE、Nexus、三星、索尼、诺基亚,甚至 TicWatch Pro 智能手表。Kali NetHunter Lite 还可以安装在 ARM64 和 ARMhf 设备上。

下图显示了具有各种平台选项的主下载菜单。

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_3.01_B19441.jpg

图 3.1:可用的 Kali Linux 版本

一旦你点击某个菜单项,它将带你进入该特定平台的下载部分。例如,如果你点击菜单中的 虚拟机 选项,你将被带到用于 VMwareVirtualBox 的 64 位和 32 位版本的 Kali Linux 下载部分。

重要说明

32 位操作系统的内存限制为仅能使用 4 GB RAM。如果你的系统内存超过 4 GB,建议下载 Kali Linux 的 64 位版本。

在下图中,选择了64 位版本。

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_3.02_B19441.jpg

图 3.2:适用于 VirtualBox 和 VMware 的可用 32 位和 64 位 Kali Linux 版本

你可以选择VMwareVirtualBox平台。你可以通过点击图标下方的下载箭头直接在浏览器中下载 Kali,箭头表示该文件的大小为 2.4G。你还可以使用你选择的 Torrent 软件下载,例如 Tixati 或 BitTorrent,通过点击torrent选项来进行下载。Torrent 软件必须单独下载。docs选项将引导我们进入每个平台的文档页面,而sum选项则提供了上传者上传的原始文件的 SHA256sum 输出。

重要说明

sha256sum 命令用于在 Linux 中生成一个校验和或数字输出,表示现有数据,然后可以与下载副本的校验和进行比较,以确保没有数据或比特被更改或篡改。

现在我们已经熟悉了可用的 Kali Linux 版本,让我们来看看安装不同 Kali Linux 实例所需的软件。

下载所需工具和镜像

为了能够跟随本章在不同平台上安装 Kali Linux,你需要下载以下版本的 Kali Linux 以及一些附加工具,我已经在这里列出:

下载 Kali Linux Everything 种子

Kali Linux 安装器有一个变种,叫做 Kali Everything。Kali Everything 镜像比其他安装版本要大得多,因为它包含了 Kali Linux 所有可用的工具。虽然这些工具可以通过仓库(通常称为 repos)手动下载和安装,但如果你不熟悉安装 Kali 工具和仓库,下载 Everything 版本并探索这些工具会更简单。你可以通过以下步骤下载 Kali Everything ISO 镜像:

  1. Kali Everything 可以直接安装到硬盘作为独立的操作系统OS),如果你更喜欢此选项,也可以在 VirtualBox 中作为虚拟机安装。我们将在接下来的章节中覆盖这两种情况。你可以通过访问 kali.download/base-images/kali-2022.3/kali-linux-2022.3-installer-everything-amd64.iso.torrent 下载 Kali Everything 种子。

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_3.03_B19441.jpg

图 3.3:Kali Everything 下载按钮的图片

  1. 然后,您可以使用您选择的 torrent 应用程序打开该链接。我使用了 Tixati 软件,它是为 Windows 系统设计的,我从www.tixati.com/download/ 下载并安装在我的 Windows 10 笔记本上。点击链接后,Kali Everything torrent 文件会在 Tixati 客户端中打开。我选择将 Kali Everything 文件保存到我的 Downloads 文件夹中,下面的截图展示了这一过程。在选择了下载位置后,点击 Start 按钮。

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_3.04_B19441.jpg

图 3.4:Tixati torrent 界面

  1. Kali Everything 文件下载将在 Tixati 中开始,并将保存到所选文件夹,文件名为 kali-linux-2022.3-installer-everything-amd64.iso。我们将在接下来的章节中使用这个 ISO 文件。

现在,您应该已经在您的系统中下载了至少两个版本的 Kali Linux,就像我在 Downloads 文件夹中的情况一样。

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_3.05_B19441.jpg

图 3.5:下载的 Kali 镜像文件在 Downloads 文件夹中

现在让我们看看如何使用 Rufus 3.2 在闪存驱动器或任何其他存储介质上创建这两个 Kali Linux 实例的可启动版本。

在便携式存储介质上安装 Kali Linux 进行实时 DFIR

如前所述,Kali Linux 可以安装在多种平台上,并且可以作为独立操作系统或虚拟机安装。我们将首先看看如何使用我们下载的 Kali Installer ISO 文件创建一个可启动的 Kali Linux 闪存驱动器。如果您没有下载 ISO 文件,您可以点击链接并按照前一节的说明进行下载。

这个 .iso 文件,或者有时被称为镜像文件,可以与 Rufus 3.20 一起使用,制作可启动的驱动器,以便将 Kali Linux 安装到 PC 或笔记本电脑上。它也可以在 VirtualBox 中安装并作为虚拟机使用,我们将在本章后面介绍如何使用 Kali Everything ISO 文件。让我们首先看看如何使用 Kali Linux 安装器 ISO 文件创建一个可启动的闪存驱动器,然后学习如何将 Kali 安装为独立操作系统。

创建一个可启动的闪存驱动器或 SD 卡来安装 Kali Linux 是非常有用的,因为它消除了携带个人笔记本电脑或台式电脑的需要,一旦插入并从桌面或笔记本电脑启动,Kali 就可以直接从便携式存储媒体设备本身运行。

对于本实验(我们会不时将实践称为实验),我将使用 Windows 10 笔记本电脑上的 Rufus 3.20 工具,利用我们下载的Kali Installer ISO创建可启动的闪存驱动器。如果你还没有下载 Rufus 3.20,请通过点击github.com/pbatard/rufus/releases/download/v3.20/rufus-3.20.exe进行下载。

Rufus 非常易于使用,界面简洁,这也是我选择它来创建可启动驱动器的原因之一。一旦下载了 Rufus,找到下载的文件并双击运行 Rufus。此时,你应该已经将希望用作 Kali Linux 可启动驱动器的闪存驱动器插入到电脑或笔记本电脑中。在这个例子中,我使用的是一个 32 GB 的闪存驱动器,并为其命名为 CFSI,以便轻松识别。

看一下以下截图,观察以下项目:

  • 设备:这是你的目标设备。我选择了我的 32 GB 驱动器。

  • 启动选择:我们将使用下载的 Kali 安装程序和 Kali Everything .iso 文件来创建我们的可启动驱动器。

  • 分区方案MBR(旧设备)或GPT(新设备)。我选择了MBR,因为我将创建一个可启动的 Kali 驱动器用于旧系统。如果你只打算在新型笔记本电脑或台式机上使用这个可启动驱动器,可能需要选择GPT。如果你有可用的驱动器,还可以创建两个可启动驱动器,一个使用 MBR 分区方案,另一个使用 GPT。

  • 文件系统:许多闪存驱动器和 SD 卡默认格式化为 FAT32,且可以正常工作,因此我们将其保持为FAT32(默认)

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_3.06_B19441.jpg

图 3.6:Rufus 界面

现在按照以下步骤在便携式存储设备上安装 Kali Linux 以进行实时 DFIR:

  1. 在前面的截图中,你会注意到右侧有一个提示框,内容为点击选择或下载图片。点击SELECT下拉菜单,浏览到你下载并保存 Kali 安装程序(kali-linux-2022.3-installer-amd64.iso)文件的路径。

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_3.07_B19441.jpg

图 3.7:在 Rufus 中选择 Kali ISO 镜像

  1. 我将kali-linux-2022.3-installer-amd64.iso文件保存在Downloads文件夹中的isos文件夹内。点击kali-linux-2022.3-installer-amd64.iso文件进行选择,然后点击打开按钮。

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_3.08_B19441.jpg

图 3.8:在 Rufus 中选择分区方案

如前面的截图所示,你现在应该可以在 启动选择 部分看到 kali-linux-2022.3-installer-amd64.iso。我还将 持久化分区大小 设置为 2 GB,这为需要下载文件或在 Kali 的可启动安装中安装工具时提供了存储空间。

  1. 此时,你可以在 分区方案 字段中再次选择 MBRGPT 选项。我还将 卷标签 选项更改为 Kali Linux amd 64 1。之所以在卷标签末尾使用数字 1,是因为我使用了 MBR 分区方案的驱动器,另外还使用 GPT 分区方案创建了另一个可启动驱动器,标签为 Kali Linux amd 64 2

  2. 一旦你配置好所有选项,并确认所有设置正确无误,点击 开始 按钮。

  3. 可能会提示你下载两个额外的文件,分别是 ldlinux.sysldlinux.bss。点击 按钮允许 Rufus 自动下载这些文件。你的计算机必须连接到互联网,Rufus 才能下载这些文件。

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_3.09_B19441.jpg

图 3.9:Syslinux 下载要求确认屏幕

  1. 然后,Rufus 会要求确认,并警告说可移动存储设备上的所有数据将被销毁。如果你确定已选择正确的驱动器,请点击 确定 按钮以继续。

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_3.10_B19441.jpg

图 3.10:操作确认屏幕

然后,Rufus 将开始格式化驱动器,以下截图显示了这一过程。

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_3.11_B19441.jpg

图 3.11:Rufus 格式化操作状态

格式化完成后,Rufus 将把 ISO 文件复制到驱动器中。

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_3.12_B19441.jpg

图 3.12:Rufus 文件复制状态

  1. 当过程完成时,状态栏将显示绿色,中间写着 准备就绪。此时,你可以点击 关闭 按钮,如下图所示。

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_3.13_B19441.jpg

图 3.13:可启动驱动器创建完成

  1. 现在,你可以取下可启动的 Kali Linux 驱动器,并将其插入到希望以 live OS 方式运行 Kali 或将其安装到硬盘上的计算机或笔记本电脑中。

以 live OS 方式运行 Kali 意味着它不会安装在硬盘上,而是使用设备的 随机存取内存RAM)运行。通过这种方式,我们可以保留原始操作系统,同时使用 Kali 及其中的所有工具进行 数字取证与事件响应DFIR),而不影响当前安装的操作系统。

  1. 为此,你需要将可启动的 Kali Linux 驱动器插入台式机或笔记本电脑,然后重启系统。你可能需要在重启时按 F12 键选择闪存驱动器作为启动操作系统。这告诉 基本输入输出系统BIOS)从可移动存储介质启动,而不是从硬盘启动,从而使我们能够在内存中运行 Kali Linux 作为实时操作系统。

现在,我们已经学会了如何将 Kali Linux 安装到可启动的闪存驱动器上,接下来我们将学习如何通过可启动闪存驱动器将 Kali 安装为台式机或笔记本电脑上的独立操作系统。

作为独立操作系统安装 Kali

在本节中,我们将把 Kali Linux 安装到台式机或笔记本电脑上,作为独立的操作系统。为了完成这项操作,我们将使用刚刚通过 Rufus 3.2 创建的可启动 Kali 安装器闪存驱动器。如果你曾经通过闪存驱动器或任何可移动存储介质启动过台式机或笔记本电脑,你可能已经熟悉这个过程。对于那些不熟悉这个过程的用户,让我们一步一步地了解如何启动进入 Kali Linux。无论是安装 Kali 到物理机器还是虚拟机上,Kali Linux 的安装和配置是相同的(如果使用的是 Kali Linux 安装器版本,即我们所使用的版本)。因此,为了保持一致,我们将在接下来的章节中详细介绍安装过程:

  1. 一旦你的可启动 Kali Linux 安装器闪存驱动器创建完成,将驱动器插入你的台式机或笔记本电脑并启动设备。如果设备已经开机,请在插入闪存驱动器后重启设备。

  2. 当设备启动时,按下键盘上的 F12 键进入高级启动选项。这个键和设置在不同的设备上可能有所不同,如果 F12 无法带你进入启动菜单,你可能需要参考设备手册。

  3. 选择 USB 或可移动驱动器作为主要启动设备,然后按 Enter 键。

现在,你应该看到 Kali 启动菜单,就像我拍摄的这张显示器照片一样。

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_3.14_B19441.jpg

图 3.14:台式机上的 Kali 启动屏幕图片

到了这个阶段,你可以参考接下来的 在 VirtualBox 中安装 Kali Linux 部分,继续安装和配置过程。让我们在独立安装部分暂停一下,学习如何在 VirtualBox 中作为虚拟机安装 Kali Linux。一旦我们在 VirtualBox 中安装了 Kali,接下来的安装和配置过程就可以同时适用于独立系统和虚拟系统。

在 VirtualBox 中安装 Kali

Kali Linux 的创建者(Offensive Security)非常友好地简化了我们的生活,通过创建了一个预配置版本的 Kali,适用于 VirtualBox 和 VMware,需要最少的配置。这些预配置的映像甚至包括安装程序映像,包括 Kali Everything,都可以安装在虚拟平台上,并且在运行时与物理机器无异。将 Kali Linux 用作 VM 的优势在于,您无需购买任何新的或额外的硬件。您还可以非常轻松地删除和重新安装 VM,并且甚至可以在您配置完全符合期望的操作系统之后创建操作系统的快照,随时可以引导进入,如果您损坏了 Kali 机器并且需要恢复到保存的状态。

对于那些将 Kali 作为独立操作系统安装的人,您可以在安装 Kali 作为独立操作系统*部分中从可启动的 Kali 闪存驱动器启动后继续安装,因为安装 Kali Linux 安装程序的步骤在物理机和 VM 上完全相同。

在我们开始之前,请确保您已经下载了最新的稳定版本的 VirtualBox 和 VirtualBox 增强功能。如果没有,请访问www.virtualbox.org/wiki/Downloads。请下载并安装适当的 VirtualBox 平台包和 VirtualBox Oracle Extension Pack。我正在使用 Windows 10 主机,因此我将通过单击Windows hosts下载和安装适用于 Windows 的 VirtualBox 平台。

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_3.15_B19441.jpg

图 3.15:VirtualBox 网站下载页面

准备 Kali Linux VM

一旦下载了 VirtualBox,就可以安装它,然后配置以运行 Kali Linux 和许多其他操作系统,具体取决于可用的 RAM 量:

  1. 在设置新的客户操作系统或客户 VM 时,我们首先单击New,然后填写以下详细信息:

    • 名称Kali Linux 2022.3 Everything(或您选择的名称)

注意

对于此安装,我正在使用大型的 Kali Linux Everything ISO 版本,因为它安装了每个工具。您还可以使用 Kali Installer ISO,因为这两个版本的安装方法完全相同。

  • 机器文件夹:VM 的默认位置

  • 类型Linux

  • 版本Debian(64 位)

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_3.16_B19441.jpg

图 3.16:VirtualBox 名称和操作系统详细信息

  1. 然后点击下一步,进入内存大小滑块提示分配内存。在我的屏幕上,你会注意到我为虚拟机选择了 10 GB 的内存。我选择这个值是因为我总共有 32 GB 的内存。需要注意的是,在为虚拟机选择内存大小时,不能超过总内存的一半,也不能选择滑块窗口中显示为粉红色的值,因为这样可能导致宿主机和虚拟机不稳定或崩溃。我建议至少选择 4 GB 的内存,以确保在使用取证工具时流畅运行。

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_3.17_B19441.jpg

图 3.17:VirtualBox 内存分配

  1. 接下来,我们通过添加虚拟硬盘来创建虚拟机。我建议选择创建新的虚拟硬盘,这是选项中的第二个。点击创建继续:

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_3.18_B19441.jpg

图 3.18:VirtualBox 硬盘创建

  1. 然后选择VDI(VirtualBox 磁盘镜像)作为硬盘文件类型,并点击下一步

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_3.19_B19441.jpg

图 3.19:VirtualBox 硬盘文件类型选择

  1. 一旦选择了 VDI,选择动态分配选项,以便在需要时扩展虚拟硬盘:

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_3.20_B19441.jpg

图 3.20:VirtualBox 存储分配

  1. 在下一步中,我们选择虚拟硬盘的文件位置和大小。建议的 Kali Linux VDI 大小为 8 GB,但我为其分配了足够的32.00 GB。我还选择了 VDI 的位置为C:\Users\Administrator\VirtualBox VMs\Kali 2022.3 Everything\Kali 2022.3 Everything

  2. 选择位置后,点击创建完成虚拟硬盘的创建。

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_3.21_B19441.jpg

图 3.21:VirtualBox 存储分配大小

现在,我们已经在 VirtualBox 中设置好了 Kali Linux ISO 镜像,可以开始安装过程,具体步骤将在下一节中进行。

在虚拟机上安装 Kali Linux

一旦按照前一节的步骤准备好并完成虚拟硬盘的创建,我们就可以开始 Kali Linux 的安装过程。在Oracle VM VirtualBox 管理器窗口中,这是 VirtualBox 的主要操作系统管理窗口,我们可以看到虚拟机已准备就绪,现在可以安装 Kali Linux:

  1. 在屏幕右侧,你可以看到分配的资源,如名称操作系统类型,在常规部分,以及在系统部分分配的内存量。其他设置,如视频内存VRAM)、网络显示设置,也可以在这一部分中进行访问。

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_3.22_B19441.jpg

图 3.22:VirtualBox 管理器

  1. 要开始 Kali Linux 的安装,点击左侧的Kali 2022.3 Everything条目,然后点击右上角选择启动磁盘部分中的绿色开始箭头,如下图所示。

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_3.23_B19441.jpg

图 3.23:启动磁盘选择

  1. 在下一步中,找到我们从 Offensive Security 网站下载的 Kali Linux Everything ISO 镜像。点击浏览文件夹图标,进入光盘选择器,然后点击框左上角的添加图标。

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_3.24_B19441.jpg

图 3.24:光盘选择字段

  1. 找到你之前下载的Kali-linux-2022.3-installer-everything-amd64.iso文件,点击它,然后点击打开按钮,以便在光盘选择器中看到该 ISO 作为条目列出。

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_3.25_B19441.jpg

图 3.25:选择 Kali ISO

  1. 点击选择按钮继续,然后在选择启动磁盘框中点击启动按钮,选择Kali-linux-2022.3-installer-everything-amd64.iso文件,如下图所示。

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_3.26_B19441.jpg

图 3.26:选择 Kali ISO 作为启动镜像

现在你应该看到 Kali Linux 安装程序界面和菜单选项,这些选项在上一节中也有出现:将 Kali Linux 安装为 独立操作系统

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_3.27_B19441.jpg

图 3.27:VirtualBox 中的 Kali 启动菜单

重要提示

对于那些将 Kali Linux 安装为独立操作系统的用户,你也可以按照安装和配置 Kali Linux部分的步骤进行操作,因为这些步骤对于物理安装和虚拟安装完全相同。

我们已经完成了 Kali Linux 的配置,并准备好在独立和虚拟安装环境中进行安装。在下一节中,我们将学习如何安装和配置 Kali。

安装和配置 Kali Linux 作为虚拟机或独立操作系统

现在我们已经进入 Kali Linux 安装界面,可以按照以下步骤进行操作,无论是安装和配置 Kali 为虚拟机还是独立操作系统,步骤都是相同的:

  1. 要开始安装,选择图形安装选项并按下Enter键。无论是将 Kali Linux 安装为独立系统还是虚拟机,你都会看到与下图相同的选项。

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_3.28_B19441.jpg

图 3.28:Kali 启动菜单中的图形安装选项

  1. 接下来,选择你的语言并点击继续

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_3.29_B19441.jpg

图 3.29:Kali 语言选择菜单

  1. 选择您的国家或地区,点击继续

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_3.30_B19441.jpg

图 3.30: 国家选择菜单

  1. 选择您的键盘配置,然后点击继续

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_3.31_B19441.jpg

图 3.31: 语言选择菜单

  1. 为您的系统设置主机名,或者保留默认名称kali

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_3.32_B19441.jpg

图 3.32: 为 Kali 系统分配主机名

  1. 如果机器将加入一个域,您可以在此输入域名,若不加入域,则可以留空,点击继续

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_3.33_B19441.jpg

图 3.33: 配置网络

  1. 接下来,我们将创建一个非 root 用户账户,该账户没有 root 或管理员权限。请确保使用小写字母作为用户名。

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_3.34_B19441.jpg

图 3.34: 创建用户名

  1. 接下来,创建一个安全且复杂的密码,然后点击继续

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_3.35_B19441.jpg

图 3.35: 创建密码

  1. 选择您的时区,然后点击继续

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_3.36_B19441.jpg

图 3.36: 时区配置

  1. 现在我们的个性化设置已经配置好,接下来让我们为安装准备硬盘。为了简化安装,我建议将整个硬盘用于 Kali,无论是虚拟硬盘还是物理硬盘。为此,选择引导 – 使用整个磁盘选项,点击继续

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_3.37_B19441.jpg

图 3.37: 磁盘分区选项

  1. 选择安装的磁盘,在我的例子中是一个 34.4 GB 的虚拟硬盘,点击继续

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_3.38_B19441.jpg

图 3.38: 磁盘分区选择

  1. 为了简化操作,我建议将所有文件保存在一个分区中。选择所有文件都在一个分区(推荐给新用户)选项,并点击继续

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_3.39_B19441.jpg

图 3.39: 文件分区

  1. 审核您的磁盘分区设置,并选择完成分区并将更改写入磁盘选项,点击继续

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_3.40_B19441.jpg

图 3.40: 将更改写入磁盘

  1. 若要确认分区和格式化设置并开始将更改写入磁盘,选择按钮,点击继续

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_3.41_B19441.jpg

图 3.41: 完成分区过程

分区和格式化将开始,安装过程将继续,接下来将提取所需的安装包。

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_3.42_B19441.jpg

图 3.42:基础系统安装过程

  1. 现在我们可以选择各种软件包和软件库自动添加到 Kali 中。我选择了在我的安装中包含所有工具和支持软件包,除了GNOMEKDE Plasma选项,因为我更喜欢带有所有可能工具的典型 Kali Linux 界面。

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_3.43_B19441.jpg

图 3.43:附加软件选择

  1. 一旦选择了所需的软件,点击继续继续安装。此过程将花费一些时间。与此同时,您可以浏览其他精彩的数字取证书籍,访问 subscription.packtpub.com/search?category=Security&concept=Forensics&_ga=2.265355399.920003428.1665758595-170131085.1665758595

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_3.44_B19441.jpg

图 3.44:软件安装状态

  1. 接下来,您可以选择显示管理器,或者如果不熟悉设置,可以保留默认的gdm3选项。

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_3.45_B19441.jpg

图 3.45:图形显示管理器选择

安装将按照状态栏显示的方式继续进行。

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_3.46_B19441.jpg

图 3.46:软件安装进度条

  1. 只剩下几步,我们就完成了。接下来我们将安装 GRUB 启动加载器,它将允许 Kali 作为主操作系统从主硬盘启动。选择并点击继续

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_3.47_B19441.jpg

图 3.47:GRUB 启动加载器选择

  1. 对于我们的最终配置,我们需要通过在磁盘上安装启动加载器来使系统能够启动。选择安装了 Kali 的磁盘(如果默认未选择,请手动选择),然后点击继续

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_3.48_B19441.jpg

图 3.48:GRUB 启动加载器安装

  1. 我们的安装即将完成。

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_3.49_B19441.jpg

图 3.49:Kali 安装过程状态

  1. 当系统提示时,点击继续以完成安装并重启系统。

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_3.50_B19441.jpg

图 3.50:Kali 安装完成屏幕

  1. 输入您的用户名和密码。

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_3.51_B19441.jpg

图 3.51:Kali Linux 登录屏幕

现在,我们已经完成了在独立设备和虚拟机上安装和配置 Kali Linux 的过程。还有其他安装 Kali Linux 的方法,我们将在下一章中学习。我还想展示一种更简单的方法,在 VirtualBox 中安装预配置版本的 Kali Linux。

总结

本章我们确实学到了不少内容。如果需要,随时可以擦除或删除你的安装,并重新尝试,以便更熟悉不同版本的安装过程。

在本章中,我们了解了 Kali Linux 的不同版本以及它们可以安装的各种平台,并探讨了下载不同版本 Kali Linux 的不同方法。然后,我们进入了技术层面,首先学习了如何使用 Rufus 和 Kali Linux 的 ISO 镜像创建可启动的 Kali Linux 闪存驱动器,而该 ISO 镜像是我们在本章开始时下载的。接着,我们学习了如何在物理设备上安装 Kali Linux 作为独立操作系统,并学习了如何在 VirtualBox 中作为虚拟机安装 Kali。

在我们的下一章中,我们将探索另一种安装 Kali 作为虚拟机的方法,并学习如何在 Raspberry Pi 4 上安装 Kali,接着进行一些安装后的任务。下章见。

第四章:其他 Kali 安装和后安装任务

在上一章中,我们学习了如何将 Kali Linux 安装为独立操作系统,并且如何在 VirtualBox 中安装 Kali。 本章将继续介绍另外两种 Kali Linux 安装方法,这些方法可以被认为是更简单和更快速的安装,但我会让你来判断。 然后我们将执行一些常见的后安装任务,以确保我们拥有一个完全更新且功能正常的 Kali Linux 版本,用于我们的数字取证与事件响应DFIR)调查,无论选择哪种平台进行安装。

本章我们将涵盖的主题如下:

  • 在 VirtualBox 中安装预配置版本的 Kali Linux

  • 在 Raspberry Pi 4 上安装 Kali Linux

  • 更新 Kali Linux

  • 启用 root 用户账户

  • 将 Kali Linux 取证库添加到安装中

在 VirtualBox 中安装预配置版本的 Kali Linux

通过使用专为 VirtualBox 构建的预配置 Kali 版本,Kali 也可以通过更简单的方法安装在 VirtualBox 中:

  1. 如果你还没有在第三章《安装 Kali Linux》中下载 Kali VirtualBox 镜像,你可以在 kali.download/virtual-images/kali-2022.3/kali-linux-2022.3-vmware-amd64.7z 下载。

  2. 你必须使用 7Zip 解压镜像,7Zip 可从 Windows 下载,网址为 www.7-zip.org/a/7z2201-x64.exe

一旦解压,你应该能看到以下截图所示的相同文件。

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_4.01_B19441.jpg

图 4.1 – 显示预配置的 Kali 镜像的下载文件夹

  1. 双击 .vbox 文件(大小为 3 KB),它应该会立即在 VirtualBox 中打开。

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_4.02_B19441.jpg

图 4.2 – VirtualBox 管理器

  1. 点击 VirtualBox Manager 窗口顶部的 设置 图标。

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_4.03_B19441.jpg

图 4.3 – Kali 虚拟机的预配置设置

  1. 点击 系统,使用滑块来分配 基础内存 大小。 完成后,点击 确定

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_4.04_B19441.jpg

图 4.4 – 在 VirtualBox 中分配内存

  1. 要启动虚拟机,请点击 Virtual Manager 窗口顶部的绿色启动按钮。

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_4.05_B19441.jpg

图 4.5 – VirtualBox 启动按钮

  1. 使用以下凭证登录(所有字母均为小写):

    • 用户名:kali

    • 密码:kali

我们已经介绍了三种安装 Kali Linux 的方法。我相信你会发现这一种比其他的要简单得多。接下来,我们将讨论在便携式 Raspberry Pi 4 上的另一种安装方式。

在 Raspberry Pi4 上安装 Kali Linux

Raspberry Pi 4,也称为 Pi 4,是一款低功耗、小巧、便携且强大的设备,可用于个人、企业甚至操作技术OT)用途,正如本章前面提到的那样。在 Pi 4 上运行 Kali 非常有用,因为它非常强大,配备了 USB 3.0 端口、RJ-45 网络端口、双 mini-HDMI 端口、Wi-Fi、蓝牙以及最多 8 GB 的内存,并且可以通过可启动的 microSD 卡在几步之内启动 Kali。你可以在 www.raspberrypi.com/products/raspberry-pi-4-model-b/ 上了解更多关于 Pi 4 的信息。

按照以下步骤将 Kali 安装到 Pi 4(甚至是较旧的 Pi 2、3 和 400)上:

  1. 要在 Pi 4(甚至是较旧的 Pi 2、3 和 400)上安装 Kali,我们需要 Pi Imager 软件。可以从www.raspberrypi.com/software/ 下载该软件,支持 Windows、Mac 和 Ubuntu(x86)设备。Pi Imager 将允许我们在 microSD 卡上安装 Kali Linux ARM 版本,从而在我们的 Pi 4 上运行。我还建议使用 32 GB 或更大容量的 microSD 卡,以确保你有足够的空间进行升级和下载 Kali 中的附加工具。

  2. 下载完成 Pi Imager 后,将 microSD 卡插入你的笔记本电脑或台式机,无论是直接插入还是通过读卡器插入,然后启动 Pi Imager。

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_4.06_B19441.jpg

图 4.6 – Raspberry Pi Imager 界面

  1. 点击选择存储设备,然后选择你的 microSD 卡。

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_4.07_B19441.jpg

图 4.7 – Pi Imager 存储选择

  1. 接下来,点击选择操作系统按钮,然后选择其他特定用途 操作系统选项。

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_4.08_B19441.jpg

图 4.7 – 操作系统选择

  1. 现在你应该能看到Kali Linux选项,如下图所示。

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_4.09_B19441.jpg

图 4.8 – 选择 Kali Linux 选项

  1. 现在,你将看到不同 Raspberry Pi 设备上可用的 Kali 版本。你可以根据你手头的设备选择对应的版本。

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_4.10_B19441.jpg

图 4.9 – 可用的 Kali Linux 版本

  1. 选择完成后,你将返回主界面。点击写入选项将 Kali 安装到 microSD 卡上。

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_4.11_B19441.jpg

图 4.10 – 最终的 Pi Imager 配置

  1. 然后会提示你继续。点击以继续。

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_4.12_B19441.jpg

图 4.11 – 数据擦除确认

写入过程现在开始。

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_4.13_B19441.jpg

图 4.12 – 将 Kali 写入 SD 卡

  1. 一旦过程完成,将 microSD 卡从计算机或读卡器中取出,并小心地插入到您的 Raspberry Pi 设备中,设备应处于关闭状态,以避免卡片损坏。然后开启 Pi,Kali 将启动。再次提醒,默认的用户名和密码均为 kali(小写)。

这部分结束了在各种平台上安装 Kali Linux 的不同方式。在我们使用 Kali 之前,我们应该始终更新我们的工具,接下来的章节中我将演示如何操作。

更新 Kali

现在我们已经了解了在各种平台上安装 Kali Linux 的多种方式,接下来让我们来看看 Kali Linux 系统启动后的一些重要后安装任务:

  1. 要查看我们 Kali 系统的版本安装详情,让我们运行以下命令:

    cat /etc/os-release
    

在以下截图中,我们可以看到命令的输出展示了名称、版本、代号以及更多的详细信息,供验证使用。

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_4.14_B19441.jpg

图 4.13 – cat 命令输出

  1. 我们还应该在安装后始终更新我们的 Kali 系统,以确保拥有当前版本的工具和支持软件。

要更新 Kali Linux,请输入并运行以下命令:

sudo apt update

在以下截图中,已经安装了一些更新,最后一行显示有 674 个软件包可以升级:

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_4.15_B19441.jpg

图 4.14 – 更新 Kali Linux

  1. 输入并运行以下命令查看可升级的软件包列表:

    apt list –upgradable
    

在以下截图中,我们可以看到命令正在执行。升级所有组件可能需要一些时间。

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_4.16_B19441.jpg

图 4.15 – apt list --upgradable 命令输出

  1. 输入并运行以下命令,允许 Kali 升级所有之前的软件和包,而不需要确认:

    sudo apt upgrade –y
    

以下截图展示了命令的执行与输出。

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_4.17_B19441.jpg

图 4.16 – 升级 Kali Linux

请注意,这个升级过程可能需要一些时间才能完成。

  1. 现在,我们可以通过输入以下命令重启 Kali,完成整个过程:

    sudo reboot
    

以下截图展示了命令的执行与输出。

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_4.18_B19441.jpg

图 4.17 – 重启 Kali Linux

在更新和升级了 Kali Linux 安装后,我们现在可以继续进行其他任务。接下来,我们将学习如何启用 root 用户账户。

启用 Kali 中的 root 用户账户

现在,所有的更新和升级都已完成,让我们来看一下如何在 Kali Linux 中启用 root 用户账户。你可能已经注意到,某些版本的 Kali 在安装时允许使用 Kali 默认的用户名和密码进行访问。这是作为一种安全功能,以防止意外更改配置或工具。如果我们希望使用 root 或管理员权限来执行命令或进行其他任务,必须在相应命令前输入 sudo

Sudo 是 superuser do 的缩写,它允许我们以超级用户的身份运行命令和工具,超级用户拥有最高权限,通常被称为 root 权限。有时候,在命令前输入它可能有些麻烦,但过一段时间之后这会变成习惯。

然而,如果你是 Kali 或基于 Linux 的操作系统新手,我建议你使用默认配置并在必要时输入 sudo,但最终选择权在于你。

启用 root 账户非常简单,几步就能完成:

  1. 首先,如果 Kali 系统没有启动,请启动你的 Kali 机器,并使用你创建的用户名和密码登录,或者使用提供的默认凭证——用户名:kali,密码:kali

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_4.19_B19441.jpg

图 4.18 – Kali Linux 登录界面

  1. 点击顶部的终端图标以打开一个新的终端。

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_4.20_B19441.jpg

图 4.19 – Kali Linux 桌面,终端快捷方式被圈出

  1. 在新的终端中,注意提示符显示为**(kali@kali)**。输入以下命令以访问超级用户账户并按 Enter。随后,你还需要输入密码——sudo su

以下截图展示了命令的执行和输出。

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_4.21_B19441.jpg

图 4.20 – sudo su 输出

注意

在 Kali Linux 中,输入密码时不会在屏幕上显示。

在前面的截图中,注意到提示符已经更改为 (root@Kali)。现在我们通过输入以下命令来更改 root 账户的密码。

  1. 然后系统会提示你输入并重新输入新密码——passwd root

以下截图展示了命令的执行和输出。

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_4.22_B19441.jpg

图 4.21 – 为 root 账户创建密码

  1. 成功!我们现在可以注销当前用户并重新登录,或者通过点击屏幕右上角的电源按钮图标,然后选择 注销切换用户 来直接切换到 root 用户,如下图所示。

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_4.23_B19441.jpg

图 4.22 – Kali Linux 的电源和用户选项

使用用户名root和你刚刚为账户创建的密码进行登录。

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_4.24_B19441.jpg

图 4.23 – Kali Linux 登录屏幕

  1. 再次点击终端账户,你会注意到提示符现在是**(root@kali)**,如图所示。

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_4.25_B19441.jpg

图 4.24 – 显示 root 用户账户的终端

现在我们已经在 Kali 上启用了 root 用户账户,本章的最后一项任务是通过使用取证元包添加额外的取证工具。

添加 Kali Linux 取证元包

Kali 元包是可以作为完整包下载的工具集合。根据你安装的 Kali 版本,可能没有包含你预期的或在工具列表页面上看到的所有工具,页面地址为www.kali.org/tools/all-tools/,该页面列出了 Kali Linux 中所有可用的工具。例如,对于我们的 DFIR 目的,你可以在www.kali.org/tools/kali-meta/#kali-tools-forensics查看所有取证工具的列表,你可以点击Dependencies部分中的下拉箭头来查看所有工具的列表。

所有前面提到的工具都包含在kali-tools-forensics元包中,可以通过输入以下命令进行安装:

sudo apt install kali-tools-forensics

以下截图展示了该命令的执行过程和输出结果。

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_4.26_B19441.jpg

图 4.25 – 安装取证元包

注意

在安装任何元包之前,你应该像之前一样,使用sudo apt update命令更新你的 Kali Linux。

这将安装 Kali Linux 中所有列出的取证工具,如前面的截图所示。你可以通过在 Kali 主菜单中点击Applications | 11-Forensics来查看一些取证工具。

总结

在本章中,我们学到了通过使用为 VirtualBox 专门设计的预配置 Kali 版本,可以以更简单和更快捷的方式安装 Kali Linux。只需几个点击和调整,我们就完成了安装。我们还学会了如何在 Raspberry Pi 设备上安装 Kali,这在需要便携性时非常有用,只需使用 Pi Imager 工具将 Kali 安装到 microSD 卡上即可。

接着,我们查看了一些非常重要的安装后任务,这些任务应该在任何安装后执行。我们学会了如何查找 Kali Linux 的版本,然后更新甚至升级 Kali 中的所有软件和包。最后,在本章中,我们学习了如何启用 root 账户,以避免在执行需要超级用户权限的操作时使用sudo命令。我们还学会了如何通过添加kali-tools-forensics元包来安装所有取证工具。

现在我们已经安装了不同版本的 Kali 并更新了系统,接下来我们将介绍一个非常有用的工具,叫做 Wine,它允许我们在 Kali Linux 系统上运行 Windows 工具。如果你问我,这可真是很酷的东西。下章见!

第五章:在 Kali Linux 中安装 Wine

在本章中,我们将学习如何通过在 Kali 中使用 Wine 安装 Windows 工具来扩展 Kali Linux 环境的功能。

本章我们将讨论以下主题:

  • Wine 是什么以及在 Kali Linux 中使用它的优势

  • 安装 Wine

  • 测试我们的 Wine 安装

让我们开始了解 Wine 及其优势。

Wine 是什么以及在 Kali Linux 中使用它的优势

Wine通常被误称为Windows 模拟器,但正如官方网站所述,Wine 最初被称为Wine Is Not an Emulator,因此得名缩写 Wine。Wine 允许非 Windows 用户在符合便携式操作系统接口POSIX)的系统上运行某些 Windows 应用程序,包括 macOS 以及 Linux 和 BSD 的各个版本,包括 Kali Linux。

对于我们的数字取证与事件响应DFIR)工作,这非常有用,因为我们现在可以在 Kali Linux 系统上使用许多专为 Windows 制作的行业标准工具,无论是将其作为独立操作系统使用还是作为虚拟机使用。这也解决了需要购买 Windows 许可证的问题,因为我们不必使用运行 Windows 的设备。当考虑到在 Kali Linux 上运行所有 DFIR 工具时,您现在可以使用更少的硬件,这些节省的成本也得到了延伸。

通过在 Kali Linux 安装 Wine,我们不仅可以从 DFIR 的角度获得优势,还可以从紫队(Purple Teaming)的角度获得优势,因为我们还可以在 Kali 机器上安装许多用于 Windows 的红队工具。从个人经验来看,我总是为 DFIR 练习和调查使用两台笔记本电脑,一台运行基于 Linux 的操作系统,如 Kali Linux、CSI Linux 和 Ubuntu,另一台运行 Windows 10。我几乎每次进行 DFIR 练习和调查时使用的一些非常重要的 Windows 应用程序是 Belkasoft RAM Capturer、FTK Imager 和 Autopsy 4 GUI图形用户界面)。这些工具在社区中得到了广泛应用,因为它们功能强大且相对易于使用。通过在我的 Kali Linux 及其他基于 Linux 的系统上安装 Wine,我现在可以使用一台机器完成所有任务,这节省了时间、精力和成本。

在本章接下来的部分中,我们将通过终端手动安装 Wine,然后安装 Google Chrome 浏览器进行测试,以确保我们的 Wine 安装成功。在后续章节中,我们还将在 Kali Linux 中使用 Wine 安装 Belkasoft RAM Capturer、FTK Imager 和 Autopsy 4,用于 DFIR 工作。更多关于 Wine 的信息可以在官方网站找到:www.winehq.org/

安装 Wine

安装 Wine 需要我们按精确的顺序运行几个命令。虽然我确信许多使用的命令对你们中的许多人来说是新的,但我已经在以下步骤中列出了确切的操作:

  1. 在继续操作之前,请确保你已连接到互联网。

首先,我们通过打开一个新的终端并输入以下命令,然后按下 Enter 键来下载 Wine:

sudo dpkg --add-architecture i386

在以下截图中,我们添加了 32 位架构:

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_5.01_B19441.jpg

图 5.1: 运行 sudo dpkg –add-architecture i386 命令

  1. 接下来,我们需要通过输入以下命令来下载 wine 密钥:

    wget nc https://dl.winehq.org/wine-builds/winehq.key
    

以下截图展示了前述命令的输出:

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_5.02_B19441.jpg

图 5.2: 在终端中安装 Wine

  1. 一旦密钥下载完成,我们可以通过输入以下命令将其添加到 /usr/share/keyrings/winehq-archive.key

    sudo mv winehq.key /usr/share/keyrings/winehq-archive.key
    

以下截图展示了前述命令的输出:

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_5.03_B19441.jpg

图 5.3: 添加密钥环

  1. 接下来,我们通过输入以下命令下载 Wine 源文件

    wget –nc https://dl.winehq.org/wine-builds/debian/dists/bullseye/winehq-bullseye.sources
    

以下截图展示了前述命令的输出:

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_5.04_B19441.jpg

图 5.4: 下载所需的 Wine 源文件

  1. 一旦我们的 源文件 成功下载并保存,我们可以通过输入以下命令将其添加到源列表中:

    sudo mv winehq-bullseye.sources /etc/apt/sources.list.d/
    

以下截图展示了前述命令的输出:

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_5.05_B19441.jpg

图 5.5: 将源文件添加到源列表

  1. 我们现在通过输入以下命令来添加 Debian 仓库,以确保安装顺利进行:

    echo "deb http://ftp.us.debian.org/debian bullseye main " | sudo tee -a /etc/apt/sources.list
    

以下截图展示了前述命令的输出:

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_5.06_B19441.jpg

图 5.6: 添加 Debian 仓库

  1. 一旦你的终端显示如下截图,你可以通过输入 sudo apt update 命令来检查是否有任何新的更新。正如以下截图所示,我的安装有许多更新:

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_5.07_B19441.jpg

图 5.7: 更新 Kali

  1. 一旦所有更新完成,我们可以使用以下命令下载最新的稳定版本的 Wine:

    sudo apt install --install-recommends winehq-stable
    

以下截图展示了前述命令的输出:

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_5.08_B19441.jpg

图 5.8: 安装最新的稳定版本 Wine

注意

当提示时,你将被要求输入密码并按 Y 键确认继续安装。由于文件较大,安装可能需要几分钟时间。

  1. 一切顺利,所有必要的文件和软件包下载并安装完成后,我们可以通过运行以下命令来验证已安装的 Wine 版本:

    wine --version
    

以下截图显示了前述命令的输出:

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_5.09_B19441.jpg

图 5.9:验证已安装 Wine 的版本

配置我们的 Wine 安装

在继续进行 Wine 图形化安装和配置之前,我们在终端中的最后一步是运行 winecfg 命令:

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_5.10_B19441.jpg

图 5.10:运行 winecfg 命令启动 Wine

一切设置完毕后,Wine Mono 安装程序 窗口会弹出,询问我们是否安装 Microsoft .NET Framework,这是 Windows 应用程序正常运行所需的,然后按照以下步骤进行配置并完成安装:

  1. 点击 安装 按钮。

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_5.11_B19441.jpg

图 5.11:安装 Wine Mono

  1. 然后,Wine Mono 将开始下载并安装。

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_5.12_B19441.jpg

图 5.12:Wine Mono 安装状态条

  1. Wine 配置 框中,你还可以选择希望在 Kali Linux 系统上模拟的 Microsoft Windows 版本。

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_5.13_B19441.jpg

图 5.13:配置 Wine

  1. 在此实例中,我们可以看到默认选择了 Windows 7。要将此设置更改为其他 Windows 版本,请点击 Windows 版本右侧的下拉箭头,并选择你想要的操作系统,如下所示:

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_5.14_B19441.jpg

图 5.14:选择 Windows 操作系统

我选择了 Windows 10 作为我的操作系统,因为我们将要安装的所有 Windows DFIR 应用程序都运行在 Windows 10 上。

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_5.15_B19441.jpg

图 5.15:选择 Windows 10

  1. 点击 应用 以继续,然后在 关于 标签中输入 所有者组织 的详细信息,如下所示,然后点击 应用确定 完成 Wine 配置。

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_5.16_B19441.jpg

图 5.16:Wine 配置完成

现在我们已经完成了安装 Wine 的所有步骤,接下来我们需要安装一个 Windows 程序作为测试,我们将在下一节中进行此操作。

测试我们的 Wine 安装

做得好,成功到达这里。为了测试我们的安装,让我们尝试在 Kali Linux 系统中使用 Wine 安装一个文件恢复工具,名为 Recuva。Recuva 是一款非常受欢迎的工具,提供免费和付费版本。让我们开始下载和安装:

  1. 你可以在 www.ccleaner.com/recuva/download 下载免费版本,它仅允许用户执行高级文件恢复。在本文写作时,该文件也可以直接从 www.ccleaner.com/recuva/download/standard 下载。

  2. 无论你选择哪种下载方式,请确保点击 FREE RECUVA 选项。

文件名将显示为 rcsetup153.exe,这表明它是一个 Windows 可执行文件,具体如以下截图所示:

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_5.18_B19441.jpg

图 5.17: Recuva 安装文件下载

  1. 点击文件下载右侧的文件夹图标,或导航至 Downloads 文件夹,我们应该能找到下载的 Recuva 文件(rcsetup153.3xe)。

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_5.19_B19441.jpg

图 5.18: Recuva 安装文件在下载文件夹中的位置

  1. 从这里安装 Recuva 非常简单。双击 rcsetup153.exe 文件,它会打开安装程序,就像在 Windows 机器上一样,具体如下图所示。

  2. 或者,你也可以右键点击该文件并选择 Open With Wine Windows Program Loader

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_5.20_B19441.jpg

图 5.19: Recuva 安装界面

  1. 点击 Install 按钮继续并在 Kali Linux 中安装 Recuva。

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_5.21_B19441.jpg

图 5.20: Recuva 安装完成界面

  1. 安装完成后,你可以取消选中 View release notes 框,然后点击 Run Recuva 按钮启动 Recuva。

安装完成后,你应该会在 Kali Linux 桌面上看到 Recuva 图标,类似于以下截图所示。

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_5.22_B19441.jpg

图 5.21: Recuva 桌面快捷方式

  1. 点击 Next 按钮关闭安装屏幕。请注意,以下截图中屏幕的左上角有一个酒杯图标,表示 Recuva 正在通过 Wine 安装。

  2. 虽然我们将在后续章节中查看如何使用 Recuva,但你可以先运行 Recuva 作为最终测试,以确保程序和 Wine 都已成功安装。

  3. 当你看到以下截图时,意味着 Wine 和 Recuva 都已成功安装:

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_5.23_B19441.jpg

图 5.22: Recuva 扫描配置界面

此时,你可以点击 Cancel 按钮取消运行 Recuva,因为我们将在 第九章 中配置并运行 Recuva,文件恢复与数据雕刻工具,届时我们将讨论 文件恢复数据雕刻 工具。

现在我们可以将我们的 Wine 安装和配置视为成功,因为我们能够在 Kali Linux 中安装并运行为 Windows 构建的 Recuva 工具。

总结

在这一章中,我们了解了 Wine 以及使用该软件进行 DFIR 目的的一些巨大优势。我们还学习了如何通过 Kali Linux 中的终端安装最新的稳定版 Wine,这使我们能够在 Kali Linux 系统中运行 Windows 应用程序,以及 Windows 运行程序和应用所需的 Microsoft .NET Framework。我们还探讨了如何在 Wine 模拟的 Windows 操作系统之间进行选择,因为某些程序可能只在新版 Windows 上运行。最后,我们通过下载专为 Windows 构建的 Recuva 文件恢复工具并在 Kali 系统上安装 Recuva,测试了我们的 Wine 安装。

在我们继续探索 Recuva 的激动人心之旅之前,我们将首先了解一些有关文件系统的基本知识,这将涵盖文件恢复所需的基础和背景知识。下章见!

第二部分:数字取证与事件响应基础与最佳实践

在本节中,你将了解数字取证与事件响应DFIR)的过程和进行调查的最佳实践,包括易失性顺序、保管链、证据获取以及其他事件处理程序,以便能够按照国际最佳实践进行独立调查。

本部分包含以下章节:

  • 第六章理解文件系统和存储

  • 第七章事件响应、数据获取和 DFIR 框架

第六章:理解文件系统和存储

要成为数字取证调查员,不仅仅需要技术知识。在案件本身,还需要大量的研究、流程和分析。想象一种情景,你需要建造一座房子。当然,我们需要木材、钉子、水泥、金属、玻璃以及所有其他原材料,但我们还需要熟练的工人和承包商来建造并将其组装起来。除了材料、工具和资源外,我们还必须进行研究,以确保我们理解对于这个项目成功所需的一切。

例如,我们必须获得建筑许可证、进行土壤分析、考虑天气,然后根据天气、位置、土壤类型等选择特定类型的材料。毫无疑问,必须对领域中的基本概念有所了解,以有效地执行任务。同样,我们需要了解文件系统、操作系统(OSs)、数据类型、位置,以及保存数据、存储介质和一般证据的方法和程序的彻底理解。

在本章中,我们将学习以下主题:

  • 存储媒体的历史

  • 文件系统和操作系统

  • 数据类型和状态

  • 描述易失性和非易失性数据以及其顺序

  • RAM、分页文件和 DFIR 中缓存的重要性

存储媒体的历史和类型

任何调查的目标都是证明某件事之前是否存在、当前是否存在或已发生。在笔记本电脑、台式机、移动设备和智能设备中,数据必须存储在某个地方,即使只是暂时性的。大多数人可能熟悉笔记本电脑、台式机、移动设备等中的硬盘驱动器(HDDs),但我们还需要关注无论年龄多大都可能在使用的可移动和便携式存储设备。这些包括 DVD、便携式驱动器、拇指或闪存驱动器、安全数字(SD)和 MicroSD 卡,以及诸如 CD 和软盘等旧媒体以及许多其他媒体类型。

我们还应考虑许多便携式存储设备(如闪存驱动器),作为新颖物品,它们具有许多有趣的形状和尺寸,可能不像普通的矩形驱动器那样普通。另一个需要考虑的问题是,随着技术的发展,许多这些存储介质设备的尺寸已经发生了变化,可能更小了。

IBM 和存储媒体的历史

提及硬盘驱动器和存储介质的历史时,不得不提及三个字母:IBM。我们都熟悉这个著名的科技巨头,但我们可能不熟悉它的一些伟大成就。

国际商业机器公司IBM)已经存在了相当长的时间。早在 20 世纪初,IBM 还以计算-制表-记录CTR)公司的名字为人们熟知,IBM 更为人们熟知的是其创造了第一台硬盘、第一台个人计算机,以及它的服务器、台式机和笔记本电脑。

在 1956 到 1957 年间,IBM 通过开发和发布 305 随机访问会计与控制方法RAMAC)取得了重大进展,RAMAC 采用了第一代磁盘存储技术。这项革命性的技术的重量大约为一吨,尺寸约为 16 平方英尺。然而,这个庞然大物的磁盘存储容量仅为 5 MB(是的,我说的是兆字节)。

尽管按照今天的标准,5 MB 大约是用移动设备拍摄的高清照片的大小,但考虑到所有因素,这对于当时来说无疑是一个划时代的成就。在 IBM 的发明之前,数据是存储在打孔卡上,可能需要数百万张卡片才能存储几兆字节的数据。

当时引入这种数字存储技术面临的一个主要问题是设备的体积。运输这些设备时,飞机和卡车可能都无法使用,存储空间也会成为问题。

随着技术的进步,IBM 在 1975 年发布了一款更便携的计算机——IBM 5100 便携式计算机。到了 1980 年代,特别是 1981 年,我们见证了 IBM 个人计算机的诞生。它比前代产品轻巧得多,而且价格也更加实惠,介于 8,000 到 20,000 美元之间。

直到 1981 年 IBM 发布了第一台个人计算机,计算机的便携性才成为现实。这台个人计算机的售价为 1,565 美元,配有键盘和鼠标,还可以选择显示器、打印机和软盘驱动器。除了软盘驱动器之外,这几乎就是今天个人计算机的标准配置。

随着这种新型、更加便捷的技术的问世,数据存储介质也随着时间推移不断改进,从磁带存储到软盘、光盘、DVD、蓝光光盘,以及当然的机械硬盘和固态硬盘SSD)。

可移动存储介质

继续我们的存储介质话题,我首先想讨论一下可移动存储介质,因为它在今天的世界中与固定存储介质一样,扮演了同样重要的角色。

磁带驱动器

磁带是 IBM 在 1950 年代推出的一种非常快速且便捷的存储数据的方式,数据的存取速度与其处理速度相当。IBM 726 磁带读取机和录音机是第一批提供这种存储方式的设备之一,其磁带密度为每英寸 100 位。磁带的一英寸长度可以帮助你了解磁带的尺寸,它缠绕在一个大轮盘上,类似于老式的电影胶片。

使用磁带媒介时,数据是沿着磁涂层塑料带的宽度写入的,帧之间有间隙,间隙由区块组成。磁带仍然在今天广泛使用,像许多其他存储媒介类型一样,磁带的尺寸大幅减小,而容量和速度却大幅增加。

为了让大家了解磁带存储技术到 2017 年已经发展到什么程度,IBM 开发了更新的磁带存储媒介,其磁带密度为每英寸 200 千兆位每秒Gps),单个磁带盒可以记录高达 333 千兆字节GB)的数据。这些磁带盒(对于像我这样的老年人来说)大小类似于卡带(对于年轻人来说),比普通智能手机稍小,可以握在手中。

软盘

软盘由 IBM 再次推出,并与其软盘驱动器一起在 1971 年首次亮相。尽管当时的主机计算机已经有硬盘和磁带存储媒介,但仍然需要一种简单且更便宜的方式来保存和传递软件与指令,这之前是通过更慢的打孔卡完成的。

软盘的核心是一个小型磁性盘片,虽然比当时的磁带存储和硬盘驱动器(HDD)更为便携,但存储容量远低于我们提到的其他媒介。

软盘的演变

这是软盘在尺寸和容量上随时间演变的过程:

  • 尺寸:8 英寸

    • 推出年份:1971 年

    • 最大容量:80 千字节KB

  • 尺寸:5.25 英寸

    • 推出年份:1976 年

    • 最大容量:360 KB

  • 尺寸:3.5 英寸

    • 推出年份:1984 年

    • 最大容量:1.2 兆字节MB

注意

1986 年,软盘的容量增加到 1.44 MB,并保持这一容量,直到 2011 年由索尼(软盘的最后制造商)停产。

光学存储媒介

光学存储媒介之所以得名,是因为数据是通过不同类型的激光写入光盘表面的各种媒介类型。

尽管在没有默认标签的情况下,可能很难区分各种光盘,但它们由于用于写入数据的激光大小不同,在颜色和色调上有些许差异。

光盘

光盘CDs)由坑和凸起组成,这些坑和凸起在光盘的底面上可见,涂有一层薄薄的铝层,形成反射表面。数据是以同心圆的形式写入,并进一步分割为每个 512 字节的扇区,每个扇区称为光盘上的轨道,从光盘的内圈到外圈(或边缘):

  • 直径:120 毫米mm

  • 用于写入数据的激光类型:780 纳米nm)红外激光

  • 光盘的最大容量:650–700 MB

光盘有两大类:

  • 光盘 – 只读内存 (CD-ROM):该光盘上预存有程序、游戏、音乐等数据,并且只能从 光盘可记录 (CD-R) 中读取数据。数据可以写入该光盘,但只能写入一次。

  • 光盘 – 可重写 (CD-RW):数据可以多次写入此光盘。

数字多功能光盘

数字多功能光盘 (DVDs),尽管与 CD 的直径相同,但能够存储比 CD 更多的数据:

  • 直径:120 毫米(与 CD 相同)

  • 写入数据的激光类型:650 nm 红色激光

  • DVD 的最大容量:4.7 GB 和 15.9 GB(双层 DVD)

各种类型的 DVD 如下:

  • DVD – 只读内存 (DVD-ROM):该 DVD 已经预先写入数据,类似于 CD-ROM。

  • DVD – 可记录 (DVD-R):数据只能写入 DVD 一次。

  • DVD + 可记录 (DVD+R):数据只能写入 DVD 一次。DVD+R 使用更先进的错误检测和管理技术。

  • DVD – 可重写 (DVD-RW):数据可以多次写入此 DVD。

  • DVD – 可记录双层 (DVD-R DL):此类 DVD 包含双层结构,从而提供更高的存储容量,DVD-9 光盘为 7.95 GB,DVD-18 光盘为 15.9 GB。

  • DVD – 可记录双层 (DVD+R DL):与 DVD-R DL 相同,但被认为是一种更高效的格式,导致更少的错误。

  • DVD – 随机访问内存 (DVD-RAM):主要用于视频录制设备,因其耐用性(可使用达二十年)以及可以重写数据的特性。这种光盘比其他 DVD 格式更贵,并且不兼容许多常见的 DVD 驱动器和播放器。

蓝光光盘

当前可移动磁盘介质的标准,蓝光光盘因其读取和写入光盘所使用的激光颜色而得名。由于蓝光光盘的高容量存储,高清 (HD) 内容可以轻松存储在蓝光光盘上而不丧失质量:

  • 直径:120 毫米(与 CD 和 DVD 相同)

  • 写入数据的激光类型:405 nm 蓝色激光

  • DVD 的最大容量:25 GB 和 50 GB(双层蓝光)

  • 数据传输:最高可达 72 兆比特每 (Mbps)

蓝光光盘的两种容量也有可重写和可记录格式:

  • BD-RE:蓝光光盘可重写

  • BD-RE DL:蓝光光盘可重写双层(50 GB)

  • BD-R:蓝光光盘可记录

  • BD-R DL:蓝光光盘可记录双层(50 GB)

闪存存储介质

闪存之所以得名,是因为数据是通过电荷写入和擦除的。你可能听说过有人说他们需要“刷机”。这与在智能手机和智能设备上擦除闪存存储介质非常相似,不过,像 Android 和 iOS 这类具有操作系统的设备需要一个更加复杂的过程来刷新和重新安装它们的操作系统。然而,最终结果非常相似,即内存和存储区域会被重置或清除。

闪存存储芯片有两种类型,分别称为非与(NAND)和 NOR 闪存,它们负责在闪存介质上进行高速和大容量的数据存储。它们是新型的电可擦除可编程只读存储器EEPROM)芯片,可以清除数据块或整个驱动器,而不是像较慢的 EEPROM 那样一次只清除一个字节。这种类型的闪存芯片是非易失性的,意味着即使芯片断电,数据仍然保存在芯片上。数据通过一种被称为电路内写入的方法,以电信号的形式发送到芯片,从而擦除数据并相应地更改数据。

下图展示了我的一只旧 1 GB(左)闪存驱动器和一只较新的 32 GB 闪存驱动器(右),其 NAND 芯片已暴露。请注意,尽管这两颗芯片大小相似,但右侧的芯片数据容量是左侧的 32 倍,因为它们的制造时间相差超过十年:

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_6.01_B19441.jpg

图 6.1 – 闪存驱动板上的 NAND 芯片

闪存媒体存储至今已成为便携性的终极选择,种类繁多,从与你的拇指大小到你小指甲大小不等。闪存的使用寿命取决于使用情况,因为它们都有一个平均的读写使用量,有时会在设备的包装上显示。当前,闪存的读写速度也非常快,这也是为什么硬盘驱动器(HDD)从传统的机械磁盘机制转向了固态机制。固态硬盘(SSD)将在本章稍后讨论。

注意

闪存存储介质的容量范围从 2 GB 到 1 TB太字节)及更大,特别是在 SD、microSD 和闪存驱动器上,这些现在可以作为非常快速的可移动驱动器,安装操作系统,并且可以使用各种工具进行分区。因此,的确,Kali Linux 完全可以安装到闪存驱动器、SD 卡或 microSD 卡上(并使其可启动),仅需要 8 GB 的存储空间。

USB 闪存驱动器

通用串行总线 (USB)接口,于 1995 年发布,已成为所有设备的标准,取代了旧式设备,这些设备需要通过计算机上的特定并行端口连接。如今,几乎所有设备或外设都通过 USB 连接到计算机,包括鼠标、键盘、闪存驱动器、打印机、扫描仪、相机、移动设备,几乎所有其他设备。

这张表格展示了 USB 接口的发展:

USB 版本发布年份数据 传输速度
USB 1.0 和 1.1199512 Mbps
USB 2.02000480 Mbps
USB 3.020085 Gbps
USB 3.1201310 Gbps

今天的 USB 闪存驱动器形状和尺寸各异,从标准的矩形形状到各种可以想象的形状都有。USB 闪存驱动器使用 NAND EEPROM 芯片来存储数据,现有多个版本可定义闪存驱动器的读写速度。

下图展示了从最旧到最新的各种闪存驱动器,按从左到右的顺序排列。前三个驱动器都是 USB 2.1;然而,前两个是 8 GB 的闪存驱动器,第三个驱动器明显较小,是一个 32 GB 的闪存驱动器。第四个驱动器(Corsair)是一个 64 GB 的 USB 3.1 驱动器:

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_6.02_B19441.jpg

图 6.2 – 闪存驱动器尺寸

重要提示

我应该特别提一下“房间里的大象”,即新奇的闪存驱动器,它很容易被误认为是钥匙链或玩具,实际上可能对一些禁止员工带闪存驱动器进出工作场所的组织构成威胁,因为这些闪存驱动器可能包含敏感数据。

闪存卡

像闪存驱动器一样,闪存卡(或称记忆卡)也使用 NAND 闪存,这是我们之前了解的非易失性固态内存。然而,与 USB 闪存驱动器不同,这些卡没有 USB 接口,必须通过适配器或读卡器使用。

多年来,甚至几十年里,我们在桌面电脑、笔记本电脑、手机及其他设备中使用过多种记忆卡格式,包括相机、MP3 播放器甚至玩具。虽然我只会介绍一些今天较为流行的卡片,但了解记忆卡并能够识别它们是非常重要的。

以下是闪存卡的类型:

  • 记忆棒 PRO Duo (MSPD)(由索尼开发的专有卡)

  • SD

  • MicroSD

  • 紧凑型 闪存 (CF)

  • 多媒体 (MMC)

  • xD-图片 (xD)

  • 智能 媒体 (SM)

在上述类型中,我选择了三张来自我的收藏的卡片,下面的照片展示了这些卡片。顶部是三星的 SD 卡,SD 卡通常有一个侧面的滑动锁,用于防止数据被覆盖。中间和底部是两张索尼 Memory Stick PRO Duo 卡,尽管它们现在可能已经较为罕见,但它们仍然完好无损:

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_6.03_B19441.jpg

图 6.3 – SD 卡与 PRO Duo 卡对比

我想简要对比一下图 6.4中展示的 PRO Duo 卡、SD 卡和 microSD 卡。PRO Duo 卡至少比 SD 卡和 microSD 卡早了十年以上,较老的 PRO Duo 卡尺寸较大,分别为 2 GB 和 4 GB 容量。虽然图 6.3中的 SD 卡未显示其容量,但它的容量为 1 GB,这再次表明,随着技术的发展,较小的芯片能够容纳比其前辈更多的数据。

为了进一步说明这一点,我们可以看看图 6.4中的照片(虽然由于我的相机缩放,照片有些模糊),近距离展示了两张 microSD 卡。左边的 microSD 卡容量为 64 GB,标明为 Class 10 U1 卡。右边的三星 microSD 卡容量为 512 GB,Class 10,U3 卡,大小只有指甲盖那么大!尽管如此,microSD 卡仍在研发更大容量的版本,目前已经有 1 TB 及以上的容量:

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_6.04_B19441.jpg

图 6.4 – MicroSD 卡对比

不同等级的 microSD 卡标识了它们的读写速度和建议用途。如果购买 microSD 卡,我建议选择 Class 10 卡,因为 C10 比其他等级(2、4 和 6)速度更快,能够支持高清甚至 4K 视频录制。

我们来看一下四种等级的速度评定:

等级(C)最小写入 速度(MBps)
C22
C44
C66
C1010

还有一个超高速UHS)等级,可以通过 microSD 卡上的 U 符号识别。

UHS(U)等级最小写入 速度(MBps)
U110
U330

为了应对大文件,特别是 4K 和 8K 视频文件的需求,还有一个视频速度等级:

视频 速度等级最小写入 速度(MBps)
V66
V1010
V3030
V6060
V9090

正如之前提到的,闪存卡需要读卡器,这些读卡器通过 USB 接口与笔记本、台式机和其他媒体播放器连接。图 6.5中的照片展示了我的一款读卡器,它支持 CF 卡、Memory Stick PRO Duo 卡、SD 卡,甚至 SM 卡,而图 6.6中的更新版读卡器则是一个 SD 和 microSD 卡读卡器,支持 USB 和 Type-C 接口:

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_6.06_B19441.jpg

图 6.5 – SD 卡、CF 卡和 PRO Duo 卡读卡器

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_6.05_B19441.jpg

图 6.6 – USB 3.0 和 Type C SD 卡与 microSD 卡读卡器

硬盘驱动器

现在我们已经深入了解了非易失性存储,包括磁带存储和闪存存储,接下来我们将进一步探讨作为固定存储介质的硬盘驱动器(HDD)。我会尽量简化内容,重点介绍对取证调查人员来说最为必要的知识。

硬盘技术自 IBM 主机中的巨大存储设备问世以来,已经取得了长足的进展,现在更加紧凑、快速且价格更为实惠,存储容量已达到数 TB 级别。

尽管新型固态硬盘(SSD)使用的是与闪存设备中相同的存储芯片,它们仍然比机械硬盘要昂贵一些。这也许是人们在思考为什么旧款机械硬盘技术仍在使用时的一个原因。机械硬盘由多个活动部件组成,包括磁盘、执行臂和一个非常强大的磁铁。尽管在今天的笔记本电脑和硬盘中仍然常见到这些机械硬盘,但它们比新型固态硬盘慢得多,后者没有活动部件,看起来与 USB 闪存驱动器的芯片组非常相似。

在你的取证调查和冒险过程中,你可能会遇到或被展示不同接口和不同电缆技术连接到主板的旧款硬盘。我们来看看吧?

集成驱动电子硬盘(IDE 硬盘)

在 1980 年代中期,许多第一代个人电脑都配备了使用平行高级技术附件PATA)和集成驱动电子技术IDE)的硬盘。与当时所有的旧设备一样,平行传输(同时但缓慢地传输多个比特)是当时的主流,因此数据吞吐量非常有限。识别旧版 IDE 硬盘的一种简单方法是查看连接到硬盘的数据和电源接口。

如下图所示,这些旧硬盘有四个电源针脚,通过 Molex 连接器连接,间隔有八个针脚用于设置设备为主设备或从设备,然后是 40 个针脚用于 IDE 数据线,这条数据线将数据传输到主板:

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_6.07_B19441.jpg

图 6.7 – 3.5 英寸 IDE 硬盘

1994 年,随着技术的进步,增强型集成驱动电子EIDE)问世,数据线的针脚数量从 40 个增加到 80 个,传输速度也从 4 Mbps 提升到了最高 133 Mbps。

然而,IDE/EIDE 仍然限制每台计算机最多只能连接四个 IDE/EIDE 硬盘,因为硬盘上的跳线针只允许设置两个主盘和两个从盘,且采用主从配置。还需要考虑的是,当时 CD-ROM、RW 设备和 DVD-ROM、RW 设备也在使用 IDE/EIDE 技术。

串行高级技术附件硬盘

2002 年,希捷推出了一种名为串行高级技术附件SATA)的硬盘技术,它采用了串行传输方式,代替了较慢的并行传输方式。PATA 硬盘的速度为 33/66/133 Mbps,而 SATA 硬盘的速度则为 150/300/600 Mbps。这意味着,SATA 最低传输速度 150 Mbps 就比 PATA 最高速度 133 Mbps 还要快。

SATA 硬盘的连接接口也有所不同,但当时常见的是,SATA 硬盘上会同时有 SATA 和 PATA 电源连接器,以便向下兼容。

SATA 数据线比 PATA 线要细得多,因为它只包含七根连接到七个针脚的导线。SATA 设备每个硬盘使用一根线,而 PATA 设备则通过一根 IDE/EIDE 电缆连接两个硬盘,并设置为主从配置。

SATA 至今仍是桌面和笔记本硬盘技术的标准,并且经历了多次修订,如此处所列。列出的速度单位为 MBps,而不是 Mbps:

  • SATA 1:150 MBps

  • SATA 2:300 MBps

  • SATA 3:600 MBps

以下照片显示了两款 2.5 英寸笔记本硬盘。左侧的是一款较老的 IDE 硬盘,右侧的是一款现代的 SATA 硬盘:

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_6.08_B19441.jpg

图 6.8 – 2.5 英寸 IDE(左)与 SATA 硬盘

以下照片显示了两款 SATA 2.5 英寸笔记本硬盘。左侧的硬盘已损坏,并被打开,展示了中间的圆形磁盘和顶部略微覆盖在磁盘上的执行臂。执行臂的末端是读写头,用来读取和写入磁盘上的数据。

照片右侧的硬盘是混合硬盘或固态混合硬盘SSHD)。它是一个像左边那个机械硬盘一样的硬盘,但它还内置了闪存,能够更快地访问磁盘上的数据:

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_6.09_B19441.jpg

图 6.9 – 磁盘和执行臂,安装在机械硬盘中

固态硬盘

如前所述,固态硬盘(SSD)是一种非易失性存储介质,使用 NAND 闪存阵列来存储数据。固态硬盘已经存在了相当长时间,但由于硬盘成本高昂,主流应用进展缓慢。三星在 1996 年首次推出了 32 GB 的 PATA 接口 SSD,紧接着,SanDisk 也推出了 32 GB 的 SSD,但采用了 SATA 接口。

尽管 SSD 硬盘使用闪存,但其所用材料比闪存盘更高端,这使得它们在作为硬盘使用时非常受欢迎,但同样,这也导致了其非常高的成本。

SSD 的一个优势在于它没有活动部件。没有活动部件使得 SSD 在跌落或快速移动 PC 塔时更加耐用,因为没有磁盘片或驱动臂会被刮伤或撞击。此外,SSD 的更快读写速度和访问时间大大缩短了设备启动或运行的时间,甚至在使用资源密集型软件和游戏时提供了更好的体验。

就数字取证而言,SSD 仍然是一项相对较新的技术,未来一段时间内将持续改进。重要的是要记住,你不是在处理机械硬盘,并且要记住,SSD 上的数据,像闪存驱动器或内存卡一样,可能会在几分钟甚至几秒钟内丢失或被擦除。尽管可以使用传统工具对 SSD 进行成像和数据恢复,但我强烈建议在进行任何取证活动之前,先研究任何 SSD 硬盘,以便更好地理解其工作原理和复杂性,例如去芯片技术和磨损平衡算法。去芯片是从存储芯片中读取数据的一种方法,而磨损平衡涉及用于保护或延长 SSD 使用寿命的技术。

这是一个 250 GB SSD 的照片:

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_6.10_B19441.jpg

图 6.10 – SSD

注意 SSD 连接器的针脚布局(左侧),它连接到板上的外围设备组件互连快速通道PCIe)接口,而不是通常的 SATA 连接器。上一张照片中的连接器是 M.2 非易失性存储器快速通道NVMe)SSD 连接器类型,但还有其他类型。在对可能需要使用 USB 适配器的 SSD 进行取证时,请确保了解你正在使用的连接器类型。

SSD 接口类型包括以下几种:

  • M.2 NVMe(最高 32 Gb/s 带宽)

  • M.2 SATA(最高 6 Gb/s 带宽)

  • mSATA(最高 6 Gb/s 带宽)

我们现在已经了解了不同类型的 HDD 及其差异。接下来,让我们讨论可以安装在这些硬盘类型上的文件系统和操作系统。

文件系统和操作系统

现在我们已经涵盖了硬盘的物理方面,让我们进入逻辑层面!任何类型的存储介质都需要使用特定的文件系统进行格式化。选择的文件系统也将决定可以安装在哪个操作系统上,并且影响文件和分区的大小。

简单来说,可以把它想象成一张空白纸,代表任何类型的新存储介质或被擦除的存储介质。我们可以在这张纸上写几种类型的信息,但首先我们需要组织或准备这张纸,以便使数据易于理解、访问,甚至存储。我们可以选择从左到右按句子和段落书写英文,或者可以创建行列式的表格。我们甚至可以使用幻灯片显示数据,或使用图片、图表和流程图。此外,我们还可以对存储介质进行格式化,以最好地适应将要存储和使用的数据。

文件系统确保数据以一种可轻松识别和索引的方式进行组织。可以把存储空间想象成一个拥有多个隔间的文件柜。某些隔间可能专门用于按字母顺序存储文件,其他的则按时间顺序排列,部分隔间用于存放文具、杂物,甚至是一些随机物品。尽管这些隔间存放的物品不同,它们都可以被标记并容易识别,且能以一种有序的方式组织,使得每个隔间的内容都能轻松访问或取出。

要在硬盘或可移动存储介质上安装任何操作系统,设备必须先被格式化并选择合适的文件系统进行准备。Windows、macOS、Android、Kali 等操作系统都需要文件系统来组织存储介质,以便操作系统能够成功安装。

以下部分包含一些更受欢迎的操作系统及其文件系统。

Microsoft Windows

以下是 Microsoft Windows 操作系统的一些简要特点:

  • 文件系统:新技术文件 系统NTFS

  • 支持的版本:Windows 11、8、7、Vista、XP、2000、NT,以及 Windows Server 2022、2019、2016、2012 和 2008

  • 最大卷大小:在较新的 Microsoft Server(2019 及更新版本)和 Windows 10 版本 1709 及更新版本中为 8PB拍字节)。较早版本支持最大 256 TB。

  • 最大支持的文件大小:256 TB(取决于簇大小)

  • NTFS 特性:压缩、加密文件系统EFS)、磁盘配额

信息

较早版本的 Microsoft Windows 默认支持文件分配表FAT)文件系统。较新的 Windows 版本也支持 FAT 和 FAT32,但存在驱动器大小(8 TB)和文件大小(4 GB)的限制。扩展文件分配表exFAT)被创建用来去除 FAT32 的限制,但可能不像 FAT32 那样广泛支持。

Macintosh(macOS)

以下是一些Macintosh OSmacOS)的简要特点:

  • 文件系统:层次化文件 系统HFS+

  • 支持的版本:macOS 直到版本 10

  • 最大卷大小:2 TB

  • 最大支持的文件大小:2 GB

苹果公司已进一步推出了一种新的 64 位文件系统,称为苹果文件系统APFS),它取代了 HFS+并专门为 SSD 和 iOS 设备进行了优化。

以下是 APFS 的一些简要特性:

  • 支持的版本:macOS 10.13(及更高版本)和 iOS 10.3 及更高版本

  • 最大支持文件大小:8 exbibytes (EiB)

Linux

以下是 Linux 文件系统的一些简要特性:

  • 文件系统:第四扩展文件系统 (ext4)。虽然 Linux 有多种文件系统可供选择,但如果你不确定应该使用哪个文件系统,我推荐使用这个。

  • 支持的版本:Red Hat、Kali、Ubuntu 等。

  • 最大卷大小:1 EiB。

  • 最大支持文件大小:16 tebibytes (TiB)。

重要提示

许多开源操作系统发行版基于 Linux,包括 Kali Linux 和 Android,因此它们使用 ext2/ext3/ext4 文件系统。它们也能使用 FAT32 文件系统。FAT32 可在任何平台间使用,包括旧版本的 Windows、Macintosh 和 Linux,并且几乎所有带有 USB 端口的设备都支持它。

对于数字取证与事件响应 (DFIR)来说,了解我们所读到的文件系统及其差异非常重要。一旦选择了文件系统(无论是由硬盘制造商还是用户选择),数据就可以存储在存储介质上。接下来我们将查看不同的数据类型和状态。

数据类型和状态

首先,有一种数据状态叫做传输中的数据,也叫做运动中的数据。这仅仅是指数据在移动,可能通过网络在设备之间,甚至在存储介质之间传输,积极地在不同位置之间流动。

还有一种数据状态叫做正在使用的数据。处于这种状态的数据当前正被用户访问或被 CPU 处理。当数据被访问或使用时,它会从硬盘中提取并暂时存储在 RAM 中,RAM 的速度远快于硬盘(尤其是机械硬盘),并在用户访问数据且设备保持供电时存储在那里。

当数据不在运动中、传输中或使用中时,它被称为静止数据。在这种状态下,数据静止或保存在非易失性介质上,如硬盘、光盘、闪存驱动器和内存卡。

现在我们已经了解了描述数据状态的正式术语,接下来我们将学习元数据和闲置空间。

元数据

元数据就是关于数据的数据。以一个存储在仓库中的笔记本为例。在仓库的某个地方(可能还包括其他位置如云端),可能有多项信息可以被称为关于笔记本的数据,甚至是笔记本的元数据,例如以下内容:

  • 笔记本电脑在仓库中的位置

  • 笔记本品牌和型号

  • 制造日期

  • 保修日期和信息

  • 硬件和软件规格

  • 颜色和大小

闲置空间

集群是存储介质中存储数据的最小磁盘空间或分配单元。当格式化磁盘时,我们需要定义这些分配单元的大小,或者可以使用 4 KB 的默认集群大小。这就是闲置空间的来源。

空闲空间是集群中的空闲和未使用空间,这些空间包含数据,但没有被数据填充。要充分理解这一点,我们首先需要了解操作系统指定的默认集群大小。使用 NTFS 格式化的驱动器(用于 Windows)默认的集群大小为 4 KB。假设您将一个大小为 3 KB 的文本文件保存到磁盘上,这意味着在该集群中仍然有 1 KB 的未使用或空闲空间。

空闲空间对法医调查员尤其重要,因为数据可以很容易地隐藏在空闲空间中。幸运的是,我们有多个可用工具,如 Kali Linux 中的 Sleuth Kit 和 Autopsy,可以帮助调查空闲空间并找到隐藏的文件。

请确保熟悉“元数据”和“空闲空间”这两个术语,因为在您的调查中它们将不断被提及。随着我们章节内容的推进,您也可以随时在笔记中记录这些和其他术语,以便于后续参考。现在,让我们继续了解不同类型内存的易失性和非易失性特性,同时看看在 DFIR 调查中,易失性顺序的重要性。

易失性与非易失性数据以及易失性顺序

在本节中,我们将探讨为什么当易失性内存失去电源时,数据会丢失。

数据可以存在,只要存储数据的介质能够存储数据。硬盘(机械硬盘和固态硬盘)、闪存驱动器和存储卡都是非易失性存储介质。尽管固态硬盘(SSD)在数据访问速度上提供并持续进行显著改进,但到目前为止,RAM(通常仅称为内存)仍然是设备内部速度最快的内存类型。

然而,RAM 是易失性内存。与硬盘和闪存驱动器中的非易失性内存不同,存储在 RAM 中的数据是暂时保存的,仅在芯片提供电流的情况下才会保留。我们需要了解的 RAM 有两种类型:静态 RAMSRAM)和动态 RAMDRAM)。

SRAM 优于 DRAM,但由于制造芯片所需的材料复杂,成本比 DRAM 高得多。SRAM 的物理尺寸也远大于 DRAM。SRAM 可以在 CPU 缓存(L1 或一级缓存)和一些主板芯片(L2/L3)上找到,尽管由于成本和物理尺寸的限制,容量通常非常小(以 KB 为单位)。

尽管 DRAM 较慢,但它便宜得多,仍然是设备中作为主内存使用的原因之一。使 RAM 具有易失性的是它的组件,如晶体管和电容器。你们中的一些人可能已经通过 A+等认证课程了解过这个话题,但为了帮助所有人,我将再详细说明一下。

DRAM 使用电容器,这些电容器在刷新电路中暂时存储电荷。芯片需要不断刷新才能在访问时保持数据。然而,在刷新之间会创建等待状态,这使得 DRAM 相比于使用晶体管而没有等待状态的 SRAM 更慢。

在过去几十年里,出现了许多不同类型的 DRAM 或内存条,大小略有不同,且接触主板的引脚数量有所增加。按年代排序的一些 RAM 类型如下:

  • 扩展数据输出 RAM(EDO RAM):早期的 DRAM 类型之一。

  • 同步动态随机存取存储器(SDRAM):这是第一种能够与 CPU 时钟速度同步的 RAM 类型。它的最大传输速率为 133 百万传输或每秒百万次传输(MT/s)。它的标签为 PC100、PC133 和 PC166。

  • DDR-SDRAM/DDR 1(双倍数据速率 - SDRAM):有效地将 SD RAM 的传输速率翻倍。最大传输速率为 400 MT/s。

  • DDR2:最大传输速率为 800 MT/s。

  • DDR3:功耗比 DDR2 低三分之一。最大传输速率为 1600 MT/s。

  • DDR4:最大传输速率为 4400 MT/s(DDR4-4400)。

在今天的笔记本和台式机中,常见的内存类型主要是 DDR3 和 DDR4,但碰到带有 DDR2 甚至(奇迹般的)DDR1 的老旧机器也并不罕见。下图展示了不同类型的 RAM 双列直插内存模块DIMM),从上到下依次为:SDRAM(最上面),DDR1,DDR2,最后是 DDR3:

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_6.11_B19441.jpg

图 6.11 – RAM 类型

重要提示

笔记本也使用 DDR RAM,但它们采用一种更紧凑的尺寸,称为小型轮廓 DIMMSODIMM)模块。

现在我们已经看过了 RAM 的演变及其各种形态类型,接下来让我们了解 RAM 的重要性,并学习分页文件和 RAM 缓存的使用。

DFIR 中 RAM、分页文件和缓存的重要性

操作系统可以将硬盘的一部分用作 RAM 的扩展。这被称为虚拟内存,通常在计算机或笔记本 RAM 有限的情况下非常有用。尽管硬盘比 RAM 慢得多,但硬盘上的交换文件或分页文件可以存储那些访问频率较低的文件和程序,从而使 RAM 可以存储频繁访问的数据。这个过程涉及操作系统将不常用的数据页交换到硬盘上的专用分页文件区域。

在取证调查中,分页文件对我们非常重要。尽管它不像 RAM 那样具有易失性,因为它存储在硬盘上,但它是 Windows 中的一个隐藏文件,名为pagefile.sys,应该始终使用您选择的工具进行检查,因为这个文件可能会揭示加密区域的密码、访问过的网站信息、打开的文档、登录的用户、打印过的项目等等。

机械硬盘上的数据是以碎片化的方式存储的;然而,分页文件或交换文件的优点是,数据可以以连续的方式存储,一个接一个,从而提高访问速度。

建议将分页文件的大小设置为内存大小的 1.5 倍,并且如果可能,存储在一个单独的驱动器上,而不仅仅是一个单独的分区。

关于 Pagefile.sys 的说明

Pagefile.sys可以在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management Windows 注册表路径下找到。

我希望分页文件和缓存的重要性已经被充分理解,因为在任何数字取证和事件响应调查中,获取和分析分页文件至关重要。在继续下一章之前,随时复习本章并记录下所有涉及的术语。

总结

在本章中,我们花时间介绍了一些非易失性存储介质的基础知识,这些介质在没有电源供应时依然能够存储数据。非易失性介质包括不同类型的硬盘,如机械硬盘和固态 PATA、SATA 驱动器,闪存驱动器以及内存卡。

较新的存储介质设备,包括 SSD,使用一种特殊类型的闪存——NAND 闪存来存储数据。这种闪存比传统的机械硬盘更快、更耐用,因为设备没有任何活动部件;然而,目前它们仍然相当昂贵。

我们还看到了与各种操作系统相关的不同文件系统,并了解到数据的最小分配单元称为簇,簇可以位于空闲空间中。空闲空间是簇内未使用的空间,数据可以隐藏在其中。数据本身有不同的状态,可以是静止的、运动中的或正在使用的。无论数据的状态如何,始终存在一些关于数据本身的信息,称为元数据。

用户或操作系统访问的任何数据都会暂时存储在易失性内存或 RAM 中。尽管数据可以在非易失性内存中存储很长时间,但当易失性内存(RAM)的电荷丢失时,数据也会丢失。硬盘上的一个区域,称为分页文件,可以充当虚拟内存,让计算机认为它有比实际安装的内存更多的 RAM。

我确实鼓励你做更多的研究,扩展你在这些主题上的知识,以便更好地理解所涵盖的内容。

现在让我们进入下一个章节,在这里我们将学习调查程序和事件响应的最佳实践,如获取易失性数据和处理及分析实时机器的程序。

第七章:事件响应、数据获取与 DFIR 框架

有时,在调查开始时很难确定什么才算证据,尤其是在关于发生了什么的所有事实尚未收集或陈述的情况下。正如任何调查一样,我们应当了解并遵循获取证据的指南、流程和程序,以确保其不被篡改,或者在最坏的情况下丢失。

在犯罪现场,比如枪击事件,通常会有一些特定物品可以立即被视为证据。物理证据容易收集,放入证据袋中,标记清楚后送往实验室和安全存储区域进行保管。这些证据可能包括弹壳、枪支、指纹和血液样本。不要忘记证人陈述和闭路电视CCTV)录像资料。同样,考虑现场执法人员的身份和他们到达的顺序也很重要。看起来似乎很简单。

然而,当涉及计算机或智能设备的漏洞或犯罪事件被报告时,收集证据并不总是那么简单,因为在将任何物品定性为证据之前,需要考虑许多因素。

例如,如果桌面设备参与了事件,我们是只拿走主机塔,还是还需要将显示器、键盘、鼠标和音响一并扣押?打印机和扫描仪等其他外设又该如何处理?现场是否有其他固定或可移动存储介质,我们是否也需要扣押它们?

本章解答了所有这些问题,并提供了关于事件响应、证据获取和其他主题的指南和最佳实践,包括以下内容:

  • 证据获取程序

  • 事件响应和首批响应人员

  • 证据收集与文档记录

  • 现场数据获取与事后数据获取

  • 证据链CoC

  • 写保护器的重要性

  • 数据镜像与证据完整性保持

  • 数据获取最佳实践、指南和 DFIR 框架

证据获取程序

正如我们在上一章中讨论的,数据可以存储在固定和可移动存储介质上。然而,根据多个因素的变化,数据很容易被删除或完全丢失。如果我们要确保数据的保存,必须考虑这些因素。也可以说,数字存储面临的威胁比纸质存储还要多。以下列出了对比这两者的威胁。

针对纸质存储的威胁包括以下内容:

  • 火灾和湿度问题

  • 年龄

  • 自然灾害——洪水、地震、龙卷风、飓风等

  • 人为错误和疏忽

存储介质上的数据威胁包括以下内容:

  • 人为错误和疏忽

  • 磁性和电磁场

  • 水和凝结水

  • 热尘

  • 影响电压

  • 静电

  • 自然灾害——洪水、地震、龙卷风、飓风等

那么,数据究竟何时成为证据呢?考虑到发生的事件,某些特定数据可能与调查相关,具有相对的价值。在执行数字取证和事件响应(DFIR)时应考虑这一点,因为此时范围可能不仅限于设备和存储介质,正如我们将在本章中进一步讨论的那样。

接下来,让我们讨论事件响应及第一响应者承担的技术角色。

事件响应和第一响应者

保存证据的工作并不仅仅从获取数据开始,而是从物理上查看嫌疑设备时就应开始。对于涉嫌犯罪或安全泄露,应有一定的结构化响应,类似于警方接到报案的处理方式。就像人们拨打紧急电话,紧急服务会派遣警方、消防队、急救人员以及其他第一响应者,随后可能会将问题上报给 FBI 或其他机构。当处理需要进行数字调查的报告时,也应有类似的指挥链。

当发现或怀疑发生泄露或犯罪时,应有一名专门的第一响应者被通知并赶赴现场。通常,这个人对设备、网络,甚至如果适用的话,组织的 IT 基础设施有一定的了解或知识。

第一响应者人员可以包括以下人员:

  • 帮助台和 IT 技术人员

  • 系统管理员

  • 网络管理员

  • 安全管理员

  • IT 经理和主管

尽管前述角色的人员可能未接受过数字取证或数字调查的培训或具备相关技能,但他们负责确保现场的安全,确保数据、外设、设备和存储未被未经授权的人员使用、篡改、移除或损坏。

第一响应者的职责包括以下内容:

  • 第一响应者是最早抵达现场的人(正如名称所示),并进行初步评估

  • 以房间的中心为焦点,环形方式全面记录现场和房间的情况

  • 通过不允许未经授权的用户或嫌疑人接触设备或区域,尤其是易变数据和存储介质,来确保现场安全

  • 为运输保存和包装证据,确保使用能够追踪证据交换的 CoC(证据链)表格

现在,让我们来看一些证据的例子,以及它们的收集和记录。

证据收集与记录

第一响应者还应对现场进行记录,以帮助调查。现场记录应包括以下内容的照片、视频、语音录音和手动记录:

  • 设备所在的房间(桌子、天花板、入口/出口、窗户、照明、电源插座和数据插口)

  • 设备的状态(开机、关机、电源指示灯闪烁)

  • 屏幕内容,如果设备已开启(操作系统、正在运行的程序、日期和时间、有线和/或无线网络连接)

  • 书籍、笔记或纸张

  • 连接和断开的电缆

  • 外设,如打印机、扫描仪和外部硬盘,靠近(无论是否连接)

一旦现场被首响应者确保并记录下来,法医调查员也应该被通知并赶到现场进一步检查和评估情况。

如果首响应者已接受证据收集和保存的培训,他们还可以开始获取可以视为物理证据的过程。

物理证据的例子包括以下内容:

  • 台式电脑和计算机主机

  • 笔记本电脑

  • 平板电脑

  • 智能手机

  • 物联网设备

  • 一般智能设备

  • 固定和可移动存储介质:

    • 硬盘

    • 光盘介质

    • 磁带存储

    • 存储卡

    • 卡片读卡器

    • 适配器

    • 托架站

    • 打印机

    • 扫描仪

    • 手机

    • iPod

媒体和 MP3 播放器及其他可能在执行入侵时使用的设备。路由器和交换机也可能包含证据,如连接日志、源和目的地址,甚至访问过的网站。

  • 电缆和充电器

这是一个预算合理但便携且非常有组织的螺丝刀工具包,我将其放在我的 DFIR 首响应急工具包中。它包含了打开台式电脑、笔记本电脑和平板电脑的所有附件,还可以用于拆卸甚至打开可移动存储介质,如硬盘驱动器、光盘驱动器,甚至如果遇到的话,也能处理软盘驱动器:

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_7.01_B19441.jpg

图 7.1 – 含有各种拆卸设备和驱动器的小工具包

物理获取工具

除了你先前提到的工具包外,我们还需要哪些工具来进行数字证据的法医获取和提取?还记得我们在第六章中讨论的存储介质种类吗?理解文件系统和存储?我们看到其中许多都有各种大小的连接器。

下面是进行证据获取时所需设备的部分列表:

  • 写保护器(这些可以是硬件和/或软件基础的)

  • 卡片读卡器(最好是 USB 3)

  • 各种适配器(USB 到 SATA 和 EIDE,USB 到各种类型的 USB,VGA 到 HDMI)

  • 设备电缆,如电源、SATA、EIDE、HDMI 和 VGA

  • 网络电缆,包括直通、交叉和控制台电缆

下图展示了各种 USB 适配器的集合,所有这些适配器的价格都低于 10 美元,并且都可以在亚马逊上购买:

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_7.02_B19441.jpg

图 7.2 – 各种 USB 适配器

对于笔记本硬盘,我还使用 串行高级技术附加SATA)转 USB 3.0 适配器,如下图所示。该设备也是自供电的,并配有可拆卸的电源适配器,因此可以为全尺寸硬盘、DVD 和 Blu-ray 驱动器提供电源,这些驱动器带有 SATA 接口:

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_7.03_B19441.jpg

图 7.3 – USB 3.0 转 SATA 自供电适配器,适用于 2.5 英寸和 3.5 英寸硬盘

在连接路由器和交换机时,控制台电缆和串行转 USB 电缆也可以包含在你的工具包中,像这里所展示的那样:

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_7.04_B19441_.jpg

图 7.4 – 串行转 JJ-45(左)和串行转 USB(右)电缆

所有移动设备,包括手机和平板电脑,也可以通过 USB 端口连接到笔记本电脑和台式机。下图展示了一个 OTG 电缆,它可以将 USB 设备连接到具有 OTG 功能的手机或平板电脑:

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_7.05_B19441.jpg

图 7.5 – OTG(即插即用)电缆

以下是物理收集和保存的指南清单:

  • 标记所有电缆和连接器

  • 根据需要使用标记的证据收集袋

  • 在存储具有无线和无线电功能的设备时,可能需要使用特殊的强固袋,以防止与其他设备的通信

  • 将硬盘和闪存驱动器等敏感设备存放在防静电袋和保护外壳中

  • 标记在运输过程中用于存储的容器

  • 在将证据从一个人/操作员交接到另一个人时,保持证据链(CoC)表格(本章后面将讨论)

现在,让我们继续了解收集证据时的易变性顺序,并比较实时与事后获取。

实时与事后获取

本节将介绍实时和事后证据获取的不同程序。但在开始之前,我们首先必须了解易变性顺序

易变性顺序

在收集证据时,我们应当牢记数据的易变性。如本章前面所提到的,数据很容易丢失或损坏。因此,在收集数据时,常见的最佳做法是尽可能按照从最易变到最不易变的顺序收集证据,并做好详细记录。

数字证据科学工作组SWGDE)捕捉实时系统文档并列出了从最易变到最不易变的顺序,如下所示:

  • RAM

  • 运行中的进程

  • 活跃的网络连接

  • 系统设置

  • 存储介质

开机与关机设备的获取

在调查开机和关机设备时,必须特别注意数据的易失性。启动、重启或关闭设备可能会导致数据写入硬盘,甚至丢失在 RAM 和分页文件中。

开机设备

在调查开机设备时,应该采取以下预防措施:

  • 如果怀疑设备处于睡眠状态,可以移动鼠标或滑动触摸板。不要点击按钮,因为这可能会打开或关闭程序和进程。

  • 拍照并记录屏幕和所有可见的程序、数据、时间和桌面项目。

  • 拔掉桌面设备的电源线,并尽可能地移除便携设备的电池。

最重要的是,在收集 RAM 和分页文件中的数据时,必须尽可能减少对数据的修改。有关更多内容,请参考第八章证据采集工具,使用像 FTK Imager 和 Belkasoft RAM Capturer 这样的成像工具。

获取 RAM 映像和数据有许多原因。正如前一章提到的,用户可能加密的数据可以以未加密状态存储在 RAM 中。如果分析 RAM 和分页文件,登录用户、打开的程序、访问的文件以及正在运行的进程都可以被提取和分析。

然而,如果设备被关闭或重启,这些数据和证据可能很容易丢失。

对于开机便携设备和开机设备,电池应当移除(如果可能)。然而,某些设备可能没有可拆卸的电池。在这种情况下,应该按住电源按钮 30 到 40 秒,强制设备关闭。

关机设备

除非由取证调查员操作,否则绝不可启动关机设备。必须采取特殊步骤确保现有数据不被擦除,并且不会写入新数据。

设备看起来可能是关机状态,但实际上可能处于睡眠或休眠状态。作为一个简单的测试,可以移动鼠标并打开显示器(如果有的话),以确定设备是否处于这些状态之一。即使它们处于关机状态,仍应拍摄屏幕和端口的照片。

在调查已经关机的便携设备时,建议移除电池(如果可能),并将电池放入证据袋中,以确保在拔掉电池后设备无法被意外开启。

NIST.SP.800-101r1—移动取证指南,需要注意的是,即使在关闭状态下,移除电池也可能会改变易失性内存中的内容。

现在我们理解了在获取证据的设备状态上所需的重视,让我们来看看 CoC 表格,它为证据的完整性增加了另一层保障。

CoC

CoC 是一份合法确保证据完整性的表单,随着证据在不同人员之间交换,它也提供了一定的问责制,因为在填写表单时需要个人身份验证。该表单提供了详细的日志和记录,记录了从现场收集到法院呈交的运输和交换过程。

以下是 CoC 表单上一些典型字段:

  • 案号

  • 受害人和嫌疑人姓名

  • 扣押日期和时间:

    • 被扣押时的地点

    • 项目编号

    • 项目描述

    • 释放和接收证据的人员签名和身份证明

  • 处置授权

  • 证据销毁见证人

  • 证据释放(交还给合法所有者)

可以直接从国家标准与技术研究院(NIST)下载样本 CoC 表单:

www.nist.gov/document/sample-chain-custody-formdocx

我建议你下载前述表单,因为在进行 DFIR 调查时,你可能会用到它。现在,让我们来看一下在获取数据时,写保护器在保持证据完整性方面的重要性。

写保护器的重要性

一旦我们的物理证据得到了适当的文档记录和收集,我们就可以开始数字证据的法医采集。我会多次强调这一点:原始证据应该仅用于创建法医副本或镜像,稍后在本章及其他章节中将讨论这一点。

检查和分析应该仅在数据的法医副本/镜像上进行,而不是在原始数据或证据上进行,因为在原始证据上工作会(并且通常会)修改介质的内容。例如,启动扣押的笔记本电脑进入其原生操作系统会允许数据写入硬盘,可能还会删除并修改 RAM 和分页文件中的内容。

为了防止这种情况发生,必须使用写保护器。顾名思义,写保护器防止数据写入证据介质。写保护器有硬件和软件两种类型。如果没有硬件写保护器,软件版本也可以作为独立功能在包括 C.A.I.N.E 在内的法医操作系统中找到,正如在第二章《数字取证导论》中提到的那样,也可以作为 EnCase 和 Autopsy 等一些商业和开源工具的一部分。

同样,写保护器在调查中至关重要,它可以保护和保存原始证据不被修改。以下照片展示了一款便宜且高效的便携式 SATA 和 IDE 适配器,带有写保护开关,用于驱动器获取和恢复:

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_7.06_B19441_.jpg

图 7.6 – USB 到 SATA 和 IDE 写保护设备

现在我们已经熟悉了写保护器的目的和重要性,让我们来了解一下数据成像和证据完整性算法。

数据成像与保持证据完整性

成像是指精确复制数据,无论是文件、文件夹、分区,还是整个存储介质或驱动器。当进行常规文件和文件夹复制时,由于文件的属性设置为系统文件或隐藏文件,可能并不是所有文件都会被复制。为了防止文件遗漏,我们执行一种特殊的复制方式,其中每一个比特都会被精确地复制或成像,就像拍摄数据的照片或快照一样。

创建每个数据比特的精确副本被称为 物理或法医图像。执行 比特流复制 可以确保复制的完整性。为了进一步证明这一点,我们对原始证据和物理镜像进行哈希计算并进行比较(稍后我们将深入探讨)。如果法医副本即使只偏离一个比特的数据,使用相应算法生成的哈希值也会完全不同。

提示

原始证据应仅由合格且授权的专业人员处理,并且只能用于创建具有法医学效力的物理镜像。否则,原始证据绝不应被使用,因为这样会妥协证据的完整性和调查的有效性。

信息摘要 (MD5) 哈希

哈希值是由特定算法生成的,用于通过证明数据未被修改来验证证据的完整性。哈希值可以被视为数字指纹,因为它们是唯一的,并且在证据和物理镜像的识别中发挥着重要作用。

其中一种算法,尽管较老,并且现在主要用于验证从互联网上下载内容的真实性,就是 信息摘要MD5)加密哈希算法,它生成一个 128 位的十六进制输出值。

作为一个工作示例,让我们打开浏览器并访问 passwordsgenerator.net/md5-hash-generator/

该网站创建单词和句子的哈希值作为字符串。在这个示例中,我输入了 Digital Forensics with Kali Linux 字符串(不含括号)。自动计算的 MD5 值为 7E9506C4D9DD85220FB3DF671F09DA35,如下图所示:

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_7.07_B19441.jpg

图 7.7 – MD5 哈希生成器结果

通过去掉 K 字母,从相同的字符串变为 Digital Forensics with ali Linux,此时 MD5 值变为 7A4C7AA85B114E91F247779D6A0B3022,如下图所示:

https://github.com/OpenDocCN/freelearn-kali-pt2-zh/raw/master/docs/dg-frsc-kali-3e/img/Figure_7.08_B19441.jpg

图 7.8 – 编辑后的 MD5 生成器结果

作为一个快速比较,我们可以看到,仅仅去掉 K 字母,就会产生明显不同的结果:

  • 数字取证与 Kali Linux

7E9506C4D9DD85220FB3DF671F09DA35

  • 数字取证与 ali Linux

7A4C7AA85B114E91F247779D6A0B3022

我鼓励你亲自尝试,或许可以在字符串中添加逗号或句号,以进一步比较哈希值。

安全哈希算法(SHA)

另一种在取证中常用的密码学哈希算法,并将在下一章中使用的是 安全哈希算法-1 (SHA1)。与 MD5 相比,SHA1 更安全,因为它生成的是 160 位输出,而 MD5 生成的是 128 位输出。由于 MD5 和 SHA-1 已知存在碰撞攻击,因此现在更安全、更稳健的哈希算法是 SHA-2

SHA-2 是一组哈希算法,而不仅仅是一个,像 SHA-1 一样,最常见的位长是 SHA-256,它生成 256 位输出。SHA-2 的其他位长算法包括 SHA-224、SHA-384 和 SHA-512。

使用的密码学算法越强大,被攻击或破坏的可能性就越小。这意味着所创建的证据和物理图像的完整性得以保持,这将在取证案件和专家证词中提供有力支持。

关于创建哈希的更多内容将在 第八章 中演示,证据 采集工具

现在,让我们继续讨论数据采集和 DFIR 的最佳实践与框架。

数据采集最佳实践与 DFIR 框架

到目前为止,我们已经概述了在收集和保存证据时 DFIR 程序的一般流程。我强烈建议你阅读并熟悉一些官方文件,因为它们详细说明了现场文档记录、证据收集和数据采集的相关指导。

SWGDE 提供了多项关于取证采集、证据收集、取证检查等方面的最佳实践指南。这些非常有用的文件应下载并作为 DFIR 游戏手册的一部分保存,因为它们简明扼要,总结了所有必要的步骤,可以作为 DFIR 调查的检查清单。所有文件可以在 SWGDE 的取证出版物部分找到:www.swgde.org/documents/published-by-committee/forensics,但就本章而言,我建议至少下载并阅读以下两个关于证据收集和取证采集的最佳实践指南。

第一篇论文详细介绍了在收集数字证据时的最佳实践,第二篇论文则详细介绍了从计算机执行数据采集时的最佳实践:

*SWGDE《实时系统捕获文档,第 2.0 版》*于 2014 年 9 月发布。虽然相对简短且不够详细,但它仍然适用于涉及实时(已开机)系统的法医调查。本文档提供了调查实时系统时的指南,包括易失性顺序、内存取证(包括分页文件取证)以及实时物理和文件系统采集。

本文档仅有六页,可以从此处下载:drive.google.com/file/d/10MJ9EJAkj6i6Xqpf3IcFb4dDPNUZ2ymH/view

DFIR 框架

前述的实践指南可以与一个或多个框架结合使用。无论任务是什么,目标应始终保持一致,即在整个 DFIR 过程(证据收集、审查、分析和报告)中始终保持证据的完整性。

尽管不是免费的,但有一本 ISO/IEC 出版物,名为ISO/IEC 27037:2021《信息技术 — 安全技术 — 数字证据识别、收集、采集和保存指南》,它是关于 DFIR 最佳实践的极好参考资料。该文档的预览版可以在www.iso.org/obp/ui/#iso:std:iso-iec:27037:ed-1:v1:en找到。

国家标准与技术研究院NIST)还有一本较早的出版物,名为NIST 特别出版物(SP)800-86《将取证技术整合到事件响应中的指南》,该文档包含 121 页关于各种技术和数据识别、采集、审查的有用信息。完整文档可以在nvlpubs.nist.gov/nistpubs/legacy/sp/nistspecialpublication800-86.pdf免费下载。

另一本有用的出版物是NIST 特别出版物(SP)800-61 修订版 2《计算机安全事件处理指南》,该文档专门关注事件及其适当响应。该文档的完整版本可以在nvlpubs.nist.gov/nistpubs/specialpublications/nist.sp.800-61r2.pdf查看并下载。

此外,NIST *《移动设备取证指南》*是另一本非常有用的文档,专门适用于移动设备。此文档的第一版于 2014 年发布,详细讨论了移动设备取证调查的各个方面。其内容包括以下内容:

  • 移动设备和蜂窝网络特性

  • 现场评估与文档记录

  • 设备隔离与包装

  • 设备与内存获取

  • 检查、分析和报告

完整文档可从以下链接下载:

nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-101r1.pdf

与调查网络攻击相关的,应该参考 D4I – 数字取证框架,用于审查和调查网络攻击,作为一个提议的框架。它还引用了网络杀伤链(Cyber Kill Chain)及其与网络攻击相关的各个阶段。你可以在以下位置找到这篇 8 页的文档:

tsapps.nist.gov/publication/get_pdf.cfm?pub_id=929147

在过去的二十年中,技术和信息技术(IT)发生了重大变化。除了我们传统上认为的信息技术外,现在还有运营技术OT)。OT 主要处理在制造和公用事业领域中传统上使用的设备和机械,这些设备可能通过 IT 流程进行逻辑管理。一个很好的例子是SCADA监控控制与数据采集)系统,通常由天然气和公用事业公司使用来监控操作设备。对这些服务的破坏可能影响数百万人的生活和企业,应该实施正式的事件响应程序,以确保业务连续性和灾难恢复。NIST 最近发布了NISTIR 8428 数字取证与事件响应(DFIR)框架:面向运营技术(OT)(2022 年 6 月),作为解决这些问题的框架,并涵盖了非常详细的 OT DFIR 流程,包括资产识别、远程数据收集、过程监控、现场分析等。完整文档可从以下链接下载:

https://nvlpubs.nist.gov/nistpubs/ir/2022/NIST.IR.8428.pdf.

希望本节内容对你有所帮助,我建议你下载并将这些文档保存在一个文件夹中,或者甚至可以打印并装订成册,作为参考资料或整个数字取证与事件响应(DFIR)手册。

摘要

如果我只能让你从这一章中记住一件事,那就是要记住,原始证据,特别是硬盘、存储介质和内存镜像,应仅用于创建具有法证效力的位流副本。原始证据永远不应直接操作。

总结一下,当报告发生安全漏洞时,应有一名已建立的首位响应者,按照协议执行记录和保护现场的任务,并收集和保存证据。首位响应者应配备包含各种工具和物品的工具包,用于获取证据,并确保在交接证据时,链条(CoC)得到保持。

此外,我们还探讨了在调查开机和关机设备时的各种程序和最佳实践,并讨论了使用写保护器的重要性,以防止原始证据被篡改,随后使用哈希工具进行完整性验证。最后,我为你提供了一些非常有用的 DFIR 框架,当它们与 SWGDE 指南结合时,便能构成一套令人印象深刻的 DFIR 操作手册。

你已经走到了这一步,我知道这一定有些信息超载,但现在我们可以进入本书的实操部分,开始使用 Kali Linux 中的数字取证工具进行调查。开始吧!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值