首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何对有访问密码的MySQL数据库进行取证?

数据库取证

众所周知,数据库是信息系统中不可或缺的部分,随着大数据时代的到来,数据库已经成为犯罪分子的目标,大量数据库被用于存放网络盗窃和网络诈骗中产生的数据;将数据库的数据提取出来,成为了打击犯罪的重要手段之一。

MySQL数据库

MySQL是一种开放源代码的关系型数据库管理系统。从目前的数据库市场占有率来看,Oracle、MySQL、SQL Server三大数据库产品遥遥领先,呈三足鼎立局面。而随着互联网行业的快速发展,MySQL因其开源免费易用等优势,市场占有率不断攀升,成为互联网公司最受欢迎的数据库。而在不少的犯罪案件中我们也常常看到MySQL数据库的身影。

今天,小编就要跟大家分享的是一种MySQL数据库数据提取的方法。

案例背景

某案件需要对已扣押的本地服务器中MySQL数据库存进行取证,办案人员急需获取镜像中MySQL数据库的数据记录,但是却无法找到MySQL数据库的登录密码。

需求:获取镜像中MySQL数据库的记录

难题:如何对有访问密码的MySQL数据库进行取证?

检材:服务器镜像文件一份

案例思路分析

因为没有数据库登录密码,无法获取数据库数据。为了保证数据库数据的完整性,并且能够通过SQL语句方便快捷查询到用户所需的数据,我们需模拟出与嫌疑人相同的数据库环境。针对上述案例,我们可以通过附加mysql数据库并修改密码的方法来获取数据库数据,具体操作思路和步骤如下:

提取案例服务器中数据库文件;

将提取的数据库文件附加到新的电脑;

附加完成后重置MySQL的密码;

登录MySQL查看导出数据库记录。

从上述案件中得知,已经获取了案件相关服务器镜像,因此只需附加MySQL数据库并重置登录密码即可提取数据库数据。下面将详细讲述这两个步骤的具体操作方法。

具体操作步骤

1

附加MySQL数据库

1)在目标电脑上安装与嫌疑人使用的数据库相同版本的数据库,MySQL安装过程本文档不详细介绍,网上很多MySQL的安装教程;

2)MySQL安装完毕后,断开MySQL服务。‘C:\ProgramData\MySQL\MySQL Server 5.7\Data’文件夹为MySQL数据库的数据目录,将需要附加的数据库数据文件复制拷贝到该文件夹中;

3)重新启动MySQL,若能正常启动,即附加成功。

PS:附加数据库的注意事项

1)如何快速确定镜像中MySQL的存放路径?

MySQL数据库都具有ibdata1这个关键文件,可以通过检索这个文件快速定位到MySQL数据文件的存放路径;

2)如何确定嫌疑人使用的MySQL数据库具体版本号?

安装在目标电脑上的MySQL版本号需要和镜像中的MySQL数据库版本相同,确定MySQL数据库版本的方法:使用winhex打开任意一个提取到mysql数据库中的.frm文件,如图所示:

3)重启MySQL报错怎么解决?

在将数据文件复制完毕后,重启数据库时如若报错,可在任务管理器中将MySQL.exe进程结束后把复制过来的日志文件删除或剪切到其他位置,再次启动MySQL服务,此时MySQL服务可正常启动,附加成功。如图所示:

2

重置MySQL数据库登录密码

附加MySQL数据库后,需要登录密码才能访问数据库数据,因为没有登录密码,因此需要重置MySQL数据库的登录密码到达访问提取数据库记录数据的目的,具体步骤如下:

1)修改MySQL数据库的C:\ProgramData\MySQL\MySQL Server 5.7中的my.ini配置文件,然后将修改好的my.ini复制到C:\Program Files\MySQL\MySQL Server 5.7中;如图所示将配置文件中的basedir修改为MySQL数据库应用程序所在路径,datadir修改为MySQL数据库数据文件存放路径:

2)在cmd命令行中切换至C:\Program Files\MySQL\MySQL Server 5.7\bin路径,关闭mysql服务执行命令mysqld --skip-grant-tables,该命令的作用是跳过用户验证。注意在执行了该命令后此cmd命令行无法继续操作了,需要重新打开一个cmd命令行切换到bin路径下;

3)在新打开的cmd命令行,直接输入mysql,不需要带任何登录参数直接回车就可以登陆上数据库;

4)输入show database;可以看到所有数据库说明成功登录;

5)其中MySQL库就是保存用户名的地方。输入use mysql;选择mysql数据库;

6)更改root密码;MySQL版本高于5.7.1输入update user set authentication_string=password("123456") where user="root";

7)刷新数据库mysql> flush privileges;之后退出MySQL: mysql>quit;此时MySQL密码已经重置成功;

PS:重置MySQL密码的注意事项

1)针对‘重置MySQL步骤6’中更改root密码,如若MySQL版本低于5.7,需输入update user set password=password("123456") where user="root";

2)在重置密码后重新启动MySQL服务,若MySQL服务无法启动;造成该错误的原因是日志文件发生错误,采用之前同样的解决方法:在任务管理中将mysqld.exe进程结束后把日志文件删除或者剪切到其他路径。

3

启动MySQL服务

1)重置MySQL的登录密码,启动MySQL服务,此时可以使用Navicat for MySQL管理器输入账号与修改后的密码后即可连接到MySQL数据库,访问数据并提取相关记录;

2)打开数据表,查看数据。

注意事项

在采用上述方法对MySQL数据库进行取证时也要注意以下几点:

1、确保从服务器中获取到的数据库的完整性,不然会导致附加失败;

2、确保搭建环境附加数据库的电脑具有足够的空间,不然会因为空间不足导致附加失败;

3、确保搭建环境中MySQL数据库版本与服务器中的MySQL数据库版本完全一致;

4、以上操作涉及到很多专业技能方面的,如有必要可找寻专业的公司协助完成。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180509A13MQU00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券