实验NTFS-1说明:NTFS-1.img是一个包含NTFS文件系统的磁盘镜像,请使用winhex手工方式读出这个文件系统内的指定文件,并回答其md5 HASH值。
要求:
1、利用WINHEX手工方式读取。
2、不得使用WINHEX模板功能。
3、不得使用WINHEX文件系统解析功能。
4、填写的MD5 HASH值全部为大写,不包括0x头标或H尾标,中间不得有任何间隔符号(包括空格、制表符、’-’等符号),以WINHEX软件运算出的HASH值为准。
实验目的:
1、实现手工方式跟踪一个NTFS文件系统,并读出指定的某个文件。
2、理解目录缓冲区的结构原理。
3、理解文件有多个碎片的处理方式(runlist的结构)。
4、理解DBR、$MFT、FileRecord等文件系统组件。
5、熟练使用WINHEX
题库:
1
2
3
4
|
实验NTFS-1中,文件系统中对"/mnt/NTFS-1-58/12.txt",人工读取内容后计算得到的文件MD5 HASH值为0x___。////927C94BBFC5B2A545C8526F8272F65F8//容易。。
实验NTFS-1中,文件系统中对"/mnt/NTFS-1-58/7.txt",人工读取内容后计算得到的文件MD5 HASH值为0x___。////685A3C1600211F75362F2B9D0541A2DA//容易。。
实验NTFS-1中,文件系统中对"/mnt/NTFS-1-58/4.txt",人工读取内容后计算得到的文件MD5 HASH值为0x___。////0C72D420DD8902BBAE41A8C4E6676BCA//容易。。
... ...
|
附:生成考题的python脚本:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
|
#!/usr/bin/python3
import
os
import
random
import
hashlib
import
struct
r
=
os.system
rc
=
random.choice
ri
=
random.randint
md5
=
hashlib.md5
items
=
list
(
range
(
1
,
21
))
r(
"cd ~/NTFS-1"
)
fkaoti
=
open
(
"NTFS-1-kaoti.txt"
,
'w+'
)
r(
"qemu-img create -f raw NTFS-1.img 500M"
)
r(
"losetup /dev/loop0 NTFS-1.img"
)
r(
"mkfs.ntfs -f /dev/loop0"
)
r(
"mount.ntfs-3g /dev/loop0 /mnt"
)
for
i
in
range
(
1
,
60
):
r(
"mkdir /mnt/NTFS-1-%d"
%
i)
random.shuffle(items)
for
ii
in
items:
f
=
open
(
"/mnt/NTFS-1-%d/%d.txt"
%
(i,ii),
'w+'
)
for
iii
in
range
(
1
,ri(
500
,
550
)):
if
ri(
1
,
32
)
=
=
1
:
f.write(
"*****COPY RIGHT:"
)
else
:
f.write(
"www.frombyte.com"
)
f.close()
for
i
in
range
(
1
,
60
):
random.shuffle(items)
for
ii
in
items:
f
=
open
(
"/mnt/NTFS-1-%d/%d.txt"
%
(i,ii),
'a'
)
for
iii
in
range
(
1
,ri(
1000
,
1100
)):
if
ri(
1
,
32
)
=
=
1
:
f.write(
"*****COPY RIGHT:"
)
else
:
f.write(
"www.frombyte.com"
)
f.close()
#//对40以后的目录生成MD5 HASH,40之后即不可能存在于第一个目录块
for
i
in
range
(
40
,
60
):
for
ii
in
items:
fn
=
"/mnt/NTFS-1-%d/%d.txt"
%
(i,ii)
ff
=
open
(fn,
'r'
)
data
=
ff.read()
ff.close()
fkaoti.write(
"实验NTFS-1中,文件系统中对\"%s\",人工读取内容后计算得到的文件MD5 HASH值为0x___。//%s//容易。。\n"
\
%
(fn,md5(data.encode(
"utf8"
)).hexdigest().upper()) )
fkaoti.flush()
fkaoti.close()
r(
"cd"
)
r(
"umount /dev/loop0"
)
r(
"losetup -d /dev/loop0"
)
|
部署流程:
1、在liunx下执行上述脚本,生成NTFS-1.img和NTFS-1-kaoti.txt(可以生成两份,一份用于练习,一份用于考试)。
2、针对每一份考题,把NTFS-1-kaoti.txt导入考试系统。
3、针对每一份考题,把NTFS-1.img放入考试系统指定目录。
4、不得将用于考试的直接涉及答案的文件放入考试系统磁盘中。
本文转自 张宇 51CTO博客,原文链接:http://blog.51cto.com/zhangyu/1941949,如需转载请自行联系原作者