当前位置: 主页 > 关于效率源 > 行业洞察 > 热点技术

【技术实战】Access数据库解密方法

2018-09-26 10:00

Access数据库

Access是由微软发布的关联式数据库管理系统。它结合了Microsoft Jet Database Engine和图形用户界面两项特点,是Microsoft Office的系统程序之一。

Access具有强大的数据处理、统计分析能力,利用Access的查询功能,可以方便地进行各类汇总、平均等统计,可以用来对数据进行分析,并且可以灵活设置统计的条件。除此之外,它简单易学,低成本地满足那些从事企业管理工作人员的需要。另外,在开发一些小型Web网站和应用程序时,用来存储数据。

Access数据库
在这些案件中常遇到

基于Access数据库的便捷性和实用性,在实际的办案场景中,我们会遇到很多使用Access数据库的涉案系统,比如涉黄案件中的会所会员管理系统,传销案件、公民信息贩卖案件中的人员名单资料存放等系统中;走私案件中的小型称重软件、仓储物流软件等软件中;当然还有一些直接在系统中建立的存放信息的数据库。

某些情况下,其涉案数据库会出现加密情况,下面就Access数据库的加密原理做一个简述。

Access数据库解密-详细操作方法

Access数据库版本确定方法

首先可以查看数据库的后缀名,2007以前的版本后缀名为.mdb,2007以后(包括2007)的后缀名为.accdb;如果软件中的数据库,后缀名被更改为dat或其他后缀名时可以通过winhex底层查看,在下图中的红框部分可以看到2016版本的和2000版本的底层不同,2007以后的版本底层的0x13-0x15都是ACE,2007以前的版本底层查看0x13-0x15都是Jet。

1.png

Access数据库加密原理及解密方法

Access数据库的加密原理根据不同的版本有所差别(大体可以分为2007以前及以后),所以其解密方法也需要选择适合其版本的;

2007版本以前加密原理:

存放在数据库文件的二进制的0x42开始的后40字节为数据库的密码位,每两字节存储一个密码位,编码方式为Unicode,将加密文件中现得到的加密字节与未加密文件(没有加密的Access文件)的相应字节再进行一次异或即可得到密码原文。(下图红框中为数据库的加密位)

2.png

2007版本以前解密方法:

1、如果只是需要清除密码的话也可以使用没有加密的数据库的0x42-0x82位字节和加密后的数据库的底层0x42-0x82进行异或操作得到密码(Access数据库必须要是同一个版本的);

2、也可以使用Advance office password recovery professional工具直接获取到数据库密码;

2007及以后版本的加密原理:

Office中可供使用的加密算法取决于 Windows 操作系统中可通过 API(应用程序编程接口)访问的算法。除了可以保持对加密 API (CryptoAPI) 的支持之外,也支持 CNG(Cryptography Next Generation,CNG),CNG 最初在 2007 Microsoft Office system Service Pack 2 (SP2) 中提供,其中加密方式是通过RC4加密算法,密码用输入的密码生成伪随机序列。

2007及以后版本的解密方法:

只能通过暴力破解的方式解密,使用Advance office password recovery professional工具暴力破解。

案例实操演练

下面我们就通过一个案列简单的介绍一下Access数据解密的具体步骤。

案例介绍

某公安机关在一起有关药材走私案件中,在嫌疑人电脑上找到了一个称重管理系统,办案人员怀疑该系统中有相关的走私药材的信息,但是嫌疑人拒不交代该称重系统的登录密码,这种情况下可以找到软件的数据库登录查看相关信息。但在查看时发现数据库有管理密码。

案例要求

破解该称重系统数据库密码,拿到数据库内相关数据。

思路分析

1)确定该称重管理系统存储数据的位置(及数据库位置);

2)找到数据库位置后确定该数据库的类型;

3)确定数据库类型后通过以上介绍的数据库解密方法通过工具进行解密;

4)最后打开数据库时还需要注意数据的权限问题;

具体操作步骤

1、确定数据库存在的位置

案件电脑中安装了称重软件,在软件的安装位置找到了一个名叫data的文件夹,里面有一个rec.Dat的文件,通过底层查看可以发现该文件为软件的数据库文件。

2、确定数据库类型和版本

通过winhex底层查看文件头我们可以发现该数据为Access数据库且版本为2007以前的版本。如下图:

3.png

3、解密数据库

1)Access数据库解密:

确定电脑中Access数据版本为2007以前的版本后使用软件使用Advance office password recovery professional 软件破解出该数据库的密码,在软件中可以知道数据库密码为NJYDMIS12345;数据库所有者为NJYD;数据库的版本为2000。

4.png

2)使用软件破解出数据库密码后尝试打开数据库。

正常打开数据库提示没有必要权限无法打开数据。

5.png

3)解决没有权限打开数据的问题

在第一步中我们不只是找到了数据库的密码,还找到了数据库的所有者,user为“NJYD”,所以在打开数据库的时候使用用户名的方式打开数据库,才能访问数据。

4)如何使用用户名打开数据库

先新建一个空白的数据(图1);然后另存为该数据库为Access2002-2003或者是Access2000(图2);打开新建的数据库在信息中打开管理用户和权限并添加我们再第一步中破解的用户名NJYD(图3,图4)。

6.png

图1

7.png

图2

8.png

图3

9.png

图4

5)添加完成后在运行中输入msaccess /user命令,表示通过用户名打开数据;

输入用户名:NJYD,密码为空点击确定后还需要输入该数据的密码:MJYDMIS12345;

10.png

6)通过以上步骤就可以查看数据库表中的内容

在表中我们看到里面有MZ, PZ, JZ,分别代表:毛重,皮重,净重。

11.png

注意事项

1、数据库的版本号要先确定,如果为2007以后的版只能通过暴力破解的方式破解密码;

2、破解出密码后要注意数据库的权限问题,如果是需要登陆的软件或系统中一般情况下数据库都是有权限的,需要用户名和密码才能打开;

3、数据库的破解工具有多种,可以自行在网上查找。

以上就是有关于Access数据库的解密,但是现在很多搭建在服务器上的网站、软件都使用的是SQLserver、MySQL、Oracle数据库,对于这些数据库的解密,有机会我们会在以后的文章中分享。

趣味小彩蛋
王老师最近惹女朋友生气了,就想着准备一个“高级的、惊喜的“道歉方式。于是就给女朋友发了下面这一串数字。

 10010011001100110111111101101100101101100111011111110101

发完之后左等右等都没等来女朋友的回复和原谅,王老师百思不得其解。大家来看看王老师想跟他女朋友说什么?

提示:可以尝试进行解密,操作顺序提示(一句有爱的话、8个字符、十进制、ASCII编码);

大家可以在文末评论区给出您的解密答案哦!

 

【拓展阅读】


【技术视界】Access数据库文件恢复提取技术介绍

【技术视界】受损固态硬盘(SSD)数据恢复方法(文内有福利)

【技术视界】虚拟机文件取证技术研究

【技术实战】如何对有访问密码的MySQL数据库进行取证?

【便携易用】只读设备新选择

【技术实战】安卓模拟器数据提取分析方法

【技术实战】树莓派的数据固定与提取方法

【技术视界】暗网取证思路和方法研究

【技术视界】WhatsApp取证:对未root手机的数据库解密以及删除数据的提取