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

发布时间:2018-05-11作者:spider阅读(1489)

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

     

    数据库取证

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

    MySQL数据库

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

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

    案例背景

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

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

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

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

    案例思路分析

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

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

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

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

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

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

    具体操作步骤

    附加MySQL数据库

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

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

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

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

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

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

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

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

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

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

    2.重置MySQL数据库登录密码

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

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

    2)在cmd命令行中切换至C:Program FilesMySQLMySQL Server 5.7in路径,关闭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://database.51cto.com/art/201805/573125.htm

0 +1

版权声明

本文章为系统自动抓取,如涉及您的版权,请联系博主进行下架处理

 数据库  mysql  行业资讯

 请文明留言

0 条评论