计算机取证篇

数字取证

数字取证学描述了电子证据的收集、分析和报告。它涵盖了整个过程:从识别数字证据的那一刻起,到完成分析并呈现于法庭诉讼时。因为几乎每个犯罪者都会留下他们活动和意图的“数字签名”,而这些“数字签名”将作为有效的诉讼证据提供给法庭,以便将犯罪嫌疑人绳之以法。

数字取证这项技能应用非常广泛,适用于执法、企业调查、网络入侵、恶意软件分析和事件响应等等。

NIST建议数字取证调查的七个步骤,细分为两个较大的阶段:收集和解释。该过程从收集潜在证据开始,收集阶段包括以下步骤:1.保护2.获取3.保全。第二阶段解释,包括这些步骤:4.恢复5.导航6.识别/提取7.分析。

计算机取证

取证分析原则

1.取证前务必要对证据所在载体进行备份并计算哈希(MD5,SHA)留作完整性校验时使用,同时,备份方式要采用位级别的备份而不是文件级备份。

2.取证过程全部是对备份数据的提取和分析,原始数据要保留下来为以后提供完整性证明。

3.要保证所采取的取证手段不破坏被取证对象。

4.对已获的数据做详细记录并存档核查。

5.取证人员应该保护证据的保密性,避免未经授权的访问和披露。


取证基础

硬盘克隆

定义:从硬盘克隆到硬盘。

逐磁道,逐扇区。物理级的数据精确复制。能获取所有文件,且包括所有的已被删除或隐藏的文件,未分配区域,磁盘闲散空间等。

意义:

•保存原始证据;

•制作检验用的精确拷贝;

•镜像数据法律上与原始证据等同;

•检验可在备份数据上进行,降低了在原证据盘上检验带来的风险;

•数据镜像产生的数字指纹(HASH),可对原证据盘进行检验前后数据是否发生变化进行对比,有利于法庭质证。

硬盘镜像

定义:从硬盘克隆到文件。

常见的镜像格式有DD,E01,AFF,BIN,ISO等。

镜像文件包含所有文件,包括所有的已被删除或隐藏的文件,未分配区域,磁盘闲散空间等。

镜像类型

DD镜像(*.001)

DD镜像使用的最广泛,因为兼容性很强,几乎所有的取证工具都支持DD镜像,没有压缩制作起来速度快。

问题:容量大。

原1T内存使用了100G做出来的镜像大小为1T。

e01镜像(*.e01)

可以进行压缩片段的功能,对每一个片段在需要时进行解压或单独调用,兼顾了速度和完整性,节省空间。在生成 E01 格式证据文件时,会要求用户输入与调查案件相关的信息,如调查人员、地点、机构、备注等元数据。这些元数据将随证据数据信息一同 存入 E01 文件中。文件的每个字节都经过 32 位的 CRC 校验,这就使得证据被篡改的可能性几乎为 0。

问题:计算Hash值需专业工具。

原1T内存使用了100G做出来的镜像大小大概是100G。

数据擦除-BMB

BMB国家保密局21-2007标准,对硬盘做六次擦除。

1.零覆盖硬盘所有可以寻址的位置;

2.用二进制0x01覆盖硬盘所有可以寻址的位置;

3.随机数覆盖硬盘所有可以寻址的位置;

4.随机数覆盖硬盘所有可以寻址的位置;

5.随机数覆盖硬盘所有可以寻址的位置;

6.用零覆盖硬盘所有可以寻址的位置;

注意:要做硬盘克隆的时候用旧盘的情况,需要进行整体数据擦除。

哈希(HASH)

Hash算法又称Hash函数,把任意长度的输入通过散列算法变换成固定长度的输出,一般用来校验数据完整性。

Hash种类:

•MD5

•SHA-1

•SHA-256

•SHA-512

•...

Hash特性:

两个内容完全一致的文件其HASH值相同;

两个同名文件内容稍有差异HASH值不同;

具有不可逆性,不能通过HASH值恢复源文件内容;

HASH应用: 电子签名,数据安全,文件一致性检验等;

常见文件系统

Windows文件系统:FAT12/16、FAT32、exFAT、NTFS

FAT32:

•32位文件分配表;

•簇大小=512B-32KB

•分区最大2TB(理论上)

•单个文件4GB

•无安全机制:任何人可以访问任何文件(无EFS加密)。

exFAT:

•一般适用于闪存的文件系统(U盘)就是为了解决FAT32的一些缺点出来的,支持大于4GB的文件 。

NTFS:

•64位文件分配表(更快的读、写、搜)

•有安全机制:文件的访问有限制(EFS)

•分区支持最大2TB

•主文件表(MFT)是这个卷上每一个文件的索引

时区和时间戳

时区指的是地球上不同的区域,根据经度的分别,将其划分成不同的时间段,并约定使用相同的时间标准。通常情况下,每个时区都以全球协调时间(UTC)为基础,在此基础上加上或减去一定的小时数来表示该时区的本地时间。世界各国通过协商认定了24个时区,并规定每个时区的时间偏移量。

数字取证-计算机取证基础篇_取证基础

当然,计算机也有自己记录时间的方式,有些内部时间会采用Unix时间戳进行记录。Unix时间戳是一个整数值,表示自1970年1月1日00:00:00 UTC以来的毫秒数,需要注意的是,大多数Unix系统的时间戳功能仅精确到最接近的秒。

数字取证-计算机取证基础篇_取证_02

在数字取证中,时间戳通常是电子证据的重要组成部分之一。时间戳记录了特定事件发生的确切日期和时间,并且可能包含有关系统时钟和时区设置的信息。因此,取证调查员必须了解所涉及的所有设备和服务器的时区,并相应地调整其分析,以便准确地确定事件发生的时间和顺序。如果一项调查涉及到跨越多个时区的人员或设备,则调查员必须能够根据每个时区的时间戳协调分析,并考虑如何补偿时间差异。

因为它们可以影响到电子证据的准确性和可靠性。了解这些概念并正确地应用它们对于成功的数字取证非常关键。

注册表

对于取证调查员来说,注册表可以被当作是一个信息宝库。因为在Windows操作系统中,几乎所有的软件安装和卸载、硬件驱动程序安装和卸载以及系统参数设置都会被记录到注册表中。因此,注册表可以提供大量有用的信息,帮助取证调查员了解计算机系统的历史状态及其相关活动。

通过分析注册表可以找到的信息包括:

1.安装的软件、应用程序及其版本信息;

2.用户登录信息,包括用户名和密码的哈希值;

3.访问过的网站和文件路径;

4.硬件设备的配置信息;

5.系统启动项、服务以及自动运行的程序;

6.用户和他们最后一次使用系统的时间;

7.系统连接过的Wi-Fi;

8.列出在系统上进行的所有搜索;

9.等等.......

这些信息对于取证调查员来说非常有价值,可以帮助他们了解计算机系统的使用情况,发现可能的恶意活动,辅助判断犯罪嫌疑人的行为等。但需要注意的是,在进行注册表取证时需要谨慎操作,避免对系统造成不必要的损害或者误删除重要信息。

注册表信息

win+R输入regedit打开注册表。

在注册表中,有根文件夹。这些根文件夹称为 hives。有5个注册表配置单元。

HKEY_USERS: 包含所有加载的用户配置文件  

HKEYCURRENT_USER: 当前登录用户的个人资料

HKEYCLASSES_ROOT: 用于打开文件的应用程序的配置信息

HKEYCURRENT_CONFIG: 系统启动时的硬件配置文件  

HKEYLOCAL_MACHINE: 配置信息,包括硬件和软件设置

在物理层面,每个注册表配置单元(Hive)文件,系统都有相应的支持文件和备份,以便在系统启动失败时替代当前使用的注册表配置单元文件包含信息。

Win95/98

•USER.DAT,SYSTEM.DAT

WinNT/2000/XP/7/8/10

%SystemRoot%\System32\Config目录下

SAM` - 安全账户管理

SECURITY - 安全性设置信息

SYSTEM - 硬件和系统信息

SOFTWARE - 安装软件信息

DEFAULT - 用户的配置信息


系统信息

\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion

数字取证-计算机取证基础篇_注册表_03

用户信息

\HKEY_USERS\

数字取证-计算机取证基础篇_计算机取证_04

拥有管理员权限的id用户id最后为500。

数字取证-计算机取证基础篇_数字取证_05

USB使用记录

USB使用记录一般在泄密类案件用到的比较多。某公司重要文件泄密,这时要检查是否违规外接了USB设备,这时候就可以查看注册表里的USB使用记录来查看是否外接了U盘或外设。记录里是可以看到连接的型号,序列化,名称。

表项:

•System

•Software(Vista/Win7)

•Ntuser.dat

键值:

•SYSTEM\CurrentControlSet\Enum\USBSTOR

•SYSTEM\CurrentControlSet\Enum\USB

•SYSTEM\MountedDevices

•NTUSER.dat\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USBSTOR

这里可以查找到任何曾经连接到系统的USB存储设备的相关信息。展开USBSTOR以查看曾经连接到此系统的每个USB存储设备的列表。

数字取证-计算机取证基础篇_数字取证_06

它会在右侧窗口中显示全局唯一标识符 (GUID)、名称和硬件 ID 等。这可能正是我们需要的证据。

无线信息

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\Profiles

许多黑客会破/解别人的WIFI,并利用它进行入侵。通过这种方式,如果IP地址被跟踪,它将追溯到邻居的或其他无线AP,而不是他们自己。

数字取证-计算机取证基础篇_注册表_07

在这里将找到计算机已连接过的无线接入点的 GUID 列表。当单击其中一个时,它会显示信息,包括 SSID 名称和最后一次连接的十六进制日期。

近期的文档键

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\RecentDocs

作为一名取证调查员,我们可以利用Windows注册表中记录的大量用户活动信息来追踪用户或攻/击者的行为轨迹。虽然这些注册表键的设计初衷是为了提高Windows的效率和稳定性,但对于我们来说,它们就像是一张用户或攻/击者活动的路线图,为我们提供了重要的取证线索。

其中一个键是RecentDocs键。它通过文件扩展名跟踪系统上使用或打开的最新文档。

例如通过查找.pdf扩展名键,我们可以找到最近打开的PDF文件列表。

当我们单击其中一个键时,可以查看该文档的信息,包括十六进制和ASCII格式的文档数据。

在本例中,它表明该文档是hack.pdf。

数字取证-计算机取证基础篇_取证基础_08

最后一个url

HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\TypedURLs

当用户在使用 Internet Explorer 访问网页时,该网页的 URL 地址会被存储在 Windows 注册表中。通过查看注册表中的相应键值,可以追踪用户最近访问的网页,这有助于揭示恶意软件的来源或者用户搜索的内容,推测嫌疑人的行为和意图。

数字取证-计算机取证基础篇_数字取证_09

IP地址

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces

Windows 注册表不仅可以记录用户访问过的网页,还可以跟踪用户接口的 IP 地址。在注册表中,每个接口都有相应的键值,它们包含了该接口的 IP 地址、子网掩码和 DHCP 服务器租用 IP 的时间等信息。

通过查看这些键值,我们可以确定嫌疑人在入侵或犯罪时使用了哪个特定的 IP  地址。

数字取证-计算机取证基础篇_取证_10

系统启动项

在计算机取证调查中,我们需要经常查找系统启动时设置启动的应用程序或服务。恶意软件通常会将自己设置为每次系统重启时启动,以便攻/击者能够保持对系统的控制。这些启动项的信息可以在 Windows 注册表的多个位置中找到,但我们通常只需要查看一些最常用的设置键即可。

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run

数字取证-计算机取证基础篇_取证_11

任何被指定在这些子键中的软件,都会在系统启动时被自动运行。这里也可能存在rootkit以及其他恶意软件,它们同样会在每次系统启动后进行自启动。

启动时运行一次

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce

自启动服务

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services

上面的子键列出了所有在系统启动时自动启动的服务。当键值设置为2时,服务将会自动启动;当键值设置为3时,必须手动启动服务;当键值设置为4时,该服务会被禁用。

特定用户登录时启动

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run

硬件设备

如果嫌疑人使用CD-ROM、DVD、硬盘驱动器或闪存驱动器等必须挂载的硬件设备来读取或写入数据,注册表将会记录挂载的设备信息。这些信息存储在:

HKEY_LOCAL_MACHINE\System\MountedDevices

如下图所示,当点击这个键时,它会提供一个包含曾经安装在该机器上的每个设备的详细列表。

数字取证-计算机取证基础篇_取证_12

如果需要获取任何已安装设备的更多信息,只需点击即可。如果系统上缺少这块设备,那么取证调查员就可以知道需要找到这块硬件才能找到进一步的犯罪证据。

最近一次正常关机时间

\HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Windows\ShutdownTime

数字取证-计算机取证基础篇_计算机取证_13

需要时间转换工具转换成北京时间。

数字取证-计算机取证基础篇_计算机取证_14

Windows 预读取文件的痕迹

预读取系统介绍

微软实施预读取系统的目的不是为了取证分析,而是为了提高Windows的性能。预读取系统正如其名称所述,它会预先读取系统预计用户将需要的文件,并将它们加载到内存中,从而使文件获取更快,更有效。这是一种人工智能,它试图预测用户接下来需要什么,并为用户做好准备。

Windows预读取系统的奇妙之处在于,即使用户极其聪明,试图掩盖自己的踪迹,它仍能透露出用户正在做什么的大量信息。自Windows XP以来,预读就一直是Windows操作系统的一部分,在Windows 10中默认启用预读。

这些预取文件包含关于所用文件的元数据,例如应用程序的最后使用日期、应用程序文件的存储位置、应用程序的使用次数等等。这些信息对取证调查是非常有用的,它们可能成为证明嫌疑人确实使用与犯罪有关的应用程序的关键信息,即使这些应用程序已从系统中删除。

预读取文件位置与分析

可以在C:\windows\prefetch下找到预取文件

数字取证-计算机取证基础篇_数字取证_15

这些以 .pf 结尾的就是需要关注的文件。

我们需要对文件进行解析,以获取它所包含的所有信息。有许多程序可以完成这项工作,而且它们都非常出色,但是Nirsoft的免费WinPrefetchView是我个人认为最为方便易用的选择。

它将抓取所有预取文件并如下解析文件。

数字取证-计算机取证基础篇_注册表_16

以BAIDUNETDISK.EXE为例,我们可以看到其文件路径、运行次数以及最后一次运行的时间等信息,这些都可能成为取证调查的关键信息。下方窗格,其中列出了程序所使用的每个文件以及它们的路径。

浏览器取证

嫌疑人使用的网络浏览器可以为我们提供大量关于在被捕获前其在线做过的活动信息。

以Mozilla Firefox为例,对于 Mozilla Firefox 及其许多变体,大部分信息都存储在 SQLite 数据库中。我们可以根据操作系统在不同的位置找到这些数据库。

C:\Users\<user>\AppData\Roaming\Mozilla\Firefox\Profiles\eyksgzjn.default-release

数字取证-计算机取证基础篇_计算机取证_17

这里使用Navicat打开展示一下,可以在 moz_places 表中查看用户在浏览器中输入的内容。

数字取证-计算机取证基础篇_取证_18

金主老爷

坤哥的金主老爷是内部社群,以 “帮助成员上岸,找到心仪工作” 为终极目标 ,不只分享工具、教程而已。

从社区做的事情上可以看出,坤哥会从各方面辅助大家就业,单纯的技术提升你未必能找到一份好工作。

初入安全行业,你肯定不知道这是否是一份好工作,未来的发展空间有多大。在社区里坤哥会带领大家一起交流,你可以感受到安全行业内不同领域的发展趋势三人行必有我师焉,少走弯路,人生能有几个三年。

成为金主老爷

微信扫码(左侧)购买入场券,下单后添加坤哥(右侧二维码),只有这一个账户,其它都是假的切勿相信。添加时备注“金主老爷”。

数字取证-计算机取证基础篇_取证_19

数字取证-计算机取证基础篇_取证基础_20


👇点击下方阅读原文,成为坤哥的金主老爷。在外面嫖累了,就回家,在这里我们一起成长。

往期推荐

一个POC的诞生,再见 ,脚本小子

全网首创,坤式网安学习法,最屌没有之一

[AIGC] 训练ChatGPT成为安全专家