原文:
annas-archive.org/md5/765e210cce0450716bde57b7647ec979
译者:飞龙
第十三章:使用 Autopsy 4 图形界面进行全面的 DFIR 分析
如我们在第十二章中所学,Autopsy 取证浏览器,当我们使用 Kali Linux 中自带的 Autopsy 取证浏览器时,Autopsy 在自动化证据和文件分析方面非常强大。然而,Autopsy 取证浏览器有一些限制,尤其是它的版本较旧,并且更新频率较低,相比之下,图形用户界面(GUI)版本的更新频繁。Autopsy 取证浏览器已经有许多年没有更新,仍然处于 2.2 版本,而 Autopsy GUI 目前(在写作时)已经更新至 4.19 版本。
本章将重点介绍 Autopsy v4 图形界面(也称为 Autopsy 4 图形界面),并分析与上一章使用的相同文件,以便比较使用情况、功能和分析结果的差异(如有)。本章将涵盖以下主题:
-
Autopsy 4 图形界面功能
-
使用 Wine 在 Kali Linux 中安装 Autopsy 4
-
下载示例文件进行自动化分析
-
创建新案件并熟悉 Autopsy 4 界面
-
使用 Autopsy 4 分析目录并恢复已删除的文件和证据
Autopsy 4 图形界面功能
Autopsy 4 图形界面提供许多易于使用的功能,适用于相对简单和快速的分析。Autopsy 4 是少数几款全面的数字取证套件之一,完全免费使用,且被专业人员和执法部门广泛使用。
一些功能包括以下内容:
-
简单且直观的用户界面
-
案件管理,每个案件的所有文件都存储在各自的目录中
-
可用的第三方插件和模块
-
索引关键词搜索
-
从浏览器提取 Web 证据,包括从 Chrome 和 Firefox 中提取 cookies 和浏览历史
-
使用 PhotoRec 进行自动化文件恢复
-
使用照片和视频分析提取可交换图像文件(EXIF)数据
-
高级时间线分析与事件查看
-
妥协指示器(IoC)分析
-
并行任务处理以实现快速分析
-
可自由下载,支持 Windows、Linux 和 Mac
Autopsy 的详细信息可以在其主页找到:www.sleuthkit.org/autopsy/#:~:text=Autopsy%C2%AE%20is%20a%20digital,from%20your%20camera%E2%80%99s%20memory%20card
现在我们已经熟悉了 Autopsy 4 图形界面的一些功能,让我们使用 Wine 在 Kali 中安装它。
使用 Wine 在 Kali Linux 中安装 Autopsy 4
在本示例中,我们将使用 Autopsy for Windows,安装方式为 Wine。Autopsy 4 也可以在 Linux 上下载;不过,这可能更适合高级用户。如果你还没有在 Kali Linux 上安装 Wine,可以回顾一下第五章中的内容,在 Kali Linux 中安装 Wine,然后再返回当前章节。
现在,让我们开始在 Kali Linux 中使用 Wine 安装 Autopsy 4:
- 所有版本的 Autopsy 4 可在此找到:
www.autopsy.com/download/
要下载适用于 Windows 的 Autopsy,可以点击这里的直接链接:github.com/sleuthkit/autopsy/releases/download/autopsy-4.19.3/autopsy-4.19.3-64bit.msi
上一个版本是适用于 Windows 的最新稳定 64 位版本,当前版本为 4.19.3。该教程同样适用于后续版本,因为多年来其使用方法保持不变。
- 一旦下载了 Autopsy 4.19.3,你可以双击下载的文件,或者右键点击 autopsy-4.19.3-64bit.msi 文件,选择 使用 Wine Windows 程序加载器打开 来启动程序。这样将会启动 Autopsy 设置 窗口,如下图所示:
图 13.1 – Autopsy 向导欢迎屏幕
- 点击 下一步 继续。安装文件夹将显示为通常在 Windows 安装过程中显示的内容。点击 下一步 继续。
图 13.2 – Autopsy 安装文件夹
- 点击 安装 开始安装过程。
图 13.3 – Autopsy 安装过程
安装可能需要几分钟,具体取决于分配给 Kali 环境的 RAM 和 CPU 资源。
图 13.4 – 安装过程中复制文件
- 当所有文件安装完成后,向导会告诉我们安装已完成。点击 完成 启动 Autopsy。
图 13.5 – 完成的 Autopsy 安装
安装后,你将看到 Autopsy 4 的启动画面,加载所有所需模块可能需要一分钟时间。
图 13.6 – Autopsy 4 启动画面
- 在所有模块加载完毕后,会显示案例库信息,如下图所示。点击 确定 继续。
图 13.7 – 案例库信息
我们已经完成了在 Kali Linux 上通过 Wine 安装和初始配置 Windows 版本的 Autopsy 4 GUI。接下来,在继续之前,我们先确保已经下载了所有必要的示例文件。
下载用于自动化分析的示例文件
我们将使用的样本证据文件是之前章节中通过 Autopsy 取证浏览器分析的同一个terry-work-usb-2009-12-11.E01文件。你可以再次从这里直接下载:digitalcorpora.s3.amazonaws.com/corpora/scenarios/2009-m57-patents/usb/terry-work-usb-2009-12-11.E01
。
我还希望你借此机会从digitalcorpora.com网站下载其他示例文件,你可以自己分析这些文件,完全熟悉 Autopsy 4,因为这是 DFIR 调查员和分析师使用的主要开源免费工具之一:
-
Charlie-work-usb文件:
digitalcorpora.s3.amazonaws.com/corpora/scenarios/2009-m57-patents/usb/charlie-work-usb-2009-12-11.E01
-
Jo-favorites-usb文件:
digitalcorpora.s3.amazonaws.com/corpora/scenarios/2009-m57-patents/usb/jo-favorites-usb-2009-12-11.E01
-
Jo-work-usb文件:
digitalcorpora.s3.amazonaws.com/corpora/scenarios/2009-m57-patents/usb/jo-work-usb-2009-12-11.E01
再次提醒,无论是在阅读完本章后,还是在书籍结束后,你都可以随时回到这些文件来提升你的 DFIR 分析技能。
现在让我们回到 Autopsy 4 的安装界面,熟悉一下它的界面。
创建新案例并熟悉 Autopsy 4 的界面
现在我们已经在 Kali 上通过 Wine 安装了 Autopsy 4 的 GUI,并且从上一部分下载了所需的文件,我们可以通过创建一个新案例并使用样本证据文件来开始,接下来的部分我们将分析这些文件。
让我们首先在 Autopsy 4 的 GUI 中创建一个新案例:
- 无论是从之前下载样本证据文件之前的状态继续,还是从桌面或应用菜单中打开 Autopsy 4,你都会看到选择开始新案例或打开现有案例的选项。为了我们的目的,点击New Case来创建一个新案例:
图 13.8 – 在 Autopsy 中创建新案例
- 接下来,我们可以添加一个案例名称。我还在 Kali 中选择了Documents文件夹作为我的Base Directory文件夹,用来存放所有文件和日志。点击Next继续。
图 13.9 – 新建案例详情
- 我们接下来需要为案件分配一个编号,并填写检查员的详细信息。完成后,点击完成按钮以继续。
图 13.10 – 检查员详情
创建新案件可能需要几分钟时间,因为 Autopsy 正在为使用做好准备。
图 13.11 – 打开新案件状态显示
- 然后,选择主机。我们可以暂时保留默认选项根据数据源名称生成新的主机名称,然后点击下一步以继续。
图 13.12 – 案件主机名称
- 下一步是一个重要步骤,我们必须特别注意。在这里,我们选择数据源类型。我们的示例文件(terry-work-usb-2009-12-11.E01)是一个法医获取的证据镜像文件,因此我们将选择第一个选项,磁盘镜像或虚拟机文件。选择后,点击下一步以继续。
图 13.13 – 选择数据源
- 我们现在将选择要分析的文件。我已将示例证据文件下载到 Kali Linux 中的Downloads文件夹。您可以点击浏览按钮,导航到C:\users\kali\Downloads文件夹,然后选择证据文件(terry-work-usb-2009-12-11.E01)或直接输入文件路径。选择您的时区后,点击下一步以继续。
图 13.14 – 数据源路径指定
- 接下来,我们可以配置摄取模块,决定 Autopsy 将在哪些项目上运行已选择的模块进行完全自动化的 DFIR 分析。我保留了默认设置,选择了所有文件和目录。点击下一步以继续。
图 13.15 – 配置摄取模块
重要提示
对于较大的证据文件、磁盘和镜像,由于需要处理的项目数量庞大,分析过程可能会更长。运行所有模块可能不可行。然而,如果您没有手动指定模块,Autopsy 将自动取消任何无法运行的模块。
如果 Autopsy 在运行模块时遇到任何错误,它们将被自动移除,如以下截图所示。点击确定以接受并继续:
图 13.16 – 摄取模块失败错误
- 一旦错误信息被关闭,点击完成按钮开始分析文件:
图 13.17 – 完成数据源分析详情
现在我们可以在 Autopsy 界面中查看所有分析过的文件,如以下截图所示。
图 13.18 – Autopsy 界面
让我们开始在 Autopsy 界面中探索我们的发现,以查看分析结果。
使用 Autopsy 4 分析目录并恢复已删除的文件和遗迹
如前所述,Autopsy 拥有一个非常简单且不复杂的界面。Autopsy 窗口分为三个窗格,如下所述:
-
左侧窗格显示了被分析和检查的数据源,以及 Autopsy 所发现和恢复的所有目录和文件。
-
主窗格显示了数据源文件夹中所有发现的文件。
-
下方的窗格显示了文件的详细信息,如十六进制、文本、文件元数据和数据遗迹。
在以下截图中,我通过点击每个提到的项目旁边的加号(+)扩展了数据源、文件视图和已删除文件文件夹,这些文件夹都显示了子目录,如下图所示:
图 13.19 – Autopsy 中分析的数据源发现
通过在左侧窗格中展开数据源项目,我们可以看到证据文件包含两个卷。卷 1 是未分配的空间,卷 2 是 Windows 95 FAT32 卷,展开后可以看到孤立文件、未分配文件,甚至已删除的文件夹,如下图所示。
图 13.20 – 数据源卷和发现的遗迹
如果我们仔细查看文件类型,我们可以看到 Autopsy 已将文件类型分类为图片、视频、音频、压缩文件,甚至文档子文件夹,这些文件夹可能包含已发现的遗迹。
在以下截图中,我们可以看到 Autopsy 已发现几种类型的文件,包括 4,992 张图片、4 个数据库和 24 个已删除文件。我点击了扩展后的图片文件夹,其中包含 4,992 个文件。在右侧窗格中,我们可以看到所有图片的列表,以及这些图片文件的修改、访问和创建时间。
图 13.21 – 查看发现的图片及其相关时间戳
耐心是关键!
逐一浏览这些文件以发现任何有用的信息或遗迹可能看起来是一项繁琐的任务,但成功的数字取证和响应(DFIR)调查与分析的关键是耐心!
接下来,我选择了已删除文件文件夹,然后选择了文件系统文件夹。文件系统文件夹的内容显示在主窗口中,每个已删除文件旁边都有一个红色的X,如图 12.22所示。我还向下滚动并点击了已删除的xpadvancedkeylogger.exe文件,报告显示它最后一次修改的时间为 2009-12-03 08:40 EST。
图 13.22 – 发现并恢复的人工制品
在前面的截图中,我们可以看到,当需要筛选已删除的文件时,Autopsy 是多么有用,因为所有文件都被分组并附有时间戳。
我在这个非常简短的教程中想向你展示的最后一个功能是时间轴功能。点击应用程序顶部的时间轴按钮,生成按月排列的事件时间轴,正如下面的截图所示。
图 13.23 – Autopsy 时间轴功能
在前面的时间轴中,你还可以按月查看事件。让我们点击红色的十月标记。在下方的窗格中,我们可以看到有两个可执行文件是在 2008-10-15 17:14 创建和修改的。这些文件是vnc文件,可以用来获取或提供远程访问,可能还会危及设备安全。
图 13.24 – 时间轴功能中的 VNC 文件
这也标志着我们使用 Autopsy 4 进行的自动化 DFIR 分析的结束。我鼓励你使用本章开头提到的样本文件返回到这个工具中,并分析本章中“下载用于自动化分析的样本文件”部分提到的其他下载样本文件。
总结
在这一章中,我们下载并安装了更强大的 Windows 版本 Autopsy,称为 Autopsy 4 GUI,并通过 Wine 在 Kali Linux 上运行了它。我们还了解了如何利用这个版本的 Autopsy 自动分析证据文件,查找诸如已删除文件之类的人工制品。我希望你喜欢这一章,因为它展示了比我们在第十二章中看到的 Autopsy 浏览器更强大的 Autopsy 版本,Autopsy Forensic Browser。
接下来,我们将了解一些流行的扫描和侦察工具,尽管这些工具并非专为 DFIR 目的而创建,但在网络取证分析和调查中非常有用。我们在第十四章中见!
第五部分:网络取证分析工具
在最后部分,我们将使用大量已安装和在线工具来发现和检查网络及在线活动,包括网络主机发现与指纹识别、物联网发现与调查,以及数据包捕获分析来检查网络流量。
本部分包含以下章节:
-
第十四章,网络发现工具
-
第十五章,使用 Xplico 进行数据包捕获分析
-
第十六章,网络取证分析工具
第十四章:网络发现工具
在本章中,我将介绍一些常见工具,这些工具有助于网络发现、网络信息收集与侦察过程,并且总体上有助于网络取证分析。特定的网络取证分析工具,如 Xplico 和 NetworkMiner,将分别在第十五章《使用 Xplico 进行数据包捕获分析》和第十六章《网络取证分析工具》中进行讲解。
在本章中,我们将首先进行网络主机发现,详细介绍主机本身的具体信息,如操作系统(OS)和开放端口,然后使用一个在线工具来发现外部和公开可识别的主机。
在本章中,我们将学习以下内容:
-
在 Kali Linux 中使用 netdiscover 识别网络上的设备
-
在 Kali Linux 中使用网络映射器(Nmap)识别网络上的设备
-
使用 Nmap 对主机详细信息(端口、操作系统等)进行指纹识别
-
使用 Shodan.io 查找外部物联网设备,包括防火墙、监控摄像头系统和服务器
到本章结束时,你将能够使用这些工具帮助进行 DFIR 调查,收集有关本地和远程连接设备的信息,如 IP 地址、设备类型、操作系统详细信息、开放端口等。
在 Kali Linux 中使用 netdiscover 识别网络上的设备
我们将从使用一个非常简单的工具——netdiscover开始网络主机发现。netdiscover 工具已在 Kali Linux 中预装;不过,几乎任何版本的 Linux 都可以通过以下命令安装它:
sudo apt install netdiscover
netdiscover,顾名思义,用于通过广播地址解析协议(ARP)请求,在有线或无线网络上发现在线主机。netdiscover 易于使用的一大特点是它允许用户自动扫描整个 IP 地址范围或子网,从而检测在线主机。netdiscover 的另一个非常有用的功能是它可以显示媒体访问控制(MAC)地址以及设备或网络接口卡(NIC)的厂商信息,这在区分终端用户、服务器和网络设备时,能使主机发现变得更加简单。
在开始使用 netdiscover 之前,我们应该注意扫描设备上的网络接口信息。这还可以告诉我们 IP 地址、子网掩码和网络范围。
为此,输入以下内容:
ifconfig
在图 14.1中的以下输出中,我们可以看到有两个接口,分别是以太网(eth0)和回环(lo)接口:
图 14.1 – ifconfig 命令输出
在eth0接口的详细信息中,我们可以看到我的 IP 地址是10.10.170.105,子网掩码是255.255.0.0。我们将使用这个接口与netdiscover命令。
现在我们知道了将使用的接口和 IP 范围,我们可以继续使用 netdiscover 来识别网络主机:
-
我们将首先启动 netdiscover,并使用帮助选项查看 netdiscover 中所有可用的选项和开关。为此,请键入以下命令:
sudo netdiscover –h
要使用 netdiscover 自动扫描网络中的设备,我们将使用**–r**选项来指定子网或 IP 地址范围。
图 14.2 – netdiscover 选项
-
我将使用以下命令扫描我的整个10.10.0.0网络范围:
netdiscover –i eth0 –r 10.10.0.0/16
注意
请确保使用的是你自己的网络范围,因为你的范围可能与我的不同。
- 现在,按Enter键。按下Enter后,netdiscover 将开始运行。请等待片刻,直到它完成并编制出包含 IP、MAC 地址和厂商/主机名的列表,如下图所示:
注意
为了保护隐私,我已屏蔽了部分 MAC 地址。
图 14.3 – netdiscover 输出
在前述输出中,我们可以看到 netdiscover 已捕获468个 ARP 数据包并检测到151个活动主机,列出了它们的 IP、MAC 地址以及厂商/主机名。
现在我们来看一下如何使用 Nmap 来执行主机发现。
使用 Nmap 查找网络中其他主机和设备
由戈登·里昂(Gordon Lyon),也就是Fyodor,创建的Nmap是进行漏洞评估和渗透测试时最常用的网络扫描和枚举工具之一。它在数字取证和响应(DFIR)任务中也非常有用,特别是在调查需要披露网络上主机详细信息的网络通信时。
Nmap 也是一个名声在外的工具,曾出现在诸如黑客帝国重装上阵、谍影重重、惊天危机 4、龙纹身的女孩等热门电影中,并且还在非常受欢迎的电视剧《Mr. Robot》中出现。
Nmap 是一个命令行界面(CLI)工具,已预装在 Kali Linux 中。Windows 和 Mac 设备也有图形用户界面(GUI),但我个人认为,使用 CLI 可以访问更多选项和功能。
Nmap 有许多开关,并且需要了解端口、传输控制协议/互联网协议(TCP/IP)协议和 TCP 标志。如果你对这些主题不熟悉,请在继续之前阅读相关资料。有关 TCP 的更多信息,请访问这个链接:en.wikipedia.org/wiki/Transmission_Control_Protocol
。
让我们按照以下步骤使用 Nmap 查找网络中其他主机和设备:
-
要启动 nmap 并查看可用的开关和选项,我们可以使用以下命令:
sudo nmap –h
如前述输出所示,nmap 的一般格式和用法是nmap [扫描类型] [选项] {****目标规范}。
图 14.4 – nmap 帮助选项输出的一个片段
- 首先,我将尝试使用 –sn 选项进行基本的 ping 扫描,以列出可以进一步扫描的主机,就像 netdiscover 在前一节中发现我网络中的在线主机一样。
要执行基本的 ping 扫描,我们可以输入 sudo nmap –sn,后跟网络范围,在我的情况下是 10.10.0.0/24。你的网络范围可能不同,所以请确保使用自己的网络范围。
-
我们还可以使用 –v 选项以原样列出 nmap 中的输出:
sudo nmap –sn –v 10.10.0.0/24
以下截图显示了前述 Nmap 命令的输出。
图 14.5 – nmap ping 扫描输出
如果我们向下滚动 nmap 输出,可以看到通过 ping 扫描发现的在线主机列表。尽管没有 netdiscover 那么有条理,nmap 仍然显示了相同的结果,如下所示。
图 14.6 – nmap 输出显示已发现的存活主机
在这一节中,我们学习了 Nmap 的基础知识,现在我们已经能够使用这个命令行工具扫描内部网络。
现在让我们进一步进行 Nmap 扫描,学习如何识别已发现设备的端口和服务。
使用 Nmap 获取主机详细信息指纹
现在我们已经熟悉了如何查看 nmap 开关并运行基本扫描,让我们通过发现运行中的服务、端口,甚至被发现主机的操作系统,来进行主机枚举,这可能是我们 DFIR 调查中的有用线索。
如前一节所示,一旦你熟悉了可以使用的各种开关,nmap 的使用相当简单。可以再次运行 sudo nmap –h 命令来查看可用的开关和选项。
对于我们的目的,nmap 中的 –A 选项在枚举主机或整个网络时可以执行以下任务:
-
操作系统检测
-
服务版本检测
-
脚本扫描
-
路由追踪
–A 选项在对整个网络运行时可能需要较长时间,因此我将其仅针对一台主机运行,这台主机在我之前对我的网络进行 ping 扫描时被显示为存活。
要运行此服务扫描,我将执行以下命令:
sudo nmap –A –v 10.10.10.10
以下截图显示了 Nmap 中 -A 选项的输出。
图 14.7 – nmap 服务扫描
滚动浏览服务扫描输出,nmap 还显示了开放端口列表,并识别了正在运行的服务及其版本,如下所示。
图 14.8 – nmap 输出显示开放端口和正在运行的服务
在继续浏览同样的输出时,nmap 显示了主机的详细信息,例如主机(目标)名称、域名和计算机名,如图所示。出于隐私原因,我已经模糊了部分输出。
图 14.9 – nmap 输出显示主机信息
滚动到 nmap 输出的几乎底部,我还可以看到主机操作系统的详细信息,如图所示:
图 14.10 – nmap 输出显示主机操作系统详情
在前面的输出中,我们可以看到主机是运行 Windows 10(1507 - 1607)的戴尔设备。
我们现在已经知道如何扫描内部网络,并使用 Nmap 来识别活动系统及其详细信息,如操作系统、MAC 地址、正常运行时间,甚至开放端口。
现在让我们走出本地网络,学习如何使用 Shodan 定位和识别外部及物联网设备。
使用 Shodan.io 查找包括防火墙、监控摄像头和服务器在内的物联网设备
快速想象一个允许你搜索任何内容的网站。虽然我不是预言家,但我猜你会想到 Google。也许我还是老老实实做我的本职工作吧。就像 Google 扫描和抓取互联网上的主要部分,索引网站和资源一样,Shodan 采取类似的方法来扫描互联网和 IP 地址,并索引可以通过网络访问的设备的有用信息。
物联网(Internet of Things)设备是指那些能够连接到互联网,但可能不是传统计算机(如笔记本电脑和台式机)的设备。物联网设备包括智能设备,如可穿戴的健身设备和追踪器、智能微波炉和烤箱、亚马逊 Echo、门铃摄像头,甚至智能汽车。物联网设备还扩展到工业系统,被称为工业物联网(IioT)设备。比如,一家大型饮料制造公司就需要有系统和设备来计算瓶子、瓶盖和标签,检查温度,并促进需要通过可编程逻辑控制器(PLCs)、监控控制与数据采集(SCADA)和工业控制系统(ICS)进行网络连接的传感器之间的通信。这适用于每个工业领域,甚至是核电厂!将这种操作技术(OT)与 IioT 结合在一起的情况也很常见,这就是OT-IIoT,因为 OT 设备可以通过 IIoT 系统进行远程控制。
这里的问题在于确保物联网(IoT)和工业物联网(IIoT)设备的安全性,以及设备访问权限,尤其是远程访问。作为一名渗透测试员,我经常使用Shodan.io来查找属于不同类型公司的系统,尤其是大型组织。在进行数字取证和事件响应(DFIR)调查时,这项技能也非常有用,因为关于外部设备和物联网设备的信息可以通过 Shodan.io 很容易地找到。
Shodan 团队声称,Shodan 可以找到所有连接到互联网的设备,并揭示关于设备的重要元数据。这是有益的,因为它允许公司使用 Shodan 查找其设备是否可以被公开访问,但同样也将这些信息展示给攻击者。这并不是说 Shodan 是一个坏的或恶意的工具,因为还有数百种其他工具可以一起使用,泄露相同的信息。Shodan 只是让这一过程变得更简单。
Shodan 是一项付费订阅服务;然而,你可以免费使用它,虽然只能获得非常有限的结果,或者注册一个免费账户,在进行物联网和工业物联网搜索时可以访问两页结果。如果你不想购买他们的订阅套餐,可以等他们的年终促销(通常在黑色星期五和感恩节期间),这时可以以 5 美元的价格购买一个个人使用的限时终身订阅。对于这个练习,我将使用 5 美元的付费订阅,但我鼓励你注册该网站,这样至少可以每次访问两页结果。
使用 Shodan 过滤器进行物联网搜索
Shodan 搜索不像 Google 搜索那样直观,但进行 Shodan 过滤器搜索并查找特定设备并不难。你可以查看 Shodan 过滤器参考文档,地址是 beta.shodan.io/search/filters
。
这是你可以使用的一些基本搜索过滤器:
-
product:搜索硬件制造商或软件开发商的名称
-
hostname:根据搜索的主机名查找设备
-
os:按操作系统搜索设备
-
port:查找设备的开放端口
-
city:查找特定城市内的设备
-
country:查找特定国家内的设备
-
geo:根据 GPS 坐标查找设备
让我们来试试几个搜索。我住在加勒比海的一个小岛上,叫做特立尼达。如果我想查看特立尼达岛内的设备列表,可以在 Shodan 搜索框中使用国家过滤器,后跟国家代码:
country:"TT"
如果不确定自己国家的代码,简单的网络搜索应该能帮你找到答案。我发现 www.countrycode.org/
这个网站非常有用。
在下方的截图中,我们可以看到国家过滤器的结果,其中TT代表特立尼达和多巴哥的国家代码。在屏幕左侧,我们可以看到找到的124, 921个物联网设备的结果,下面列出了顶级城市,每个城市列出了设备的数量,随后是顶级开放端口、顶级组织等信息。在屏幕的中间和右侧,我们可以看到实际的 IP 地址和这些设备的信息。
图 14.11 – Shodan 国家过滤器结果
由于隐私和法律问题,我不会点击这些结果,因为这会将我们带到另一个页面,显示公司和主机的详细信息,甚至公开设备的开放端口和操作系统。请务必在继续操作之前,进行网络搜索并查看您所在国家和州的法律。如果不确定,您可能希望先联系执法机关或了解当地法律和法规的专家。
让我们尝试另一种搜索,使用 国家 过滤器和 产品 过滤器,搜索特立尼达的 Fortinet 防火墙,输入如下内容:
country:"TT" product:"Fortinet"
在以下搜索结果中,我们可以看到 Shodan 返回了特立尼达的 54 个 Fortinet 防火墙结果。再次出于法律和隐私的考虑,我不会点击 IP 地址,因为这将显示比主页列出的更多设备细节。
图 14.12 – 特立尼达 Fortinet 防火墙的产品过滤器
我们还可以使用 Shodan 查找特定的服务器。假设我想搜索使用 2.2.3 版本的 Apache Web 服务器。可以通过使用 服务器 过滤器并输入服务器版本来实现,输入如下内容:
country:"TT" apache 2.2.3
在这里,我们看到 Shodan 显示了 11 个结果,主要位于特立尼达的西班牙港和查瓜纳斯。
图 14.13 – 使用 Shodan 查找 Web 服务器
在我们的最后一次搜索中,我想使用 Shodan 搜索 CCTV IP 摄像头。为此,我们可以再次使用 产品 过滤器。我将指定 海康威视 摄像头系统,因为这是一个非常常见的 CCTV 系统,输入如下内容:
country:"TT" product:"Hikvision IP Camera"
如最终示例所示,Shodan 返回了 7,689 个海康威视摄像头实例。如果你的 DFIR 调查需要监控摄像头录像,这也会非常有用,它能提醒你摄像头可能的位置,甚至可能提供一个公司名称,你可以联系并请求查看他们的录像。
图 14.14 – 使用 Shodan 发现 CCTV 摄像头
随时尝试更多 Shodan 过滤器,但请检查适用的当地法规,确保这些搜索是合法的。
总结
在本章中,我们了解了网络发现和枚举工具 netdiscover 和 nmap,并学习了如何扫描网络以寻找开放的主机,并查看 IP 地址、MAC 地址和主机名等详细信息。我们还进一步使用 Nmap 探索更多主机细节,如开放端口、正在运行的服务及其版本、计算机名称和域名。接着,我们使用 Shodan.io 查找 IoT 设备,并通过各种搜索过滤器查找防火墙、服务器和 CCTV 摄像头。
这些工具对于任何收集本地和远程设备信息的人来说,尤其是在网络 DFIR 调查中,都是非常有用的。
接下来,我们将介绍一款叫做 Xplico 的 网络取证分析工具 (NFAT)。下章见。
第十五章:使用 Xplico 进行数据包捕获分析
在本章中,我们将介绍 Xplico,它是一款自动化的网络取证分析工具(NFAT)。Xplico 可以在 Kali Linux 中找到;然而,我发现,在过去的几个版本(2019-2022 年)中,尝试运行 Xplico 时会遇到一些问题,这可能是由于 Kali 本身的更新所致。
虽然我会为那些有幸能够顺利运行 Xplico 的人解释如何在 Kali Linux 中启动 Xplico,但对于那些在 Kali 本身中运行 Xplico 时可能遇到困难的人,我们将使用运行 DEFT Linux 8.1 的虚拟机来运行 Xplico。
本章将涵盖以下主要主题:
-
在 Kali Linux 中安装 Xplico
-
在 VirtualBox 中安装 DEFT Linux 8.1
-
下载样本分析文件
-
在 DEFT Linux 中启动 Xplico
-
使用 Xplico 自动分析网页、电子邮件和语音流量
在 Kali Linux 中安装 Xplico
按照以下步骤在 Kali Linux 中安装 Xplico:
-
如果 Xplico 没有包含在你当前使用的 Kali Linux 版本中,你可以首先更新 Kali Linux,并通过输入以下命令安装 Kali 取证仓库:
sudo apt update && sudo install kali-linux-forensics
-
然后,通过输入以下命令更新你的 Kali:
sudo apt update
-
一旦 Kali 更新完成,使用以下命令在 Kali 中安装 Xplico:
sudo apt-get install xplico
-
当提示你点击Yes并下载和安装必要的文件时,按Y键。
接下来,我们需要启动 Apache 和 Xplico 服务。
-
输入以下命令启动apache2服务:
sudo apache2 start
-
通过输入以下命令启动 Xplico 服务:
sudo xplico start
-
要以 root 用户的身份完全管理员权限运行 Xplico,请输入以下命令:
sudo /etc/init.d/xplico start
-
在搜索框中输入Xplico并点击第一个 Xplico 选项:
图 15.1 – Xplico 在搜索菜单中的选项
- Xplico 界面将在浏览器中打开。你也可以手动输入http://localhost:9876/,在你选择的浏览器中打开。
如果前面的步骤不起作用,你可以使用 Xplico 在 DEFT Linux 中,我们将在下一节进行介绍。
在 VirtualBox 中安装 DEFT Linux 8.1
安装 DEFT Linux 非常简单,只需几分钟。我们很快就能启动并运行 Xplico。对于那些能够在 Kali Linux 中启动 Xplico 的用户,你可以跳过这个过程,直接进入下载样本分析文件部分,在那里我们将下载并开始使用 Xplico 分析样本文件。
对于那些选择安装 DEFT 以便使用 Xplico 的用户,让我们毫不拖延地开始吧:
-
DEFT 非常用户友好,基于一个名为 Lubuntu 的轻量级 Ubuntu 版本。你可以在
archive.org/details/deft-8.2
下载 DEFT Linux 的 ISO 镜像文件。 -
下载完成后,打开 VirtualBox 并点击新建选项来创建一个新的虚拟机,如下所示。
图 15.2 – VirtualBox 中的“新建”选项
- 在相关字段中输入详细信息,如下图所示:
图 15.3 – 新虚拟机详细信息
我为 DEFT 虚拟机分配了 6 GB 的内存。
图 15.4 – VirtualBox 内存分配
-
对于硬盘选择,选择立即创建虚拟硬盘选项,并点击创建。
-
对于硬盘文件类型选择,选择 VDI(VirtualBox 磁盘映像)选项并点击下一步。
-
对于物理硬盘上的存储选择,选择动态分配选项,点击下一步,然后点击创建。
-
接下来,点击 VirtualBox 管理器窗口中的 DEFT Linux 条目,然后点击绿色的开始按钮:
图 15.5 – VirtualBox 管理器窗口中的 DEFT 详细信息
- 接下来,点击选择启动 磁盘窗口右下角的黄色文件夹图标,选择 DEFT ISO 镜像。
注意
还不要点击开始。
图 15.6 – 虚拟光盘文件选择
- 然后,点击蓝色的添加按钮。
图 15.7 – 光盘选择
- 现在,浏览到你下载的 deft-8.2.iso 文件所在的文件夹,点击该文件,然后点击打开。
图 15.8 – 选择 DEFT.iso 文件
现在你应该在磁盘选择窗口中看到 deft-8.2.iso 文件。
- 点击deft-8.2.iso文件,然后点击选择按钮:
图 15.9 – 选择光盘
- 一旦选择完成,你应该能够在选择启动磁盘窗口中看到 deft-8.2.iso 文件。现在可以点击开始按钮启动 DEFT Linux 8.2。
图 15.10 – 选择启动磁盘窗口
- 一旦完成所有先前的步骤,你将看到 DEFT Linux 启动屏幕。选择DEFT Linux 8 Live选项并按 Enter。
图 15.11 – DEFT Linux 启动画面
所有进程加载完毕后,你现在可以访问 DEFT Linux 桌面,如下所示。
图 15.12 – DEFT Linux 桌面界面
希望你已经顺利到达这里。继续分析之前,我们现在先下载我们的样本文件以供分析。
下载样本分析文件
现在,让我们下载三个样本文件进行 Xplico 的自动化分析。我们将下载三个样本数据包捕获(.pcap)文件进行分析。所有三个文件和其他许多文件可以在wiki.wireshark.org/SampleCaptures
找到;不过,您可以通过以下直接链接立即下载这三个必需的捕获文件:
-
http_with_jpegs.cap.gz:
wiki.wireshark.org/uploads/__moin_import__/attachments/SampleCaptures/http_with_jpegs.cap.gz
-
smtp.pcap:
wiki.wireshark.org/uploads/__moin_import__/attachments/SampleCaptures/smtp.pcap
-
nb6-telephone.pcap:
wiki.wireshark.org/uploads/__moin_import__/attachments/SampleCaptures/nb6-telephone.pcap
现在我们已经下载了所有样本文件并准备好使用,最后,让我们启动 Xplico。
在 DEFT Linux 中启动 Xplico
我们在本章开头已经学习了如何在 Kali Linux 中启动 Xplico,现在让我们在 DEFT Linux 中做同样的操作:
- 在你的 DEFT Linux 虚拟机中,点击 DEFT 桌面左下角的 DEFT 菜单按钮,它看起来像是字母d旁边有一个黑色八号球。
图 15.13 – DEFT Linux 菜单按钮
DEFT 菜单将会打开。
-
点击Service选项,然后点击Apache start按钮。终端将会打开并启动该服务。
-
接下来,返回Service选项并点击Xplico Start按钮。终端将会打开并启动 Xplico 服务。
-
最后,我们可以通过点击DEFT菜单按钮/图标,向上导航到DEFT菜单,再横向选择Network Forensics菜单,最后选择Xplico来启动 Xplico,如下所示。
图 15.14 – 在 DEFT 中启动 Xplico
- Xplico 现在将在默认浏览器中打开,你也可以通过在网址栏输入localhost:9876来访问它。
重要提示
用户名和密码都是xplico(全小写)。
图 15.15 – Xplico 界面登录
现在我们已经登录到 Xplico,接下来让我们创建一个案例和会话来进行分析。
使用 Xplico 自动分析网页、电子邮件和语音流量
一旦我们在 Kali Linux 或 DEFT Linux 中启动了 Xplico,就可以开始创建和分析我们的 .pcap 文件。Xplico 拥有非常直观的用户界面,还允许单独管理案例和会话。在上传并自动分析 .pcap 文件之前,我们必须先创建一个案例和会话:
- 要创建一个新案例,点击 Xplico 窗口左侧的 新建案例 选项。
图 15.16 – Xplico 中的新建案例选项
- 接下来,给你的案例命名。我将我的案例命名为 CFSI-HTTP-2023,因为在这个案例中,我们将分析之前下载的 HTTP .pcap 文件:
图 15.17 – 案例名称创建
- 点击 创建 继续,然后点击已创建的案例名称以继续。如图所示,案例名称列出为 CFSIHTTP2023。
图 15.18 – 案例列表
- 现在新案例已经创建,我们必须创建一个新的会话。在 Xplico 的左侧菜单中点击 新建会话 按钮,如图所示。
图 15.19 – Xplico 中的新建会话
- 给你的会话起一个与案例名称不同的名称,然后点击 创建:
图 15.20 – 案例会话创建
- 创建案例会话后,点击红色文字列出的会话名称。如图所示,我的会话名称为 CFSIHTTPAnalysis:
图 15.21 – 案例会话详情
这将把我们带到 Xplico 的主窗口,在这里我们可以上传文件进行分析。
注意
对于每个下载的 .pcap 示例文件,你需要创建一个新的案例。创建新案例和会话时,随时可以根据需要查看本部分内容。
创建案例后,我们可以开始使用 Xplico 进行实际的数据包分析。
自动化的 Web 流量分析
在本节中,我们将使用 Xplico 执行自动化的 Web 流量和 HTTP 分析:
- 让我们继续进行 CFSIHTTPAnalysis 会话。在这个会话中,我们将分析 http_witp_jpegs.pcap 文件,该文件包含在我们下载的 http_witp_jpegs.gz 文件中。要提取 .pcap 文件,右键点击下载的 http_witp_jpegs.gz 文件,并点击 解压到此。
解压后,你将看到 http_witp_jpegs.pcap 文件与其他下载的文件一起列出,如下所示。
图 15.22 – 所有已下载并解压的示例文件
- 现在让我们返回浏览器中的 Xplico 网络界面,并点击 浏览… 按钮,位于 Pcap 集合 部分,如下所示。
图 15.23 – Xplico 中的 Pcap 集合部分
-
转到http_witp_jpegs.pcap并点击打开。
-
然后,在Pcap 集合部分点击上传按钮上传文件进行分析。文件上传可能需要几秒钟,这将以红色文字显示,如图所示。
图 15.24 – Pcap 文件解码
一旦文件被解码并分析完毕,您将在 Xplico 的会话数据区域看到解码完成的字样,如图所示。
图 15.25 – 解码完成
重要提示
上传并解码文件的过程也必须对每个**.pcap**文件进行。根据需要随时返回此部分。
- 为了分析我们上传的文件,我们将使用左侧菜单,这允许我们检查网页、邮件、VoIP(语音传输协议)和其他工件。
图 15.26 – Xplico 分析菜单栏
- 让我们通过点击网页菜单并选择网站选项开始分析。Xplico 已经显示了访问过的网站列表。我们还可以点击每个网站进行访问。
图 15.27 – Xplico 解码的网站
- 让我们点击侧边菜单中的图像选项。我们可以看到,Xplico 已经为我们解码并处理了四张图像,如图所示。
图 15.28 – 解码后的图像
现在我们知道如何执行自动化 HTTP 分析并查找各种网页工件,包括已查看和下载的图像,接下来让我们使用 Xplico 进行一些自动化的 SMTP 和电子邮件分析。
自动化 SMTP 流量分析
让我们创建一个新案例来执行简单邮件传输协议(SMTP)分析。SMTP 用于发送电子邮件,分析 SMTP 流量可以揭示邮件的发送者、接收者和其他详细信息,包括附件。所以,让我们开始创建新案例并进行 SMTP 流量分析:
-
对于本次练习,我已重复前面的步骤来创建一个新案例和会话。案例详情如下:
-
案例名称:CFSI-SMTP-2023
-
外部参考:SMTP 分析
-
会话名称:CFSI SMTP 分析 2023
-
-
一旦我们的案例和会话被创建,点击会话继续。
图 15.29 – SMTP 会话
- 现在我们可以浏览smtp.pcap文件并上传它进行处理、解码和分析。解码完成后,您将再次收到通知,如图所示。
图 15.30 – 解码完成
- 让我们点击侧边栏中邮件菜单下的电子邮件选项,以查看 Xplico 解码的内容。
图 15.31 – 解码的电子邮件
在前面的屏幕中,我们可以看到 Xplico 解码了从gurupartap@patriots.in发送到raj_deo2002in@yahoo.com的电子邮件。
- 如果我们点击SMTP这个词,如图 15**.31所示,我们可以查看电子邮件的内容,如图 15**.32所示。
图 15.32 – 解码电子邮件的内容
现在让我们继续进行另一项分析练习。
自动化 VoIP 流量分析
如果捕获并保存在**.pcap**文件中,Xplico 还可以解码 VoIP 流量。进行此分析,请按照以下步骤操作:
- 让我们再次创建一个新的案例和会话。
这里是案例和会话的详细信息:
-
案例名称:CFSI-Voice-2023
-
外部参考:CFSI Voice 分析
-
会话名称:CFSIVoice2023
- 一旦我们创建了案例和会话,我们就可以导航到并上传我们之前下载的nb6-telephone.pcap文件。
图 15.33 – 解码的 VoIP 文件
- 让我们点击Voip菜单栏中的SIP选项,查看 Xplico 揭示了什么。
图 15.34 – 解码的 VoIP 流量
- 正如之前所示,Xplico 已经自动解码了捕获的 VoIP 对话。您还可以点击通话持续时间以回放对话,如下面的截图所示。
图 15.35 – 解码的 VoIP 通话
您可能需要安装插件来播放音频文件。如图 15**.35所示,您将被提示自动安装相关插件。
摘要
在本章中,我们学习了如何在 Kali Linux 和 DEFT Linux 中使用 Xplico,这两者我们分别在 VirtualBox 中单独安装。对于那些在 Kali 中安装 Xplico 时遇到问题的人来说,DEFT 可以是一个很好的替代品,它还提供了许多其他工具,如果你愿意的话可以去探索。我们学到了每个数据包捕获(.pcap)文件分析都需要创建一个新的案例和会话,并且 Xplico 会自动解码和分析**.pcap**文件,以揭示对我们 DFIR 调查有用的证据。最后,我们学会了如何使用 Xplico 查找有用的证据,比如访问的网站、查看和下载的图片、电子邮件和 VoIP 对话。希望你喜欢使用这个自动化工具。我们将在下一章中介绍其他 NFAT 工具。下一章见。
第十六章:网络取证分析工具
我们到了最后一章。我相信“强势完成”这一概念,所以让我们继续保持节奏,通过一些网络取证分析工具(NFAT)来继续我们的 DFIR 之旅,我相信你会觉得这些工具非常有用。
到目前为止,我们已经进行了相当多的获取和分析工作,包括硬盘、存储、RAM 和交换文件分析,恶意软件分析,甚至是一些网络数据包分析,目的是获取、记录和分析证据,以期找到或恢复证据。然而,让我们进一步分析数据包、协议和网络通信,因为它们也可能是有用的证据,有助于我们在 DFIR 调查中找到线索。
认识到一些事件和犯罪发生在互联网或局域网(LAN)上,捕获和分析网络流量应该是我们调查过程中不可或缺的一部分,有助于发现可能帮助我们更好地理解事件的证据,指向事件的起源,甚至在某些情况下,如果怀疑事件不是孤立的,还能帮助扩大调查范围。
本章将涵盖以下主题:
-
使用 Wireshark 创建数据包捕获(PCAP)文件
-
使用 NetworkMiner 进行数据包分析
-
使用 PcapXray 进行数据包分析
-
使用packettotal.com进行在线 PCAP 分析
-
使用apackets.com进行在线 PCAP 分析
-
报告与展示
使用 Wireshark 捕获数据包
Wireshark是一款非常流行且知名的网络和数据包分析工具,广泛用于网络故障排除。它在 Kali 中预装,并且一旦了解了过滤器、协议和颜色代码,使用起来相对简单。
如果你是 Wireshark 协议分析器和数据包分析的新手,你可以在网上找到一些很好的教程,包括官方文档:www.wireshark.org/docs/wsug_html_chunked/ChapterCapture.xhtml
。
首先,让我们看看我们的网络接口是什么,然后开始使用 Wireshark:
- 启动 Wireshark 后,我们需要指定接口来捕获数据包。要在 Kali Linux 中查看你的接口信息,打开终端并输入ifconfig:
图 16.1 – ifconfig 输出
在前面的屏幕截图中,ifconfig命令显示了两个接口的输出。我将使用的接口是我的以太网接口,列为eth0,另外还有一个回环接口,列为lo。
请注意
如果你使用无线网络接口卡(NIC)来捕获接口,它将显示为wlan0。
-
现在我们知道了将用于捕获数据包和嗅探网络的接口,我们可以通过在终端中输入sudo wireshark来启动 Wireshark。
-
你也可以通过点击应用程序 | 09-嗅探与伪装 | Wireshark来运行 Wireshark:
图 16.2 – 在嗅探与伪装菜单中查找 Wireshark
- 启动 Wireshark 后,如前所述,我们需要选择一个接口来开始捕获数据包。在这个实例中,我的eth0接口被高亮显示,但请确保选择你将用于捕获数据包的接口。
图 16.3 – Wireshark 接口
- 选择接口后,我们可以通过点击蓝色鲨鱼鳍图标或点击捕获 | 开始来开始数据包捕获过程:
图 16.4 – 在 Wireshark 中启动数据包捕获过程
点击开始按钮后,数据包捕获过程会自动开始。
图 16.5 – Wireshark 显示 eth0 上的流量
在前面的截图中,我们可以看到 Wireshark 将显示分为三个部分,顶部的主部分包含以源、目标、协议等信息为行的内容,所有信息都进行了颜色编码。
- 要停止捕获,点击顶部的停止按钮(红色方块图标):
图 16.6 – Wireshark 停止捕获按钮
- 请确保通过点击文件 | 另存为来保存数据包捕获文件。
图 16.7 – 在 pcapng 文件中保存流量
- 我们还可以使用特定的 Wireshark 过滤器来排序数据,从而呈现数据包的逻辑性和更简洁的视图。
Wireshark 过滤器
你可以在www.networkdatapedia.com/single-post/2019/01/29/Top-10-Wireshark-Filters
查看所有 Wireshark 过滤器的列表。
要为具有特定源或目标 IP 地址的数据包设置过滤器,我们使用ip.addr==a.b.c.d格式,如下例所示:
ip.addr==172.16.79.21
以下图显示了前面ip.addr过滤器的输出:
图 16.8 – ip.addr Wireshark 过滤器输出
-
要为特定的 TCP 端口设置过滤器,我们可以使用**tcp.port==**过滤器,如以下示例所示:
tcp.port==443
以下图显示了前面tcp.port过滤器的输出:
图 16.9 – tcp.port 过滤器
- 要设置一个过滤器以搜索特定的单词、字符串甚至用户,可以使用 frame contains 过滤器。例如,我访问了一个网站(www.malware-traffic-analysis.net),该网站托管了恶意软件感染的样本 PCAP 文件,并下载了一个样本 PCAP 文件。要搜索 malware 这个词,我将使用 frame contains malware 过滤器。
下图展示了 frame contains malware 过滤器的输出:
图 16.10 – frame contains malware 过滤器输出
-
要设置一个过滤器以查看两个 IP 之间的对话,我们使用 ip.addra.b.c.d && ip.addrw.x.y.z 格式,如下所示:
ip.addr==172.16.79.94 && ip.addr==172.16.0.1
下图展示了前述过滤器的输出:
图 16.11 – 设备间的数据包交换
注意
你可以在这里找到有关 Wireshark 过滤器的更多信息:wiki.wireshark.org/DisplayFilters
。
使用 Wireshark 确实需要花费一些时间来学习,但我向你保证,它不仅对我们作为 NFAT 在 DFIR 方面的用途非常有用,而且还是一款非常好的网络故障排除工具。接下来我们将介绍一个类似的工具,它以更易读的格式展示数据包分析结果。
使用 NetworkMiner 进行数据包分析
对于一些新接触协议分析器的人来说,分析来自 Wireshark 的捕获数据可能会有些挑战,因为这需要了解协议、过滤器并能够跟踪数据流(所有这些随着实践会变得更容易)。
NetworkMiner 是一个易于使用的数据包捕获查看器,某些用户可能会发现它比 .packet 捕获(PCAP)分析更易于使用,因为它通过解析 PCAP 文件,将找到的数据提取并分类为主机(带有操作系统指纹)、文件、图像、消息、会话等。
NetworkMiner 提供免费版和付费专业版,可以安装在 Windows 和 Linux 上。
我们现在将下载 NetworkMiner,使用 Wine 安装它,然后分析一个样本 PCAP 文件:
- 你可以通过此链接访问 NetworkMiner 的官方网站:
www.netresec.com/?page=NetworkMiner
。
你还可以在 www.netresec.com/?download=NetworkMiner
下载安装文件。
- 下载文件后,右键点击文件并选择 Extract Here 选项。这将提取 NetworkMiner_2-7-3 文件夹。打开该文件夹查看提取的内容。
图 16.12 – 提取的 NetworkMiner 文件
- 运行 NetworkMiner 非常简单,因为我们已经安装了 Wine。只需双击 NetworkMiner.exe 即可打开程序。
图 16.13 – 在 Kali Linux 的 Wine 中运行的 NetworkMiner 界面
-
要查看更多文档和视频,并访问示例 PCAP 文件,请访问此链接:
www.netresec.com/?page=Resources
。 -
在本次分析中,我们将使用来自
wiki.wireshark.org/uploads/__moin_import__/attachments/SampleCaptures/http_with_jpegs.cap.gz
的 PCAP 文件,您可以将其下载并保存到您的 Kali 机器上。该文件之前在第十五章中,用于与 Xplico 一起使用,因此您可能已经将其保存到您的下载文件夹中。
我决定使用这个文件,这样我们可以比较 Xplico 和 NetworkMiner 在结果上有什么不同。
- 我已经将文件下载并解压到我的下载文件夹中。在 NetworkMiner 程序中,点击文件和打开,然后浏览到Downloads文件夹中的http_witp_jpegs.cap文件(或者您下载文件的位置)。点击该 PCAP 文件,然后点击打开。
图 16.14 – 在 Kali 中浏览样本文件
- 点击打开后,NetworkMiner 会加载并分析该文件,并自动为我们分类结果,如下所示:
图 16.15 – 分析和分类的样本 PCAP 文件的结果
-
一开始,我们会在主机标签中看到有关设备的信息。.pcap文件包含每个类别的多个命中:
-
主机 – 4
-
文件 – 11
-
图片 – 5
-
消息 – 0
-
凭证 – 8
-
会话 – 19
-
DNS – 0
-
参数 – 257
-
-
在主机标签中,点击 IP 地址旁的展开(+)按钮,即可查看每个主机的详细信息。我们可以展开第二个 IP 地址(10.1.1.1)来查看详细信息。我们还可以展开其他项,如操作系统,外发会话和主机详细信息,以查看 NetworkMiner 自动解析的所有信息。
图 16.16 – 主机标签中的结果
在前面的截图中,我们可以看到诸如 MAC 地址、NIC 制造商、操作系统(Linux)、开放端口、外发会话到服务器,甚至是主机详细信息,这些信息告诉我们该系统是运行在 Red Hat Linux 上的 Apache web 服务器。
- 接下来,让我们点击文件标签。我们可以看到多个条目和文件类型(html,xapc,和jpeg)。
图 16.17 – 文件标签列表
-
我们还可以打开这些链接并查看文件。右键点击index.xhtml文件并选择打开。这将在浏览器中打开**.xhtml文件。你也可以对其他文件(如.jpeg**文件)执行此操作。
-
点击图像标签。在这种情况下,NetworkMiner 已经找到了5张带预览图像。你也可以右键点击图像,选择打开图像来查看该图像。
图 16.18 – 图像标签
-
在消息标签中,有三条消息显示了源主机和目标主机,以及消息/电子邮件的发送者和接收者,如果我们向右滚动的话。
-
在凭据标签中,我们发现了一些非常有趣的证据。此标签显示了客户端和服务器的 IP 地址、操作系统类型、协议以及可能在该会话中使用的任何关联用户名和密码,这些密码很可能是未加密的明文密码。
-
会话标签显示了数据包捕获时设备之间的会话信息。
-
关键字标签/部分允许调查员输入单个关键字(字符串或十六进制格式),或从文本文件中添加关键字进行搜索,以查找结果列表。如果使用关键字,您可能需要重新指定一个关键字列表或文件,然后重新打开**.pcap**文件来使用 NetworkMiner。
如我们所见,NetworkMiner 是一个强大的数据包捕获分析工具,它通过自动解析和分类在**.pcap**文件中找到的信息,使得分析对调查员和网络人员来说更加简便。
我相信很多人会发现,在进行数据包分析时,NetworkMiner 比 Wireshark 更简单易用,因为其结果以更简洁、更易读的格式展示。请记住,NetworkMiner 的免费版有一些限制,这就是我们需要了解多个 NFAT 工具的原因。接下来,我们将介绍另一个工具——PcapXray。
使用 PcapXray 进行数据包捕获分析
与 NetworkMiner 类似,PcapXray是另一个强大而全面的数据包捕获分析工具。该工具的主要功能之一是识别恶意流量、隐蔽通信、网页流量,甚至是 Tor 流量。
现在,我们将在 Kali Linux 中安装并配置 PcapXray,然后开始分析数据包捕获文件:
-
让我们通过从 GitHub 克隆 PcapXray 来安装它,在终端中输入以下命令:
sudo git clone https://github.com/Srinivas11789/PcapXray.git
像往常一样,我已经将目录更改为桌面。当你将 PcapXray 克隆到桌面时,这会花费一些时间,因为文件的大小为 115MB。
图 16.19 – 将 PcapXray 克隆到 Kali
-
接下来,我们需要通过输入以下命令来安装graphviz:
sudo apt install graphviz
以下图示展示了前述命令的输出:
图 16.20 – 安装 graphviz
-
通过在终端中运行以下命令安装python3-pil.imagetk:
sudo apt install python3-pil python3-pil.imagetk
下图显示了前面命令的输出结果:
图 16.21 – 安装 python3-pil.imagetk
- 我们现在应该能够看到一个包含启动应用所需文件的 PcapXray 文件夹。使用ls命令列出并显示文件夹,然后使用cd PcapXray命令切换到PcapXray文件夹。
图 16.22 – 切换到 PcapXray 目录
-
在运行 PcapXray 之前的最后一步是通过输入以下命令安装应用所需的所有依赖项:
pip3 install -r requirements.txt
这可能需要一些时间,因为它将下载pyshark、stem、pyvis和其他所需的组件。
图 16.23 – 安装额外的 PcapXray 依赖项
-
在PcapXray目录内,我们现在可以通过输入以下命令启动 PcapXray GUI:
python3 Source/main.py
图 16.24 – 在终端中启动 PcapXray
-
首先,从
www.malware-traffic-analysis.net/2019/07/19/index.xhtml
下载名为2019-07-19-traffic-analysis-exercise.pcap的文件进行分析。点击文件名下载它,然后解压文件以开始分析。当系统提示输入密码时,输入infected。 -
现在,我们可以返回到 PcapXray GUI,并浏览到提取的**.pcap**文件,指定输出目录,如下所示:
图 16.25 – PcapXray 文件上传界面
- 点击**Analyze!按钮,接下来会花费一些时间来执行分析。当分析完成后,你应该能够点击Visualize!**按钮,查看可视化结果。
图 16.26 – 自动化 PcapXray 分析结果
- 尽管在前面的截图中有些难以看到,它对源和目的地之间的流量进行了分析。点击**InteractiveMagic!**按钮,查看设备之间的不同视图及其相互关系。
图 16.27 – PcapXray InteractiveMagic 视图
这些视图可以帮助确定哪些设备彼此通信,无论是合法的还是隐蔽的,并帮助进行事件分析。
- 我们还可以通过点击流量可视化上方菜单中的All按钮,来缩小视图范围,选择我们希望查看的流量类型。
图 16.28 – PcapXray 全部流量视图
- 点击恶意,然后再次点击**可视化!**按钮。
图 16.29 – 恶意流量通信
在这里,我们可以看到标记为恶意的流量,以及与通信设备相关的 IP 和网关地址。如果我们将流量视图切换为 HTTPS,然后再次点击**可视化!**按钮,我们还可以看到 HTTPS 网页流量,从而开始重建或还原恶意软件、设备和网页流量在捕获时的场景。
现在让我们开始使用在线工具进行 PCAP 分析。我们从packettotal.com开始。
使用 packettotal.com 进行在线 PCAP 分析
现在让我们来看一个独特的在线自动化 PCAP 分析资源,它是免费提供给我们的。这将通过使用www.packettotal.com来完成。
图 16.30 – PacketTotal 文件上传界面
PacketTotal 完全免费,界面简单,用户可以将 PCAP 文件拖入上传区域,或者点击上传按钮上传并自动分析**.pcap文件。唯一的限制是.pcap**文件上传的大小限制为 50MB。
现在我们将下载一个示例数据包捕获文件,并将该文件上传到 PacketTotal 进行自动分析:
-
下载用于分析的样本文件,
mega.nz/file/6FciHZhY#bF1M-9kwmWLgUfQ_uq2_9k1DICIUkeY4lrT58X8XVXs
。该文件名为SQL 注入测试.pcap。 -
点击上传按钮,浏览到已下载的文件,然后点击打开。
图 16.31 – PacketTotal PCAP 文件上传状态
- 在点击分析按钮之前,您需要点击我不是机器人以继续。
图 16.32 – PacketTotal reCAPTCHA 验证
- 一旦分析完成,PacketTotal 会提供一个非常详细的流量捕获视图。注意顶部的分类(恶意活动、可疑活动、连接和各种协议)。首先显示的是可疑活动页面。
图 16.33 – PacketTotal 可疑活动标签
我们可以看到HTTP::SQL_Injection_Attacker和HTTP::SQL_Injection_Victim警报立即被检测到!
- 接下来点击连接。
在这里,我们可以看到连接 ID以及发送者和目标IP,以便获得更多关于192.168.0.107 IP 地址的信息。
图 16.34 – PacketTotal Connections 标签页
- 最后,让我们点击Strange Activity。
图 15.35 – PacketTotal Strange Activity 标签页
- 欢迎继续在 PacketTotal 和其他工具上进行分析,使用在
www.malware-traffic-analysis.net/index.xhtml
和www.malware-traffic-analysis.net/training-exercises.xhtml
提供的免费 PCAP 文件。
让我们进入本章和本书的最后一个工具。
使用 apackets.com 进行在线 PCAP 分析
在我们的最后一个练习中,让我们看看另一个在线数据包分析工具,网址为apackets.com/
。那么,让我们开始这个练习吧:
- 让我们从
www.malware-traffic-analysis.net/2022/06/07/index.xhtml
下载一个示例文件。这个文件的名称是Emotet-epoch5-infection-with-Cobalt-Strike-.pcap。
图 16.36 – A-Packets 文件上传界面
- 点击From Device按钮并浏览到下载的示例文件,以进行上传分析。
图 16.37 – A-Packets 文件上传状态
- 一旦 A-Packets 自动处理并分析了我们的**.pcap**文件,接下来会呈现一个非常详细并分类的分析结果,如下图所示:
图 16.38 – A-Packets 分析结果
如果我们向下滚动一点,我们应该能看到更多的结果,包括 DNS 和 DHCP 协议,甚至是通信中使用的以太网设备:
图 16.39 – 更多 A-Packets 分析结果
如果你看一下页面左侧的菜单,你会注意到有几个标签,其中一些标签旁边可能会有数字。这些数字表示每个项目的发现数量。
- 作为示例,让我们点击Connections标签页,它显示了所有连接到捕获数据包的本地机器的连接,如下所示:
图 16.40 – A-Packets Connections 标签页结果
如果你再向下滚动一点,你会看到一个展示通信设备地理位置的视图:
图 16.41 – A-Packets Connections 标签页通信图
- 现在,让我们点击Open Ports标签页,查看 A-Packets 发现的45项结果,如下所示:
图 16.42 – A-Packets 开放端口标签页发现
在前面的截图中,我们可以看到涉及此通信的各种 IP 地址的开放端口。
- 让我们继续查看服务器标签页,以查看服务器通信发现:
图 16.43 – A-Packets 服务器标签页
- 在服务器标签页中,我们可以看到 DNS 信息。让我们通过点击左侧菜单中的DNS标签,进一步深入查看 DNS 发现:
图 16.44 – A-Packets DNS 标签页发现
从前面的截图中查看 DNS 发现,我们可以看到许多不存在的域名出现在 DNS 条目列表中,这可能表明可疑的网页活动和通信,需要进一步调查。
如你所见,apackets.com 网站为我们提供了非常详细的封包捕获分析,尽管它是一个在线 NFAT 工具,但它应该成为你网络 DFIR 工具库的一部分。接下来,让我们简要介绍一下报告和展示部分,为本书画上句号。
报告与展示
每个人在创建和展示报告时可能有自己的风格。然而,通常的格式是典型的 PDF 格式分析报告。标题结构通常如下:
-
标题
-
目录
-
调查员和案件详情
-
工作范围
-
执行摘要
-
技术发现
-
附录
尽管这仍然是个人偏好,但通常会包括所有的发现、文档和截图,以确保充分披露。将包含所获证据、文档和发现的所有媒体交给客户也是一种常见做法,以确保保密性。
总结
恭喜!你已经读完了本书,或者说,跟我一起完成了 DFIR 的旅程,因为这是我们一起的最后一章!现在你已经能够使用 Wireshark 创建自己的 PCAP 文件,同时也可以选择某种工具,或者像我一样,使用本章中的所有工具,在进行网络取证时尽可能多地收集信息,使用 Wireshark、NetworkMiner、PcapXray、PacketTotal 和 A-Packets。
希望你喜欢这本书,并且在你的 DFIR 调查中能找到有用的信息。如果你有任何问题或需要建议,欢迎在 LinkedIn 上加我:tt.linkedin.com/in/shiva-parasram-87a66564
。