【阿里云MongoDB恢复】

640?

来源:数据安全与取证(ID:Cflab_net)

原创:Wendy


案情简介


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


分析过程


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


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


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

640?wx_fmt=png

数据库的大小为0!


取证难点


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


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


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


640?wx_fmt=png

第5天数据库被删除


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


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


640?wx_fmt=png

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


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


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

640?wx_fmt=png

七天的备份均为0


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


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


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


成果展示


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

640?wx_fmt=png


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

640?wx_fmt=png

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


研究总结


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


长按下方二维码,关注“数据安全与取证”察看更多精彩内容。

640?wx_fmt=jpeg


推荐阅读:

MongoDB 在 Windows / Linux 下的安装配置

640?wx_fmt=jpeg

640?wx_fmt=png

猜你喜欢

转载自blog.csdn.net/xcnhykohj3ek/article/details/80266583