摘要:近几年,随着计算机技术的迅猛发展,加密容器技术被广泛的应用在经济类案件和传播暴恐音视频案件中,给公安机关的案件侦破带来了很大的挑战。本文结合了Bitlocker、TrueCrypt、VeraCrypt三种常用的加密容器技术,从加密容器的识别、解密与取证两个方面进行了全面的介绍。
关键词:加密容器、Bitlocker、TrueCrypt、VeraCrypt、识别、解密与取证
近几年,随着计算机技术的迅猛发展,违法犯罪份子的反侦察意识也越来越越高,在最近配合警署办理的多起经济类案件和传播暴恐音视频案件中,嫌疑人均使用了加密容器技术对关键的证据进行了加密处理,给公安机关的案件侦破带来了很大的挑战。
加密容器是指为了确保数据安全,避免数据丢失、被偷以及被窥视而采用的一种可靠的、实时地的加密软件。常用的加密容器技术主要包括BitLocker、TrueCrypt、VeraCrypt、CnCrypt、DriveCrypt、FreeOTFE、PGP等。
BitLocker是Windows自带的驱动器加密技术,自Windows Vista开始引入,BitLocker驱动器加密是通过加密Windows操作系统卷上存储的所有数据来达到保护计算机中的数据的目的。TrueCrypt是一款免费开源的加密软件,支持Windows、Mac OS 、Linux等操作系统,支持在硬盘上创建一个或多个虚拟磁盘,所有虚拟磁盘上的文件都被自动加密,需要通过密码来进行访问,TrueCrypt支持对文件、分区、磁盘进行加密,并提供多种加密算法。在微软终止对 Windows XP的支持后,TrueCrypt的开发也于2014年5月结束。VeraCrypt,也是一款免费开源跨平台的实时磁盘文件加密工具,它是基于知名的开源加密工具TrueCrypt项目衍生而来,其软件界面和功能与TrueCrypt基本类似。CnCrypt、DriveCrypt、FreeOTFE也是加密容器技术,在日常运用中相对较少,PGP加密系统是采用公钥私钥结合的一种加密技术,支持对文件、磁盘、分区、邮件等进行加密,软件需付费使用,一般会使用分区号0x74标记加密容器,易被检测,被广泛的应用到邮件加密上。
本文与各位读者共同讨论BitLocker、TrueCrypt、VeraCrypt三种常见的加密容器技术的识别与取证方法。
一、BitLocker的取证
BitLocker用于加密Windows操作系统卷上的数据,仅支持Windows系统分区的加密,如果需要针对整个磁盘启用Bitlocker加密,则必须先将磁盘进行分区,然后再针对分区启用Bitlocker。
首先,我们先讨论下BitLocker加密容器的识别方法。BitLocker加密容器的识别主要有三种方法:
1、通过系统图标识别
在Windows系统中,启用过BitLocker加密容器的分区,一般会在分区上有把锁,当BitLocker加密容器处于未解密状态时,锁的图标为金色且是锁定状态,当BitLocker加密容器处于解密状态时,锁的图标为灰色且是打开状态,如下图所示:
加密状态
解密状态
在日常取证工作中,我们可以通过计算机仿真系统先对证据盘或镜像文件进行仿真,仿真后进入系统后即可通过系统图标识别Bitlocker加密分区。
2、通过取证工具加载镜像识别
我们可使用计算机取证分析系统来识别Bitlocker加密容器,识别的方法很简单,只需要通过计算机取证分析系统来加载镜像,加载后在对应的分区上有小锁图标,右键提示BitLocker解密,如下图所示:
当然,我们也可以使用Passware Kit Forensic、Elcomsoft Forensic Disk Decryptor等取证工具加载证据盘或镜像文件,加载完成后软件会自动标注识别到的BitLocker分区,如下图所示:
Passware Kit Forensic识别Bitlocker分区
Elcomsoft Forensic Disk Decryptor识别Bitlocker分区
3、通过签名开头识别
Bitlocker的签名开头为“-FVE-FS-”,我们可以使用“-FVE-FS-”签名头来识别Bitlocker加密容器。通过FTK
Imager或winhex加载证据盘或镜像文件,分别查看各分区的签名头,签名头为“-FVE-FS-”的即为Bitlocker加密分区,如下图所示:
BitLocker的解密方法总结起来共有四种:一是通过输入密码解密,二是通过恢复密钥解密,三是通过内存镜像进行解密,四是暴力破解。通过密码短语和恢复密钥破解需要嫌疑人自行交代,或是在嫌疑人电子设备中找到相应的密码记录文件才能实现;通过内存镜像解密则需要在现勘的时候制作处于开机状态且加密容器为解密状态的内存镜像,然后通过相应的技术手段提取内存镜像中的恢复密钥达到解密BitLocker的目的;暴力破解的难度比较大,成功概率较低。
▪ 利用密码解密BitLocker
利用密码解密BitLocker的方法很简单,我们通过计算机取证分析系统加载证据盘或镜像文件,然后在计算机取证分析系统内输入Bitlocker解密密码,或是通过计算机仿真系统对证据盘或镜像进行仿真后,直接在Bitlocker加密分区上右键,输入密码即可解密,如下图所示:
通过密码解密Bitlocker
▪ 利用恢复密钥解密Bitlocker
利用恢复密钥解密BitLocker的方法同利用密码解密BitLocker一样,通过计算机取证分析系统加载证据盘或镜像文件,然后在计算机取证分析系统内输入Bitlocker恢复密钥,或是通过计算机仿真系统对证据盘或镜像进行仿真后,直接在Bitlocker加密分区上右键,输入密码即可解密,如下图所示:
通过恢复密钥解密Bitlocker
▪ 利用内存镜像解密BitLocker
利用内存镜像解密BitLocker可以分为工具解密和手工解密,工具解密可以使用Passware Kit Forensic、Elcomsoft Forensic Disk Decryptor等工具,手工解密则主要是通过在kali里通过命令的方式提取Bitlocker密钥信息,手动挂载Bitlocker加密分区达到解密目的。
使用Passware Kit Forensic解密Bitlocker
Passware Kit Forensic是Passware公司推出的密码破解工具集,它将所有的密码恢复模块全部集成到一个主程序中,支持恢复文件密码、恢复因特网和网络密码、重置Windows管理员密码、搜索受保护的文件和恢复硬盘密码,当然也支持解密常见的加密容器。
使用Passware Kit Forensic解密Bitlocker的具体步骤如下:
1)打开Passware Kit Forensic,选择Full Disk Encryption,然后选择Bitlocker,如下图所示:
2)选择“I have a memory image”,弹窗后设置好需解密的加密容器、内存镜像、解密后镜像存放的位置和文件名,如下图所示:
3)解密完成后,软件可以解析出Bitlocker解密的恢复密钥,也可会将解密后的Bitlocker加密分区另存到上图设置的目标路径,通过恢复密钥即可解密Bitlocker,也可以直接加载解密后的镜像即可取证。
使用Elcomsoft Forensic Disk Decryptor解密Bitlocker
Elcomsoft Forensic Disk Decryptor是一款非常实用的磁盘密码解密与恢复工具,提供完全集成的解决方案,用于访问加密卷,程序提供了所有可用方法,可以访问存储在加密的PGP、TrueCrypt、VeraCrypt等等磁盘和卷中的信息;软件支持从提取内存镜像中提取常见加密容器密码和密钥,也支持直接解析加密容器。
使用Elcomsoft Forensic Disk Decryptor解密Bitlocker加密容器的具体步骤如下:
1)打开软件,选择“Decrypt or mount disk”,下一步,然后根据实际选择物理磁盘/分区或镜像,下一步:
2)选择之后,软件会自动加载磁盘镜像,并识别对应的加密类型,选中软件识别出需要解密的Bitlocker加密容器,在下方会弹出解密方法,勾选“Memory Dump”,关联好内存镜像,点击下一步,开始解密分析:
3)分析完成后,我们就可以获取到Bitlocker解密的恢复密钥,拷贝恢复密钥到计算机取证分析系统内或是仿真系统内就可以解密Bitlocker加密分区了,如下图所示:
4)上图中,我们也可以选择“Decrypt disk”将加密容器解密后另存为一个镜像,另存后的镜像可以直接通过镜像挂载工具加载取证,也可以选择“Mount Disk”直接将解密后的Bitlocker加密分区挂载到本地,挂载需要虚拟光驱的支持,如下图所示:
5)解密后预览,如下图所示:
加载解密后的镜像
直接挂载预览
手工解密Bitlocker
手工解密Bitlocker加密分区需要借助内存分析工具volatility,在使用volatility的时候推荐直接使用kali自带的volatility。通过研究手动解密Bitlocker加密容器,有助于我们理解Bitlocker的加解密原理。
首先,我们来了解两个概念:VMK、FVEK。VMK是卷主加密,主要用于加密和FVEK,FVEK是全卷加密,用于加解密磁盘扇区数据,也就是说Bitlocker加密容器内的数据都是通过FVEK进行加密的,我们可以从内存镜像中提取到FVEK,然后FVEK来解密Bitlocker加密分区。
在开始手工解密Bitlocker前,我们需要下载和安装两个插件:bitlocker.py和bdemount。bitlocker.py用于提取内存镜像中的FVEK和TWEAK,用于解密Bitlocker;bdemount是专门用于挂载BitLocker加密卷的挂载工具。
1)下载安装bitlocker.py
下载链接:https://github.com/tribalchicken/volatility-bitlocker
下载后将bitlocker.py放入kali虚拟机的/usr/lib/python2.7/dist-packages/volatility/plugins目录下。
2)下载安装bdemount
在kali里执行sudo add-apt-repository universe和sudo apt install libbde-utils即可自动完成bdemount的安装,安装后在命令行输入bdemount后会有返回。Bdemount的具体用法如下:
bdemount [-k keys] [-o offset] [-p password] [-r password] [-s filename][-X extended_options] [-hvV] source
参数:
-k 密钥,例如:FVEK:TWEAK
-o 以字节为单位指定卷偏移
-p 指定密码
-r 指定恢复密码
-s 指定包含启动密钥的文件,该文件扩展名为.BEK
3)在kali里通过volatility与bitlocker.py插件提取内存镜像内的FVEK和TWEAK,执行命令
“volatility -f memdump.mem --profile=Win7SP1x64
bitlocker”,执行完成后科技获取到FVEK为:0d393d80bf512f5e501a8bfad3272965,TWEAK为:cf71859b45775123fcc1dad3007d1c41,如下图所示:
提取FVEK和TWEAK
4)使用bdemount命令挂载Bitlocker加密分区,执行命令“bdemount -k 0d393d80bf512f5e501a8bfad3272965:cf71859b45775123fcc1dad3007d1c41 D.dd ./crypt-1”,如下图所示:
挂载Bitlocker加密容器
5)通过bdemount挂载后,可在挂载点crypt-1下得到的文件bde1,这个文件是一个整体文件,需要二次挂载,执行命令“sudo mount.ntfs-3g -o loop,ro crypt-1/bde1 crypt-2/”即可挂载,因为Bitlocker是Windows自带加密容器,文件系统格式为NTFS,因此需要使用“mount.ntfs-3g”挂载,二次挂载后,在挂载点crypt2下就可以得到Bitlocker加密容器内的文件,如下图所示:
手动解密后的Bitlocker加密分区
6)至此,Bitlocker手动解密全部完成。
综上所示,我们在进行Bitlocker取证时,可以通过查看系统分区图标、签名标识“-FVE-FS-”和取证工具来识别Bitlocker加密容器。Bitlocker的取证主要可以通过密码解密、恢复密钥解密和内存镜像解密。
二、TrueCrypt取证
相较于Bitlocker加密,TrueCrypt还支持创建文件型加密卷,即创建一个文件类型的加密盘,在未挂载前,用户看到的就是一个任意格式的普通文件,只有挂载容器文件后,才能获取到容器能的内容。并且TrueCrypt还支持创建隐藏的加密卷,也就是在一个容器文件内创建两个加密容器,两个容器通过不同的密码或密钥文件分别控制,通过不同的解密密码和密钥文件可以打开不同的加密容器。
1、TrueCrypt加密容器的识别方法
TrueCrypt加密之后的文件没有固定的特征,无法通过特征去进行判断,在取证过程中,我们可以通过取证软件分析证据盘内安装的软件和最近打开的程序,如果嫌疑人有安装过和使用过TrueCrypt,则可以猜测存在TrueCrypt加密容器文件或分区,如下图所示:
如果加密卷是磁盘或系统分区,则可以通过计算机取证分析系统和Elcomsoft Forensic Disk Decryptor识别TrueCrypt加密容器;若果是文件型加密卷则可以通过文件大小来判断是否为加密容器文件;另外,我们也可通过volatility分析内存镜像来识别其中的加密容器文件。
使用计算机取证分析系统识别TrueCrypt
使用计算机取证分析系统加载镜像后,在加密的分区上会有一个小锁图标,在对应的分区上右键,若弹窗提示VeraCrypt解密,则判断可能为TrueCrypt加密卷。如下图所示:
使用Elcomsoft Forensic Disk Decryptor识别TrueCrypt
使用Elcomsoft Forensic Disk Decryptor加载镜像后,软件会自动加密卷进行标识,如下图所示:
依据文件大小判断加密容器文件
在分析证据盘安装软件和最近运行程序里有TrueCrypt的前提下,如果我们发现某个常规文件异常大,并且无法正常打开,这时可以猜测其为加密容器卷(也有可能做过数据隐写),然后再通过上面介绍的工具分别加载该文件,确认是否为加密容器文件。
1)查看文件属性,发现note.txt•peter大小为66M(有的加密容器文件可能更大),并且打开异常,正常txt文件大小都很小,而且能够正常打开。
2)猜测note.txt•peter为加密容器文件,使用Elcomsoft Forensic Disk Decryptor加载后进行确认。
使用volatility分析内存镜像来识别加密容器文件
Volatility是专门用于分析内存镜像的工具,在Volatility中,用于分析TrueCrypt的插件主要有三个:truecryptmaster、truecryptpassphrase、truecryptsummary。
Truecryptmaster:用于从内存镜像中恢复TrueCrypt 7.1a主密钥;
Truecryptpassphrase:用于从内存镜像中查找缓存密码;
Truecryptsummary:TrueCrypt摘要。
执行命令“volatility -f DESKTOP-D7AP30M-20200605-082800.raw --profile Win10x64_14393 truecryptsummary”如下图所示:
在上图中,不仅分析到了TrueCrypt的进程PID和加密容器文件路径、文件名,还可以分析出加密容器挂载的盘符和容器内的文件。
2、TrueCrypt加密容器的取证方法
TrueCrypt加密容器的解密方法主要有四种,一种是通过密码短语解密,第二种是通过密钥文件解密,第三种就是通过内存镜像解密,第四种是爆破,由于爆破成功率较低,本文不做阐述。
▪ 通过密码短语解密TrueCrypt
1)使用计算机取证分析系统加载TrueCrypt加密容器文件,然后输入解密密码短语进行解密;
2)也可以直接打开TrueCrypt,选择对应的加密文件或是设备,点击加载:
2)输入密码后点击确定,即可解密。
通过密钥文件解密TrueCrypt
▪ 通过密钥文件解密TrueCrypt
1)使用计算机取证分析系统加载TrueCrypt加密容器文件,然后输入解密密钥文件进行解密;
2)也可以直接打开TrueCrypt,选择对应的加密文件或是设备,点击加载;
3)勾选使用密钥文件,添加密钥文件,确定即可解密。
通过密码短语解密TrueCrypt
▪ 通过内存镜像解密TrueCrypt
通过内存镜像解密TrueCrypt也需要借助取证工具Passware Kit Forensic、Elcomsoft Forensic Disk Decryptor来进行解密。
1、通过Passware Kit Forensic解密TrueCrypt
1)打开Passware Kit Forensic,选择Full Disk Encryption,然后选择TrueCrypt,如下图所示
2)选择“I have a memory image”,弹窗后设置好需解密的加密容器、内存镜像和目标位置,如下图所示:
3)若果是整盘镜像的话,需选择镜像内的加密分区,如果选择错误,也会提示“Please select a TrueCrypt partition”如下图所示:
4)解密完成后,软件会自动将解密后的镜像保存在用户设置的目录下,同取证工具加载解密后的镜像即可进行取证。
2、通过Elcomsoft Forensic Disk Decrypto解密TrueCrypt
1)打开软件,选择“Decrypt or mount disk”,下一步,然后根据实际选择物理磁盘/分区或镜像,点击下一步;
2)选择镜像之后,软件会自动加载磁盘镜像,并识别对应的加密类型,选中需要解密的加密容器,在下方会弹出解密方法,选择“Memory Dump”,关联内存镜像:
3)分析完成后,我们可以选择“Decrypt disk”将加密容器解密后另存到指定路径,然后直接通过镜像挂载工具加载解密后的镜像文件进行取证。我们也可以选择“Mount Disk”直接将加密分区挂载到本地,如下图所示:
4)解密后预览,如下图所示:
加载解密后的镜像
加载解密后的镜像
三、VeraCrypt取证
同TrueCrypt一样,VeraCrypt也支持创建文件型加密卷,支持创建隐藏的加密卷,VeraCrypt加密容器的识别方法与TrueCrypt加密容器识别方法一样。VeraCrypt的取证方法主要还是通过密码短语解密和通过密钥文件解密,目前取证工具暂不支持通过内存镜像解密。VeraCrypt通过密码短语解密和通过密钥文件解密的方法与TrueCrypt一样,本文就不在累述。
总结: 加密容器取证一直都是困扰电子取证人员的难题之一,本文结合常见的三种加密容器技术,全面的阐述了相应加密容器的识别和解密方法,希望可以给从事电子取证的技术人员带来相应的帮助。
来源:盘古石取证