计算机取证简介
嘿!大家好吗?今天我给你们带来了一个挑战,当然也包括我自己。我对计算机取证很感兴趣,是因为我的同事主要从事取证工作。我之前对这个领域一无所知,所以开始学习在线课程,想和大家分享一些基本概念。

首先,计算机取证是一种利用计算机证据处理方法获取犯罪调查所需的信息的方法。它主要包含三个部分:
- 数据获取:是指在不损坏或修改原始数据的情况下,安全地从原始来源获取数据的过程。有多种工具可以执行此操作,具体取决于操作系统和其他细节(例如证据的状态),但我们将解释基于 Linux 的工具。
- 数据保存:获取的数字证据必须以原始状态保存,使用加密哈希算法。
- 数据分析:通过分析获取的数据并从中提取信息,从而理解数据的含义。数据分析本身包含几个步骤,例如识别分区、MAC 时间等等。
分析完毕后,负责人应该写一份报告。
数据采集
我们可以把需要获取的数据分为两类:易失性数据和非易失性数据。因此,根据我们关注的重点,我们将使用不同类型的工具。如果关闭嫌疑人的机器,我们将使用易失性数据,因此如果可能的话,应该在关闭机器之前获取这些数据。如果嫌疑人安装了rootkit,以便在收到正常关机命令后销毁证据,则可能会丢失重要内容。啊!我忘了提到证据保管链。证据保管链是证据处理方式的记录,用于进一步报告。现在,证据处理开始后,证据保管链也随之启动。
在开始之前我们应该准备好工具:
- 可启动的实时 CD,因为可疑工具是不可信的。
- 为调查员打造的强大机器
我们应该首先获取最易变的数据,因为它总是在变化。我们在收集数据的同时实际上也在改变它,所以我们应该尽量减少数据留下的痕迹。这是一项艰巨的任务,因为我们通常使用的工具并不适用,例如使用 CP 就会修改原始文件的访问时间。那么,我们可以使用什么呢?让我们来看看一些选项:
$ lsof
此工具将列出所有活动进程打开的文件。我们还可以将其与不同的选项结合使用,例如lsof -i IP_adress
,列出指定 IP 地址的 Internet 连接。不过,哈!您还可以查找lsof
使用隐藏磁盘空间的恶意进程!
$ nc
Netcat /ᐠ _ ᐟ \ 将使用 TCP 或 UDP 读取和写入网络连接。它可用于将数据传输或检索到取证工作站。
其他值得关注的内容:uname -a
,,,,。所有这些ifconfig
都应该重定向到USB以收集证据。哦!我们可以使用来检查攻击者是否仍然以某种方式连接。date
uptime
w
对于内存获取,我们可以使用lime open 工具,这是一个可加载内核模块 (LKM),允许从 Linux 获取易失性内存。
现在,转到非易失性数据,我们将使用dd
。大多数 Linux 系统都自带此工具。例如,为了准备取证磁盘,我们可以使用 ,将驱动器 /dev/hda 全部擦除为零dd if=/dev/zero of=example
。让我们获取证据。还记得我们说过使用cp
不是一个选项吗?我们可以使用 dd 复制证据,如下所示dd if=stuff of=evidence/stuff.dd
。如果我们使用dd
netcat,首先我们设置监听器,然后向其发送数据。
这里,监听终端:
$ nc -l 8888 > nc_info
这里,发射端:
$ dd if=stuff | nc localhost 8888
数据保存
取证人员使用加密哈希算法来保存证据。取证人员需要证明证据与原始来源相同,为此,他们只需计算哈希值即可。如果哈希值相同,则两幅图像也必须相同。
为此,我们可以使用 MD5 或 SHA。让我们来探索一下这个md5sum
命令。我们将创建一个名为 ex_file 的文件,其中包含“hello there”字符串,然后对其进行 cat 操作以查看原始内容,并计算哈希值。
$ echo "hello there" > ex_file
$ cat ex_file
hello there
$ md5sum ex_file
2d01d5d9c24034d54fe4fba0ede5182d ex_file
正如你们所见,这很简单。如果我们修改文件,比如在字符串中添加“hiya”,哈希值就会改变。
$ echo "hiya" >> ex_file
$ cat ex_file
hello there
hiya
$ md5sum ex_file
ddfdaf6c131be9a522038488f6823537 ex_file
看到了吗?不一样。另一方面,如果我们有两个内容相同但名称不同的文件……
$ echo "hello world" > file1
$ echo "hello world" > file2
$ md5sum file1
6f5902ac237024bdd0c176cb93063dc4 file1
$ md5sum file2
6f5902ac237024bdd0c176cb93063dc4 file2
相同的哈希值。这是因为更改元数据不会更改哈希值。另一个例子是更改权限。
$ chmod g-r file2
$ md5sum file2
6f5902ac237024bdd0c176cb93063dc4 file2
数据分析
现在,获取有用的数据信息是一项重要任务。我们当然是在进行复制。一个不错的开始方法是使用 识别分区fdisk our_device
。之后,我们可以使用dd
来划分感兴趣的分区。获取 dd 文件后,我们可以使用mmls
Sleuthkit获取分区信息,例如使用。我们还可以使用选项mmls our_file.dd
指定介质类型,例如。挂载也很重要,为此我们当然会使用 。现在,要小心,因为为了便于调查,它应该是只读挂载。取证人员必须始终证明数据没有被更改。-t
mmls -t dos our_file.dd
mount
mount –o ro,loop /my_file.dd/mnt/example
现在,MAC 时间。这很有用,因为这类信息可以让我们了解不同类型的操作(例如创建或修改文件)的时间。由于这些信息对变化非常敏感,因此应该在执行任何其他操作之前运行此命令。为此,我们使用了fls
命令 和的组合。mactime
$ fls -f ext3 -m "/" -r images/root.dd > data/body
$ mactime -b filename [time]
M 表示显示的日期时间为上次修改时间;A 表示显示的日期和时间为上次访问时间;C 表示上次 inode 更改时间。
调查中还有很多其他内容需要查看,比如日志。不过,先到此为止吧!
希望你喜欢!深入了解计算机取证调查的原理真是太有趣了……现在你可以去看看《犯罪现场调查》(CSI)系列剧里的谎言了。:p
文章来源:https://dev.to/terceranexus6/introduction-to-computer-forensics-4md1