负暄闲语 —— 取证一二事

注册 Vultr VPS 送你10美金 免费玩4个月

那日,我拾起散落一地的泛黄笔记,未曾想到会从一个尘封已久的盒子里翻出锈迹斑斑的硬盘。我只记得,当时,夕阳满满的打在脸颊上,而眼前的硬盘还在闪闪发光,似乎在述说着一个不可告人的秘密。

连上旁边废置的老旧电脑,硬盘转动的声音吱吱作响,终端的绿色光点在不急不慢的闪烁。然而,里面空无一物,什么都没有。不对,我好像发现了什么……

Clue 1

那个硬盘并不是空无一物,至少我看到了一个名为.clue1的隐藏文件,好像是一个文本文件,打开一看,里面只有一行文字:

軟盤中,殘留著妳該尋找的下個條件

什么软盘?就在我疑惑的片刻,我看到桌子右下角掉落着一个盖满厚厚灰尘的方形软盘,应该就是它了。

缓缓的拾起它,吹落上面的积灰,插入破旧的电脑。听到电脑读取软盘的兹兹声,心里默默窃幸,看来还能用。

看这软盘的古老程度,也许不能再被我们这样折腾了,为了后面不直接对其操作,先创建一个镜像备份吧:

[email protected]:~# mkdir evid && cd evid
[email protected]:~/evid # dd if=/dev/fd0 of=floppy.dd bs=512
[email protected]:~/evid # chmod 444 floppy.dd

弹出软盘后,记录下镜像的hash,便开始挂载咯(记得任何时候都要只读模式挂载):

[email protected]:~/evid # sha1sum floppy.dd > sha.floppy
[email protected]:~/evid # mkdir /mnt/analysis
[email protected]:~/evid # mount -t vfat -o ro,noexec,loop floppy.dd /mnt/analysis
[email protected]:~/evid # cd /mnt/analysis
[email protected]:/mnt/analysis #

当我ls出目录下的文件的那一刻,心里咯噔一下,时间仿佛停滞在2000年,这么多年间,到底发生了什么?

[email protected]:/mnt/analysis # ls -al
total 118
drwxr--r-- 4 root root 7168 Dec 31 1969 .
drwxr-xr-x 13 root root 4096 Dec 21 14:20 ..
drwxr--r-- 3 root root 512 Sep 23 2000 Docs
drwxr--r-- 2 root root 512 Sep 23 2000 Pics
-rwxr--r-- 1 root root 19536 Aug 24 1996 arp.exe
-rwxr--r-- 1 root root 37520 Aug 24 1996 ftp.exe
-r-xr--r-- 1 root root 16161 Sep 21 2000 loveletter.virus
-rwxr--r-- 1 root root 21271 Mar 19 2000 ouch.dat
-rwxr--r-- 1 root root 12384 Aug 2 2000 snoof.gz

树形结构列出所有文件看看:

[email protected]:/mnt/analysis # tree
|-- Docs
|    |-- Benchmarks.xls
|    |-- Computer_Build.xml
|    |-- Law.doc
|    |-- Private
|    `-- why hack
|-- Pics
|    |-- C800x600.jpg
|    |-- Stoppie.gif
|    |-- bike2.jpg
|    |-- bike3.jpg
|    |-- matrixs3.jpg
|    `-- mulewheelie.gif
|-- arp.exe
|-- ftp.exe
|-- loveletter.virus
|-- ouch.dat
`-- snoof.gz
3 directories, 15 files

里面好像没有我感兴趣的线索。

例行公事,先对每个文件进行hash并保存到sha.filelist文件中。

[email protected]:/mnt/analysis # find . -type f -exec sha1sum {} /; > ~/evid/sha.filelist

以便以后检查文件是否有改动:

[email protected]:/mnt/analysis # sha1sum -c ~/evid/sha.filelist

当然,每个文件的文件类型信息也保存一份:

[email protected]:/mnt/analysis # find . -type f -exec file {} /; > ~/evid/filetype.list

可恶,他把证据藏在了哪里?难道这里没有吗?不行,我要再仔细找找。

那就对整个镜像来个搜索吧,先把下面的关键字保存到一个文件里。

$50,000
ransom
unleash a virus

哟,有了!

[email protected]:~/evid # grep -abif searchlist.txt floppy.dd
75441:you and your entire business ransom.
75500:I have had enough of your mindless corporate piracy and will nolonger stand for it. You will receive another letter next week. Itwill have a single bank account number and bank name. I want you todeposit $50,000 in the account the day you receive the letter.
75767:Don't try anything, and don't contact the cops. If you do, Iwill unleash a virus that will bring down your whole network anddestroy your consumer's confidence.

再用xxd直接查看偏移75441处看16进制数据:

[email protected]:~# mkdir evid && cd evid
[email protected]:~/evid # dd if=/dev/fd0 of=floppy.dd bs=512
[email protected]:~/evid # chmod 444 floppy.dd

0

虽然找到了证据,可是背后还是阵阵发冷。我抬头,窗外的风吹不进来,四周一片寂静,总感觉,事情没有那么简单……

Clue 2

顺着刚才证据一路看下去,一直到偏移0x0012e1a处,第二条线索映入眼帘,果然,这里面还有问题!

[email protected]:~# mkdir evid && cd evid
[email protected]:~/evid # dd if=/dev/fd0 of=floppy.dd bs=512
[email protected]:~/evid # chmod 444 floppy.dd

1

图片?我翻遍挂载镜像里面的所有的图片,可是没有一个是可疑的,难道,是我打开的方式不对?这时,一个名叫image_carve.raw的文件引起了我的注意。我的直觉告诉我,因该是这个错不了。

[email protected]:~# mkdir evid && cd evid
[email protected]:~/evid # dd if=/dev/fd0 of=floppy.dd bs=512
[email protected]:~/evid # chmod 444 floppy.dd

2

奇怪,我只看到一堆杂乱随机的字符数据,这看上去不像是图片数据。

让我再想想,我记得每种文件都有相应的magic number来标记其格式,而JPEG图片文件则是以偏移JFIF六个字节的十六进制ffd8开始,ffd9结束。

这次,结合xxdgrep来搜搜试试看:

[email protected]:~# mkdir evid && cd evid
[email protected]:~/evid # dd if=/dev/fd0 of=floppy.dd bs=512
[email protected]:~/evid # chmod 444 floppy.dd

3

咦,还真有,我感觉有戏!记下ffd8的位置0x00052a4,转换成十进制为21156

[email protected]:~# mkdir evid && cd evid
[email protected]:~/evid # dd if=/dev/fd0 of=floppy.dd bs=512
[email protected]:~/evid # chmod 444 floppy.dd

4

然后在从偏移21156后面找ffd9

[email protected]:~# mkdir evid && cd evid
[email protected]:~/evid # dd if=/dev/fd0 of=floppy.dd bs=512
[email protected]:~/evid # chmod 444 floppy.dd

5

因为图片文件包含ffd9,所以结尾的地址0x0006c76。两者相减,得到图片大小:

[email protected]:~# mkdir evid && cd evid
[email protected]:~/evid # dd if=/dev/fd0 of=floppy.dd bs=512
[email protected]:~/evid # chmod 444 floppy.dd

6

最后就是把图片提取出来惹,这里用的是dd命令,skip为偏移,bs(block size)设置为1字节,然后count就是图片的大小:

[email protected]:~# mkdir evid && cd evid
[email protected]:~/evid # dd if=/dev/fd0 of=floppy.dd bs=512
[email protected]:~/evid # chmod 444 floppy.dd

7

carv.jpg

Clue 3

不出意外的话,第三条线索就是这张图片了,上面刻画着一些奇怪的符号,不过我还是能辨认出一些金文,这是一种大篆体。

[email protected]:~# mkdir evid && cd evid
[email protected]:~/evid # dd if=/dev/fd0 of=floppy.dd bs=512
[email protected]:~/evid # chmod 444 floppy.dd

8

我竖起耳朵,眼睛向四周扫视,没有人,这里只有我一个。我开始感到疑惑,直到我看到了图片右下角一行极小的字,这是什么!

[email protected]:~# mkdir evid && cd evid
[email protected]:~/evid # dd if=/dev/fd0 of=floppy.dd bs=512
[email protected]:~/evid # chmod 444 floppy.dd

9

192.168.55.20,这不是这台电脑的ip吗,难道说,还有另外一台电脑正在向我传送什么数据吗?/dev/sda这不是硬盘数据吗,到底是什么呢?不管怎么说,这里面肯定有我想要找的的答案,先保存下来看看。

[email protected]:~/evid # sha1sum floppy.dd > sha.floppy
[email protected]:~/evid # mkdir /mnt/analysis
[email protected]:~/evid # mount -t vfat -o ro,noexec,loop floppy.dd /mnt/analysis
[email protected]:~/evid # cd /mnt/analysis
[email protected]:/mnt/analysis #

0

由于able2.dd是整个sda硬盘的镜像,不能直接挂载,所以先看看其分区结构:

[email protected]:~/evid # sha1sum floppy.dd > sha.floppy
[email protected]:~/evid # mkdir /mnt/analysis
[email protected]:~/evid # mount -t vfat -o ro,noexec,loop floppy.dd /mnt/analysis
[email protected]:~/evid # cd /mnt/analysis
[email protected]:/mnt/analysis #

1

五个分区,好吧,那就依次提取出来:

[email protected]:~/evid # sha1sum floppy.dd > sha.floppy
[email protected]:~/evid # mkdir /mnt/analysis
[email protected]:~/evid # mount -t vfat -o ro,noexec,loop floppy.dd /mnt/analysis
[email protected]:~/evid # cd /mnt/analysis
[email protected]:/mnt/analysis #

2

接下来就是要根据这五个分区来还原文件系统了。我不厌其烦的开始依次挂载每个分区观察其文件目录结构:

[email protected]:~/evid # sha1sum floppy.dd > sha.floppy
[email protected]:~/evid # mkdir /mnt/analysis
[email protected]:~/evid # mount -t vfat -o ro,noexec,loop floppy.dd /mnt/analysis
[email protected]:~/evid # cd /mnt/analysis
[email protected]:/mnt/analysis #

3

我偷了个懒,当挂载able2.part2.dd的时候,直接查看fstab文件就知道了。

[email protected]:~/evid # sha1sum floppy.dd > sha.floppy
[email protected]:~/evid # mkdir /mnt/analysis
[email protected]:~/evid # mount -t vfat -o ro,noexec,loop floppy.dd /mnt/analysis
[email protected]:~/evid # cd /mnt/analysis
[email protected]:/mnt/analysis #

4

根据fstab挂载相应的分区到对应的路径下:

[email protected]:~/evid # sha1sum floppy.dd > sha.floppy
[email protected]:~/evid # mkdir /mnt/analysis
[email protected]:~/evid # mount -t vfat -o ro,noexec,loop floppy.dd /mnt/analysis
[email protected]:~/evid # cd /mnt/analysis
[email protected]:/mnt/analysis #

5

clue分区已解锁,我cd进去,我知道里面会有什么等着我,这就像是一场噩梦,可我还是必须直面,哪怕头破血流。

Clue 4

没有,什么都没有,一片空白!

clue目录下什么都没有,连隐藏文件的气味都没有,就像虚无一样完全看不到希望,怎么办!

我的第六感告诉我,这里一定哪里不对劲。看来,是时候使用Sleuthkit了,最重要的是,这台古老的电脑居然也安了Sleuthkit

先试了下mmls,这个命令跟之前的sfdisk的作用类似,也能给出镜像的分区信息,只不过更加好用。

[email protected]:~/evid # sha1sum floppy.dd > sha.floppy
[email protected]:~/evid # mkdir /mnt/analysis
[email protected]:~/evid # mount -t vfat -o ro,noexec,loop floppy.dd /mnt/analysis
[email protected]:~/evid # cd /mnt/analysis
[email protected]:/mnt/analysis #

6

从之前就已经知道根目录/文件系统在第二分区,从上面可知偏移为000010260,用fsstat查看详细信息:

[email protected]:~/evid # sha1sum floppy.dd > sha.floppy
[email protected]:~/evid # mkdir /mnt/analysis
[email protected]:~/evid # mount -t vfat -o ro,noexec,loop floppy.dd /mnt/analysis
[email protected]:~/evid # cd /mnt/analysis
[email protected]:/mnt/analysis #

7

别浪费时间了,快看看clue文件夹到底怎么了,我心里告诉自己。

事不宜迟,拿出利器flsfls可以列出文件系统上所有的文件和目录:

[email protected]:~/evid # sha1sum floppy.dd > sha.floppy
[email protected]:~/evid # mkdir /mnt/analysis
[email protected]:~/evid # mount -t vfat -o ro,noexec,loop floppy.dd /mnt/analysis
[email protected]:~/evid # cd /mnt/analysis
[email protected]:/mnt/analysis #

8

-d选项列出文件系统上所有被删掉的文件(已删除的文件会用*标记):

[email protected]:~/evid # sha1sum floppy.dd > sha.floppy
[email protected]:~/evid # mkdir /mnt/analysis
[email protected]:~/evid # mount -t vfat -o ro,noexec,loop floppy.dd /mnt/analysis
[email protected]:~/evid # cd /mnt/analysis
[email protected]:/mnt/analysis #

9

果然,clue文件下有一个被删除的文件。不管是什么,看来,我得想办法把它复原出来。

[email protected]:/mnt/analysis # ls -al
total 118
drwxr--r-- 4 root root 7168 Dec 31 1969 .
drwxr-xr-x 13 root root 4096 Dec 21 14:20 ..
drwxr--r-- 3 root root 512 Sep 23 2000 Docs
drwxr--r-- 2 root root 512 Sep 23 2000 Pics
-rwxr--r-- 1 root root 19536 Aug 24 1996 arp.exe
-rwxr--r-- 1 root root 37520 Aug 24 1996 ftp.exe
-r-xr--r-- 1 root root 16161 Sep 21 2000 loveletter.virus
-rwxr--r-- 1 root root 21271 Mar 19 2000 ouch.dat
-rwxr--r-- 1 root root 12384 Aug 2 2000 snoof.gz

0

clue/lrkn.tgz的inode是2139,于是用istat查看的该inode的详细信息:

[email protected]:/mnt/analysis # ls -al
total 118
drwxr--r-- 4 root root 7168 Dec 31 1969 .
drwxr-xr-x 13 root root 4096 Dec 21 14:20 ..
drwxr--r-- 3 root root 512 Sep 23 2000 Docs
drwxr--r-- 2 root root 512 Sep 23 2000 Pics
-rwxr--r-- 1 root root 19536 Aug 24 1996 arp.exe
-rwxr--r-- 1 root root 37520 Aug 24 1996 ftp.exe
-r-xr--r-- 1 root root 16161 Sep 21 2000 loveletter.virus
-rwxr--r-- 1 root root 21271 Mar 19 2000 ouch.dat
-rwxr--r-- 1 root root 12384 Aug 2 2000 snoof.gz

1

接下来就是保存该inode指向的block数据,即被删除的文件:

[email protected]:/mnt/analysis # ls -al
total 118
drwxr--r-- 4 root root 7168 Dec 31 1969 .
drwxr-xr-x 13 root root 4096 Dec 21 14:20 ..
drwxr--r-- 3 root root 512 Sep 23 2000 Docs
drwxr--r-- 2 root root 512 Sep 23 2000 Pics
-rwxr--r-- 1 root root 19536 Aug 24 1996 arp.exe
-rwxr--r-- 1 root root 37520 Aug 24 1996 ftp.exe
-r-xr--r-- 1 root root 16161 Sep 21 2000 loveletter.virus
-rwxr--r-- 1 root root 21271 Mar 19 2000 ouch.dat
-rwxr--r-- 1 root root 12384 Aug 2 2000 snoof.gz

2

嗯,没错,是一个gzip的压缩文件。

现在我已非常谨慎,这是种不好的预感。先不解压,看看里面有什么:

[email protected]:/mnt/analysis # ls -al
total 118
drwxr--r-- 4 root root 7168 Dec 31 1969 .
drwxr-xr-x 13 root root 4096 Dec 21 14:20 ..
drwxr--r-- 3 root root 512 Sep 23 2000 Docs
drwxr--r-- 2 root root 512 Sep 23 2000 Pics
-rwxr--r-- 1 root root 19536 Aug 24 1996 arp.exe
-rwxr--r-- 1 root root 37520 Aug 24 1996 ftp.exe
-r-xr--r-- 1 root root 16161 Sep 21 2000 loveletter.virus
-rwxr--r-- 1 root root 21271 Mar 19 2000 ouch.dat
-rwxr--r-- 1 root root 12384 Aug 2 2000 snoof.gz

3

这是什么鬼,lrk3是一个非常古老的rootkit,我表示对rootkit完全不了解。可是,里面的CLUE5却血腥的刺眼,又是一条可怕的提示,想想就让人不禁寒颤。

[email protected]:/mnt/analysis # ls -al
total 118
drwxr--r-- 4 root root 7168 Dec 31 1969 .
drwxr-xr-x 13 root root 4096 Dec 21 14:20 ..
drwxr--r-- 3 root root 512 Sep 23 2000 Docs
drwxr--r-- 2 root root 512 Sep 23 2000 Pics
-rwxr--r-- 1 root root 19536 Aug 24 1996 arp.exe
-rwxr--r-- 1 root root 37520 Aug 24 1996 ftp.exe
-r-xr--r-- 1 root root 16161 Sep 21 2000 loveletter.virus
-rwxr--r-- 1 root root 21271 Mar 19 2000 ouch.dat
-rwxr--r-- 1 root root 12384 Aug 2 2000 snoof.gz

4

Clue 5

线索5的陈述依然是那么简单有力让人摸不着头脑。

[email protected]:/mnt/analysis # ls -al
total 118
drwxr--r-- 4 root root 7168 Dec 31 1969 .
drwxr-xr-x 13 root root 4096 Dec 21 14:20 ..
drwxr--r-- 3 root root 512 Sep 23 2000 Docs
drwxr--r-- 2 root root 512 Sep 23 2000 Pics
-rwxr--r-- 1 root root 19536 Aug 24 1996 arp.exe
-rwxr--r-- 1 root root 37520 Aug 24 1996 ftp.exe
-r-xr--r-- 1 root root 16161 Sep 21 2000 loveletter.virus
-rwxr--r-- 1 root root 21271 Mar 19 2000 ouch.dat
-rwxr--r-- 1 root root 12384 Aug 2 2000 snoof.gz

5

我默默的想,也许这是在提示我,找到含有关键字CYBERNETIK的文件所在。一想到这里,身体就不由自主的不受控制,开始在终端前机械的操作起来。

第一步对整个镜像文件来个搜索:

[email protected]:/mnt/analysis # ls -al
total 118
drwxr--r-- 4 root root 7168 Dec 31 1969 .
drwxr-xr-x 13 root root 4096 Dec 21 14:20 ..
drwxr--r-- 3 root root 512 Sep 23 2000 Docs
drwxr--r-- 2 root root 512 Sep 23 2000 Pics
-rwxr--r-- 1 root root 19536 Aug 24 1996 arp.exe
-rwxr--r-- 1 root root 37520 Aug 24 1996 ftp.exe
-r-xr--r-- 1 root root 16161 Sep 21 2000 loveletter.virus
-rwxr--r-- 1 root root 21271 Mar 19 2000 ouch.dat
-rwxr--r-- 1 root root 12384 Aug 2 2000 snoof.gz

6

有这个关键字,一种不好的预感涌上心头,我知道,接下来就是找到这个文件并把它提取出来。

根据上面的结果,关键字CYBERNETIK第一次出现在镜像偏移10561603处,之前用fsstat知道了每个扇区的大小是512字节,所以可以计算出位于哪个扇区:

[email protected]:/mnt/analysis # ls -al
total 118
drwxr--r-- 4 root root 7168 Dec 31 1969 .
drwxr-xr-x 13 root root 4096 Dec 21 14:20 ..
drwxr--r-- 3 root root 512 Sep 23 2000 Docs
drwxr--r-- 2 root root 512 Sep 23 2000 Pics
-rwxr--r-- 1 root root 19536 Aug 24 1996 arp.exe
-rwxr--r-- 1 root root 37520 Aug 24 1996 ftp.exe
-r-xr--r-- 1 root root 16161 Sep 21 2000 loveletter.virus
-rwxr--r-- 1 root root 21271 Mar 19 2000 ouch.dat
-rwxr--r-- 1 root root 12384 Aug 2 2000 snoof.gz

7

之前用mmls得到该文件所在的分区起始于扇区10260

[email protected]:/mnt/analysis # ls -al
total 118
drwxr--r-- 4 root root 7168 Dec 31 1969 .
drwxr-xr-x 13 root root 4096 Dec 21 14:20 ..
drwxr--r-- 3 root root 512 Sep 23 2000 Docs
drwxr--r-- 2 root root 512 Sep 23 2000 Pics
-rwxr--r-- 1 root root 19536 Aug 24 1996 arp.exe
-rwxr--r-- 1 root root 37520 Aug 24 1996 ftp.exe
-r-xr--r-- 1 root root 16161 Sep 21 2000 loveletter.virus
-rwxr--r-- 1 root root 21271 Mar 19 2000 ouch.dat
-rwxr--r-- 1 root root 12384 Aug 2 2000 snoof.gz

8

知道关键字在物理硬盘镜像偏移并不能帮我们定位文件,所以两者相减,就得到卷偏移:

通过fsstat知道了Block大小是1024字节,因此,可以计算出关键字位于哪个block:

总体来说,通过以上步骤我们得到了block偏移。

知道了位于哪个块,我不由得舒了一口气,我知道,接下来的就容易的很多了。先用ifind找到哪个inode指向的是数据块5148:

[email protected]:/mnt/analysis # ls -al
total 118
drwxr--r-- 4 root root 7168 Dec 31 1969 .
drwxr-xr-x 13 root root 4096 Dec 21 14:20 ..
drwxr--r-- 3 root root 512 Sep 23 2000 Docs
drwxr--r-- 2 root root 512 Sep 23 2000 Pics
-rwxr--r-- 1 root root 19536 Aug 24 1996 arp.exe
-rwxr--r-- 1 root root 37520 Aug 24 1996 ftp.exe
-r-xr--r-- 1 root root 16161 Sep 21 2000 loveletter.virus
-rwxr--r-- 1 root root 21271 Mar 19 2000 ouch.dat
-rwxr--r-- 1 root root 12384 Aug 2 2000 snoof.gz

9

欧耶,乘胜追击,直接将该inode指向的文件数据输出出来:

[email protected]:/mnt/analysis # tree
|-- Docs
|    |-- Benchmarks.xls
|    |-- Computer_Build.xml
|    |-- Law.doc
|    |-- Private
|    `-- why hack
|-- Pics
|    |-- C800x600.jpg
|    |-- Stoppie.gif
|    |-- bike2.jpg
|    |-- bike3.jpg
|    |-- matrixs3.jpg
|    `-- mulewheelie.gif
|-- arp.exe
|-- ftp.exe
|-- loveletter.virus
|-- ouch.dat
`-- snoof.gz
3 directories, 15 files

0

回过头来再看看,我怎么没想到,不需要这么麻烦,还有更简单的方法,只需用到blklsblkcalc就可以轻松得到block位置了。

Clue 6

相必已看到,第六条线索不出意料的就在刚才文件的注释里:

[email protected]:/mnt/analysis # tree
|-- Docs
|    |-- Benchmarks.xls
|    |-- Computer_Build.xml
|    |-- Law.doc
|    |-- Private
|    `-- why hack
|-- Pics
|    |-- C800x600.jpg
|    |-- Stoppie.gif
|    |-- bike2.jpg
|    |-- bike3.jpg
|    |-- matrixs3.jpg
|    `-- mulewheelie.gif
|-- arp.exe
|-- ftp.exe
|-- loveletter.virus
|-- ouch.dat
`-- snoof.gz
3 directories, 15 files

1

交换数据流,我想,应该指的是NTFS文件系统里的ADS特性。可当前的明明是EXT2文件系统,咦,不对,我好像看见了一个ntfs.dd的文件!难道是这个?也没有其它办法了,姑且一试吧。

二话不说先挂载,列出所有文件:

[email protected]:/mnt/analysis # tree
|-- Docs
|    |-- Benchmarks.xls
|    |-- Computer_Build.xml
|    |-- Law.doc
|    |-- Private
|    `-- why hack
|-- Pics
|    |-- C800x600.jpg
|    |-- Stoppie.gif
|    |-- bike2.jpg
|    |-- bike3.jpg
|    |-- matrixs3.jpg
|    `-- mulewheelie.gif
|-- arp.exe
|-- ftp.exe
|-- loveletter.virus
|-- ouch.dat
`-- snoof.gz
3 directories, 15 files

2

貌似没有什么异常,可以我心里总觉得这个avi文件十分可疑,可能是男人的直觉吧。线索提示既然是ADS,那这回换个方式查看,直接看镜像文件。

首先查看分区:

[email protected]:/mnt/analysis # tree
|-- Docs
|    |-- Benchmarks.xls
|    |-- Computer_Build.xml
|    |-- Law.doc
|    |-- Private
|    `-- why hack
|-- Pics
|    |-- C800x600.jpg
|    |-- Stoppie.gif
|    |-- bike2.jpg
|    |-- bike3.jpg
|    |-- matrixs3.jpg
|    `-- mulewheelie.gif
|-- arp.exe
|-- ftp.exe
|-- loveletter.virus
|-- ouch.dat
`-- snoof.gz
3 directories, 15 files

3

得知NTFS分区的偏移是59,然后用fls列出所有文件:

[email protected]:/mnt/analysis # tree
|-- Docs
|    |-- Benchmarks.xls
|    |-- Computer_Build.xml
|    |-- Law.doc
|    |-- Private
|    `-- why hack
|-- Pics
|    |-- C800x600.jpg
|    |-- Stoppie.gif
|    |-- bike2.jpg
|    |-- bike3.jpg
|    |-- matrixs3.jpg
|    `-- mulewheelie.gif
|-- arp.exe
|-- ftp.exe
|-- loveletter.virus
|-- ouch.dat
`-- snoof.gz
3 directories, 15 files

4

可以看到,这个avi文件有两个入口,第二个就是隐藏在ADS里的文本文件。

明明知道等待着我的会是什么,可我还是忍不住打开这个文件:

[email protected]:/mnt/analysis # tree
|-- Docs
|    |-- Benchmarks.xls
|    |-- Computer_Build.xml
|    |-- Law.doc
|    |-- Private
|    `-- why hack
|-- Pics
|    |-- C800x600.jpg
|    |-- Stoppie.gif
|    |-- bike2.jpg
|    |-- bike3.jpg
|    |-- matrixs3.jpg
|    `-- mulewheelie.gif
|-- arp.exe
|-- ftp.exe
|-- loveletter.virus
|-- ouch.dat
`-- snoof.gz
3 directories, 15 files

5

De profundis clamo ad te domine,我疑惑地呢喃着。突然,眼前一黑,好像有什么硬物砸在了我的头上,我重重的倒在地上。意识在渐渐失去,可我貌似看到了什么……

月光诡异的从窗外倾洒进来,我缓缓地睁开眼,头疼的几乎将要炸裂。电脑屏幕上的绿色字符冷冷的闪烁跳动,我吃力的站起来。不行,我要赶快删掉这个文件,不能再被人发现它的存在,我知道它的可怕。

直接删掉这个镜像文件,我要抹去它的存在。幸好,我手上现在掌握着几种这台老式电脑上能用的删除文件的法术。

[email protected]:/mnt/analysis # tree
|-- Docs
|    |-- Benchmarks.xls
|    |-- Computer_Build.xml
|    |-- Law.doc
|    |-- Private
|    `-- why hack
|-- Pics
|    |-- C800x600.jpg
|    |-- Stoppie.gif
|    |-- bike2.jpg
|    |-- bike3.jpg
|    |-- matrixs3.jpg
|    `-- mulewheelie.gif
|-- arp.exe
|-- ftp.exe
|-- loveletter.virus
|-- ouch.dat
`-- snoof.gz
3 directories, 15 files

6

我知道,不能用rmrm太危险,一旦被复原,后果不堪设想。find也一样,至于rsync,这个不熟悉,我不能冒着这样的风险。

直接格盘吧,不行,不能搞这么大的动静,我只想静静的删除文件。

[email protected]:/mnt/analysis # tree
|-- Docs
|    |-- Benchmarks.xls
|    |-- Computer_Build.xml
|    |-- Law.doc
|    |-- Private
|    `-- why hack
|-- Pics
|    |-- C800x600.jpg
|    |-- Stoppie.gif
|    |-- bike2.jpg
|    |-- bike3.jpg
|    |-- matrixs3.jpg
|    `-- mulewheelie.gif
|-- arp.exe
|-- ftp.exe
|-- loveletter.virus
|-- ouch.dat
`-- snoof.gz
3 directories, 15 files

7

shred,没错,我怎么没想到这个,还有这个可以用。shred会用随机内容覆盖文件所在的节点和数据块,并删除文件,就是它了。

[email protected]:/mnt/analysis # tree
|-- Docs
|    |-- Benchmarks.xls
|    |-- Computer_Build.xml
|    |-- Law.doc
|    |-- Private
|    `-- why hack
|-- Pics
|    |-- C800x600.jpg
|    |-- Stoppie.gif
|    |-- bike2.jpg
|    |-- bike3.jpg
|    |-- matrixs3.jpg
|    `-- mulewheelie.gif
|-- arp.exe
|-- ftp.exe
|-- loveletter.virus
|-- ouch.dat
`-- snoof.gz
3 directories, 15 files

8

fls检查下,并没有出现,至少,现在可以舒一口气了。此时,乌云遮住了月亮,我知道,故事到这里就结束了。

本文为阅书有感而作,一本是来自LinuxLeo网站提供的Linux取证入门的书;一本是来自Brain Carrier的经典的File System Forensic Analysis;一本是CFTT项目测试各种取证工具并总结的取证工具handbook大全(2015版)。你可以在这里获取这三本书。

其中示例及所用镜像文件均来自书中,愿各位亲自尝试体验其中的乐趣。本人已整理打包,下载地址:http://pan.baidu.com/s/1ogLXW

成文仓促,文辞粗浅,仅资一娱,诸君见谅。

微信公共号:urinx,望关注。

注册 Vultr VPS 送你10美金 免费玩4个月