浅谈加密容器取证思路---以EncFSMP为例

软件介绍

EncFSMP

这个工具可以帮助生成一个加密容器,并挂载磁盘。

相比于VC、TC,它的优势是不需要指定虚拟磁盘的大小。相反的,它要求的是一个文件夹,在文件夹中生成一个xml配置文件,虚拟磁盘中的文件会以加密后的形式保存在这个文件夹中。

img

虚拟磁盘挂载后,在此电脑的显示中,总容量和可用空间都与虚拟磁盘的文件夹所在磁盘一致,也就是说你可以不断往里面塞文件,直到把你实际的磁盘塞满为止。

img

而且当你需要传递某个文件时,不需要像VC、TC那样发送整个容器,或是将文件解密后再发送,你只需要将配置文件与需要的加密文件一起发送即可

软件新建虚拟磁盘的配置

img

还可以在内存中保存密码

img

分析

勾选保存密码

软件安装后,进入到软件的目录,发现没有其他文件

img

everything查找,也是没有额外文件的

img

使用RegScanner扫描注册表,可以找到键值

img

双击某一条数据,可以自动跳转到对应的注册表项,此时就可以直接看到明文的密码(保存在NTUSER.DAT\SOFTWARE\hiesti.ch\EncFSMP\MountList\MountEntryPassword字段)。这适用于用户主动保存密码的情况,该密码可以用于字典攻击,或是日后取证大师等类似软件直接解密这个加密容器。

img

内存中寻找密码

经过几次简单的测试,该软件无论是否勾选在内存中保存密码,都是可以从内存中搜索到密码的,可能是它的逻辑有问题。勾选此项时,在软件未退出时,只需要输入一次密码即可随意挂载卸载;未勾选时,每次挂载都需要输入密码

利用任务管理器dump内存

img

在dump出的内存里搜索自己设置的密码,这里列举一些测试数据,可以发现特征0200000000xx00000000000000password,其中xx表示密码的长度,最后跟着的就是密码,然而这仅限于密码小于16位的情况,也就是说xx的最大值是0f

img

img

img

当密码的长度大于15位时,就不满足这个规则了

img

img

img

img

但是值得注意的是,当密文超过15位时,我们可以用strings工具来查看是否存在连续的字符串,然后尝试解密,其实是相当于打字典攻击了

img

结语

对加密容器的取证分析,主要就是2个方面。第一是加密容器的判断,第二是加密容器的解密。

以本次的样本为例,在判断加密容器时,可以寻找某个目录是否包含.encfs6.xml文件

img

亦可以直接查找注册表NTUSER.DAT\SOFTWARE\hiesti.ch\EncFSMP\MountList\MountEntry,但是需要注意该软件可以在列表中移除容器,此时注册表相关字段会被删除,因此还是直接判断文件准确率更高。

寻找容器的解密密码时,可以从软件的注册表、配置文件等方面入手,再一个就是对内存下功夫,从内存中寻找密码或是密钥。

当然本次的样本由于是较为小众的加密软件,安全性做的可能不是很好,但也可以提供思路。

posted @ 2023-08-17 19:11  WXjzc  阅读(521)  评论(0编辑  收藏  举报