中文
ENGLISH

当前位置:首页 >  行业资讯 > 技术分享 > 阿里云MongoDB恢复 | Cflab实验室研究简报

阿里云MongoDB恢复 | Cflab实验室研究简报

发布时间:2018年4月20 14:44

  上期的「赌博机取证」引起不小反响,必哥也接到了不少咨询电话。在这里,Wendy对大家的关注表示衷心的感谢!真的,在取证的路上,找到志同道合的你们,是一起继续前行的动力。

  正文

  案情简介

  本次案件是电信诈骗,嫌疑人通过一个网络平台实施诈骗,在线交易短线外汇。

  分析过程

  在得到嫌疑人的阿里云账号后,通过分析该网络平台的代码,发现其应用程序的核心数据都存在阿里云MongoDB数据库上。

  通过mongo shell连接数据库后,发现只有一个库有数据,其他关键的数据库均已被删除,没有我们要找的数据库。

  用mongo shell查看,我们会发现数据库的大小为0

1

  数据库的大小为0!

  取证难点

  阿里云有自动备份的功能,通常在知道数据库被删除后,我们首先会去查看备份。

  但是,该备份7天为一个周期,然后会循环覆盖,此案难点就在于数据库被删除之日距离分析早已超过7天。

  以下图为例说明,假设数据库的内容是A。

2

  第5天数据库被删除

  由于每次备份都是针对当前的状态备份,当第5天嫌疑人删除了数据库,那么从第5天开始,以后的每次备份都将是0。

  只要第1天至第4天的数据还在备份里,我们就是可以提取出来的。

3

  七天的备份里有第4天的数据

  也就是说,我们至少要在第10天之前拿到并分析这个数据库。

  但事实是,我们拿到数据库时早就已经超过第10天了。

4

  七天的备份均为0

  一般情况下,到了这一步,都视为无法继续。

  但必哥另辟蹊径,他从备份中发现留有一些源文件。

  他将这些源文件下载下来,发现被删除的数据库所指向的源文件还占有一定的空间,也就是数据还可能存在,通过分析MongoDB数据存储方式,配合已有的文件,成功提取出了多达百万条删除的数据库数据。

  成果展示

  还占有一定空间的源文件提取出来后如图:

5

  最后,看看我们提取到的交易信息和会员信息!(部分敏感信息我们隐藏了显示栏)

6

  必哥给图片打码也很随性……

  研究总结

  本次突破的重要思路就在于数据库备份中的那些源文件。

  

  这个专栏的初衷,就是为了分享我们研究的最新进展,但针对想知道详细过程的要求,我们可能经常会很难满足,原因如下:

  一、案件的细节在原则上本就是应该保密的,每个取证人员都知道并恪守这一点;

  二、针对某一案件的技术难点所研究的方法很可能只适用于这一个案例,有特殊情况和运气成分在里面,进展和突破只能作为一个参考方向;任意采用可能造成证据损坏,我们无法给予补救办法。

  三、所有成果都是Cflab实验室全体人员经常性通宵达旦换来的,Wendy认为公开与否应该尊重他们内心的意见,也许我们可以一次两次施压得到全部细节,但设身处地想想,每次突破还未成熟就全盘托出,这会影响他们以后长期的研究动力,不是吗?而我们希望的应该是看到更多的技术突破!

  我们的读者都是高知,在这三点上肯定能够给予理解。Wendy在此给大家保证,等所有的技术成熟了,有了足够的案例验证有效,我会申请分享给大家,可能会以集成的高端培训课程等形式。

  再一次谢谢大家的关注和支持!有你们,取证之路才不孤单。