| 《快速入门》 |
第十章 高级应用-1 |
|
|
第十章 高级应用-1
本说明中所有图片均出自X-ways Forensics 及Winhex
13.8版。 本节,我们利用Winhex / X-ways Forensics分析软件,对“王者加密大师”1.0版工具软件制作的加密文件进行分析,介绍一种数据分析方法。即如何对未知文件格式进行分析,发现该类型文件的唯一特征签名信息,通过“修改文件签名库”,使Winhex / X-ways Forensics分析软件能够自动通过文件签名校验发现这种类型的加密文件。 一、“王者加密大师”简介 王者加密大师是一款简单易用的数据加密工具软件。据该软件官方描述:王者加密大师是一款专业的加密、解密软件,可以对任何想加密的文件进行加密,这就是说你可以用它对各种文件进行加密,如:文本文件(*.txt)、图像文件(*.jpg,*.gif,*.bmp,*.tif...)、音乐文件(*.mid;*.mp3;*.wav;*.wma,*.wmv...)、可执行文件(*.exe;*.dll...)、办公文件(*.wps;*.doc;*.xls)等众多的文件进行加密解密。软件充分考虑了用户的操作,通过简单几步便可完成加密,解密要求。本软件将是你重要数据和隐私的保护神。软件下载地址:www.sjwx.net。 软件安装后,运行该软件,可看到如下主界面。进行加密、解密操作,只需点击相应按钮即可。
二、“王者加密大师”加密测试 1、首先制作1份需要加密保护的文件。利用MS Word,制作一份新文件,并在文件中输入了一些文字。
2、调用王者加密大师,选择刚刚制作的需要加密的Word文件。
3、软件显示加密成功,出现如下窗口。
4、我们用Word打开刚刚制作的加密文件,Word显示如下信息:
当在Word软件中出现这种信息,通常表示该Word文件格式破损,Word软件无法识别正确的文件格式,无法成功打开该文件。此时证明,王者加密大师已经对该文件数据加密成功。 二、利用Winhex/X-ways Forensics软件分析文件格式 我们利用Winhex/X-ways Forensics打开该文件。可以发现,原有的Word文件的标准文件头部数据被改变,被“王者加密大师”改变为其自身格式。但察看其文件格式,我们吃惊地发现,利用王者加密大师对Word文件添加的保护口令,竟然以明文形式保存在文件头部。本例中,我们设置的口令为x-ways@china-forensic.com,通过下图,可以清楚地看到这一段口令。 这仅仅是偶然,还是“王者加密大师”就是以这种无保护方式保存口令呢?为验证口令保存方式,我们需要重新制作加密样本文件,进一步查看试验结果。 我们首先建立一个0字节的TXT文本文件,不添加任何内容。即在任意目录下,通过鼠标右键建立一个文本文件,命名为“空白文档.TXT”。此时,我们还没有输入任何内容,利用Winhex/X-ways Forensics打开该文件,可看到下图显示状态。 3、利用“王者加密大师”对该文件加密。本次,我们设定口令为1234567890。 由于文件中没有任何数据,因此,加密后显示出的数据均为“王者加密大师”经过一定算法自动生成的,有助于我们对该文件格式进行分析。 用Winhex打开加密后的TXT文本文件,可发现,口令果然以明文形式保存在文件中。 三、文件签名的概念 通过两个实验,我们可以证明,“王者加密大师”通过一定算法对数据进行保护,但为了解密方便,该软件没有对口令进行保护,而是直接将口令以明文形式保存在加密文件头部。只要利用Winhex/X-ways 打开该文件,即可直接得到了用户添加的原始口令。 但在实际的数据分析过程中,关键问题是如何在上千、上万份文件中发现这些文件。怎么才知道某个文件是由“王者加密大师”添加了保护口令呢?如果文件无法发现,则更谈不上破解保护口令,察看文件内容了。 在Winhex/X-ways Forensics中,我们可以通过自定义“文件签名”库,快速检测到“王者加密大师”的加密文件。 1、文件签名库 文件签名,简单说就是某类文件的独特标识信息。这些标识,有时可以显示出ASCII码字符,如RAR压缩文件,在文件头部,可以看到Rar!这四个字符。通过这四个字符,Winhex就可以判断该文件属于RAR压缩文件。但在多数文件头信息中,文件签名无法显示出ASCII码字符,那么就需要使用十六进制数值来表示该文件签名。如MS OFFICE 文件中,文件签名就是D0CF11E0A1B11AE1,Winhex/X-ways Forensics通过这些十六进制数值,也可以认定该文件属于MS OFFICE 类型文件。 通常来说,Windows注册表关联了许多种文件扩展名类型,通过定义扩展名和应用程序的关联,来确定Windows使用什么程序打开某种类型的文件。比如,Windows定义了DOC扩展名文件使用MS Word来打开,TXT文件使用记事本来打开。 但是,如果人为改变了某种类型文件的扩展名,例如,某人将SCAN.JPEG图片改名为CONTACTS.XLS,或将1.DOC改名为1,没有设定扩展名,那么Windows就无法准确地关联这些文件类型了。而利用文件签名,我们可以忽略文件扩展名是否正确,通过搜索文件签名特征值,识别出某个文件的真实类型。本例中,我们如果能够准确判断出“王者加密大师”加密文件的文件签名值,即可借助Winhex/X-ways Forensics将一个磁盘中所有包含此文件签名的文件查找出来。 这就是数据分析过程中,文件签名所起到的重要作用。
2、Winhex/X-ways Forensics文件签名定义方法 在Winhex/X-ways Forensics中,判定文件签名状态是否匹配主要依据文件签名值和文件扩展名,这些信息包含在Winhex/X-ways Forensics 文件签名数据库中,文件名为File Type Signatures.txt。 通过对比File Type Signatures.txt文件签名库中所定义的文件类型、扩展名、文件签名特征值,可以判断某个文件真实的类型,用于发现文件扩展名与文件真实类型不匹配的文件。例如,某人将SCAN.JPEG图片改名为CONTACTS.XLS,Winhex/X-ways Forensics能够自动依据JPEG图片文件的签名特征,把该文件的真实类型识别出来,并在Winhex的文件类型列表中显示文件类型为“jpg”,签名状态列中显示该文件“签名不匹配”。同样,对于一些没有扩展名的文件,如互联网暂存目录下的网页文件等,Winhex都可以帮助你将无扩展名文件的真实类型识别出来。 3、File Type Signatures.txt文件格式定义 File Type Signatures.txt 中的数据共分为六列,每一列数据定义如下: 第一列:文件类型。 对某种类型文件的定义,如JPEG、MS OFFICE等,长度为19 个字符。 第二列:文件扩展名 对所定义文件类型的典型扩展名。如jpg、jpeg、jpe,或doc、xls、dot等,长度可超过255个字符。 第三列:文件头签名 用于识别某些文件或某文件类型的唯一签名特征,可以是ASCII码或十六进制数值。例如0xFFD8FF,即为十六进制的FF、D8、FF。文件头签名最多支持16个字节。为了发现某种文件格式的唯一签名特征字节,可以打开多个相同类型的文件,利用Winhex /X-ways Forensics察看这些文件头部信息中相同偏移地址中包含的相同十六进制数值。 第四列:偏移量。 包含文件签名的相对偏移量。通常,文件签名从文件的第一个字节开始,偏移量为0。 第五列:文件尾签名 可选项,用于标记文件的结尾位置,可以是ASCII码或十六进制数值。文件尾签名的作用是为了确定准确的文件结尾位置,从而得到准确的文件容量。文件头签名最多支持8个字节。 第六列:文件缺省字节数 定义某类性文件的默认大小,以KB为单位。在进行特定类型文件恢复时非常有效,如一个视频文件可以是1 GB 大小,而一个图标文件往往只有1 KB。 四、修改文件签名库,添加“王者加密大师”文件签名信息 掌握了Winhex/X-ways Forensics的文件签名库格式后,我们既可根据文件库定义,对“王者加密大师”的加密格式进行分析,查找此类文件的文件签名。 一般来说,分析一种类型的文件签名至少要使用3-4个样例文件,对比每一个文件在同一位置的相同字节,来发现文件签名特征字节。下面,我们使用3个例子,分析“王者加密大师”加密文件的文件签名。 例1:
例2:
例3:
1、文件签名标志位
经对比上述3个文件,我们可发现“王者加密大师”制作的加密文件有明显的特征,即第1-8个字节固定不变,即01 00 00 00 01 00 00 00。一般来说,通过这种特征,我们可以认定这8个字节就是该类型文件的文件签名特征值。 由于文件签名从文件头开始,因此,偏移量为0。 此类文件没有文件尾签名特征值。 字节数没有固定大小。 文件类型,我们可以直接用中文名称描述,本例中,我们将其定义为“王者加密大师”。 扩展名,由于王者加密大师可以对任意类型文件加密,文件扩展名没有固定名称。但是我们需要利用Winhex/X-ways Forensics通过文件签名与扩展名类型不匹配的方法查找“王者加密大师”的加密文件,因此,我们需要给其定义一个特殊扩展名。将来可以通过过滤这种特殊类型扩展名的方法找到加密文件。因此,我们将扩展名!!1定义给“王者加密大师”。
2、修改Winhex/X-ways Forensics 文件签名数据库 File Type Signatures.txt 文件中预设了许多文件类型签名,用户可以自定义并添加自己判定的新的文件签名类型,最多可设置255 个数据项。 当自定义并修改File Type Signatures.txt文件签名库文件时, WinHex 会调用MS Excel来进行数据编辑,因为MS Excel支持文本文件中的TAB制表符。 执行Winhex/X-ways Forensics磁盘快照命令,选择“文件签名”按钮。
Winhex/X-ways Forensics自动调用EXCEL打开File Type Signatures.txt文件。
输入我们前面定义好的文件类型、文件扩展名、文件签名、偏移量几个信息。编辑结束,保存修改。
选择“是”,保存File Type Signatures.txt原文件格式。此时,文件签名库修改保存成功。重新运行Winhex/X-ways Forensics,即可以使Winhex/X-ways Forensics识别新的文件签名库。 如果用文本编辑器修改File Type Signatures.txt文件,需要注意不要删除TAB制表分隔符,否则Winhex将无法识别该文件中的保存的文件类型定义。 四、利用文件签名库过滤“王者加密大师”加密文件 执行Winhex/X-ways Forensics磁盘快照命令,选择“依据文件签名校验文件真实类型”。此时,Winhex/X-ways Forensics 将按照我们刚刚修改的File Type Signatures.txt 文件签名库中的信息,对当前案件中所有磁盘中的数据文件进行文件签名比对,校验文件的真实类型。 依据我们的设定,Winhex/X-ways Forensics 将发现当前案例中的“王者加密大师”加密文件,将其真实文件类型显示为“!!1”,并将其归入“签名不匹配”类别。 我们实际测试一下过滤结果。 1、调用磁盘快照,选择相应选项。
2、设置过滤选项,注意选择显示扩展名、文件类型、签名状态。同时以签名状态为过滤条件,选择过滤“签名不匹配”文件。
3、应用过滤条件后,Winhex/X-ways Forensics可以直接发现“王者加密大师”的加密文件。
四、利用文件类型库过滤加密文件 参考上图,我们可以看到,在“分类描述”列中,Winhex/X-ways Forensics将王者加密大师文件描述为 “加密类”。这个描述是如何添加进Winhex/X-ways Forensics 中的呢?如何将更多的文件类型添加进Winhex/X-ways Forensics中呢?下面,我们进一步阐述“文件类型库”的修改方法。 1、文件类型库的主要功能 文件类型库可以定义某种文件扩展名属于哪个类型。如扩展名DOC、TXT,被归类于文字编辑类,扩展名ZIP、RAR,被归类于压缩类。通过文件类型过滤方式,Winhex/X-ways Forensics可以快速将磁盘中的某类数据过滤出来。 当在磁盘快照中选择了“通过文件签名判别文件真实类型”后,选择“文件类型”过滤方式时,Winhex/X-ways Forensics将依据文件签名库和文件类型库中的定义,把对应类型的文件搜索并显示出来。 Winhex/X-ways Forensics 14.0版文件类别库中包含有近380个文件描述,分为办公类、电子邮件类、互联网记录类、图像类、视频类、音频类、注册表类、压缩类、镜像类等共计14个分类。随着版本不断升级,File Type Categories.txt 文件类别库中的数据还在不断增加。
2、文件类型库
File Type Categories.txt的文件格式 File Type Categories.txt文件中,文件类型名称以 :xxx:
开头,其中xxx表示自定义的文件类型,如办公类、加密类、压缩类等等。文件类型库最多支持32 个类别。如果个人修改了File Type
Categories.txt文件中的数据,一定要注意保存好新增加的信息,并随时添加至最新版的文件类型库中。 File Type Categories.txt中,文件扩展名描述行必须以“+” 或“-”开始。 “+”号,表示该行定义的属于扩展名,每行对应一个,文件扩展名必须使用小写字母。扩展名描述与扩展名之间要保留一个空格。File Type
Categories.txt中定义了重复的扩展名,那么过滤结果可能会出现错误。 “-”号,表示该行定义的属于文件名,也可以是文件名+扩展名。这种对于过滤准确 “文件名”的文件非常有效。例如:-;index.dat; Internet Explorer
历史记录。通过此过滤,可以将当前磁盘中所有文件名为index.dat的文件过滤出来。 对于File Type Categories.txt文件中未包含的扩展名,都被归属于“其它”类别中。
、添加“王者加密大师”至File
Type Categories.txt中 根据我们前面的定义,我们将王者加密大师的文件类型!!1添加至File Type
Categories.txt文件中。 由于目前的14个分类中,没有划分出加密类,因此我们新建立一个文件类别“加密类”。将其定义为: :15:加密类 +!!1 王者加密大师 小结: 本节,我们通过分析“王者加密大师”加密文件格式,重点阐述了Winhex/X-ways Forensics中,文件签名库和文件类型库的作用,以及如果通过修改这两个库文件实现对更多类型文件的检索和过滤。相信读者根据此实例,能够很好地掌握两个库文件的使用技巧。不明之处,欢迎交流。 注:此功能仅在Winhex Forensics和X-ways Forensics版本中能够使用。
|
|