电子数据取证每日一练
题目
上一期内容:电子数据取证每日一练-服务器取证5-docker容器
案情介绍
某地警方接到受害人报案称其在某虚拟币交易网站遭遇诈骗,该网站号称使用“USTD 币”购买所谓的“HT 币”,受害人充 值后不但“HT 币”无法提现、交易,而且手机还被恶意软件锁定 勒索。警方根据受害人提供的虚拟币交易网站调取了对应的服务器镜像并对案件展开侦查。
通过前面两期对常见的网站服务器有了一个初步了解,本节是在前面的基础上,对数据库和网站进行恢复
地址:公众号首页
赛题和工具网盘地址:公众号首页
学习目标:了解数据库文件内容、掌握常用的sql语句、本地数据库重建
使用工具(在网盘地址中提供):Arsenal Image Mounter、X-ways、Winhex、VMware Workstation、phpstudy_pro、navicat
难度:中等难度
题目一览
25. 勒索者在数据库中修改了多少个用户的手机号?
26. 勒索者在数据库中删除的用户数量为
27. 还原被破坏的数据库,分析除技术员以外,还有哪个IP地址登录过管理后台网站?用该地址解压 检材4
28. 还原全部被删改数据,用户id为500的注册会员的HT币钱包地址为
29. 还原全部被删改数据,共有多少名用户的会员等级为’LV3’
30. 还原全部被删改数据,哪些用户ID没有充值记录
31. 还原全部被删改数据,2022年10月17日总计产生多少笔交易记录?
32. 还原全部被删改数据,该网站中充值的USDT总额为
本题所需知识点
本地重建数据库
首先备份数据库(也可以不用)
mysqldump -u username -p dbname [tbname ...]> filename.sql
如果没有 root 密码,可以:MySq1数据库想要跳过密码进行登陆修改/etc/my.ini
在mysqld模块下面添加以下语句,保存并退出
skip-grant-tables
然后重启服务:
systemctl restart mysqld
然后再导出表,之后在小皮面板里面找到相应版本的数据库,然后将data替换掉
重建好再用 Navicat 来连接,能避免很多权限问题。
绕密之后直接连接本地即可
远程连接数据库
如果想要连接到虚拟机的数据库,要利用ssh远程连接到数据库
网站重建
对于网站重建的一般原则就是:在虚拟机上部署好服务器, 启动网站的架构代码(如前面几期提到的jar包、docker启动等),然后找到数据库并在网站源码中配置好相应的地址和端口,最后是找到网页重要的访问路径并绕密登录。
网站的搭建通常需要以下几个关键要素:
1.域名(Domain Name)和端口
-
域名是网站的地址,用户通过它可以访问网站。同时确认网站域名后,还要确定网站开放的端口,常见端口有:
80 端口(HTTP):用于未加密的网页传输。浏览器访问不加密的网站时通常会使用这个端口。
443 端口(HTTPS):用于加密的网页传输。通过 SSL/TLS 加密,确保数据传输的安全性,是现代网站的首选。
8080 端口:HTTP 的备用端口,常用于 Web 应用开发和测试环境中。
8443 端口:HTTPS 的备用端口,用于加密的网页传输,类似于 443 端口。
2. 服务器(Hosting Server)
-
网站需要一个服务器来托管。可以选择以下几种服务器类型:
-
共享主机:与其他网站共享服务器资源,成本较低,适合流量小的网站。
-
虚拟专用服务器(VPS):提供更多的资源和控制权限,适合中型网站。
-
云服务器(如 AWS、阿里云):灵活扩展,按需付费,适合高流量和弹性需求的网站。
-
独立服务器:专门为一个网站提供服务,适合大型网站和需要高安全性的网站。
-
对于取证来说,一般服务器都是本地用服务器镜像重建的虚拟机,所以一般这里是用虚拟机来代替服务器
3. 网站代码或CMS(Content Management System)(网站源码)
-
网站可以通过手动编写代码(如 HTML、CSS、JavaScript、Python、PHP 等)进行搭建,或者使用内容管理系统(CMS)进行快速搭建。
-
静态网站:使用 HTML、CSS 和 JavaScript 构建,适合展示简单内容的网站。
-
动态网站:使用后端技术(如 PHP、Python、Node.js 等)与数据库进行交互,适合复杂应用。
-
CMS 系统:如 WordPress、Drupal、Joomla 等,提供现成的模板和插件,适合快速搭建博客、企业官网等类型的网站。
-
了解常见的网站源码,可以方便分析网站的配置文件,启动方式等
4. 数据库(Database)
-
如果网站有动态内容(如用户数据、文章等),需要数据库来存储和管理这些数据。常用的数据库有:
-
3306 端口:MySQL 数据库的默认端口,常用于与 MySQL 服务器进行通信。
-
5432 端口:PostgreSQL 数据库的默认端口,适用于与 PostgreSQL 数据库连接。
-
27017 端口:MongoDB 数据库的默认端口,用于非关系型数据库通信。
-
6379 端口:Redis 的默认端口,用于与 Redis 数据库进行通信
-
关系型数据库:如 MySQL、PostgreSQL 等,适合有结构化数据的网站。
-
非关系型数据库:如 MongoDB,适合处理大规模非结构化数据。
-
数据库相关端口:
-
一般数据库重建之后,服务器的网页才能正常访问和登录
5. 前端框架和工具
-
使用前端框架可以更轻松地开发和管理网站的用户界面(UI),如:
-
React、Vue.js、Angular 等前端框架。
-
Bootstrap、Tailwind CSS 等用于设计和布局的 CSS 框架。
6. 后端框架
-
后端是处理网站的业务逻辑、数据库操作和服务器请求的部分,常用的后端框架有:
-
Python + Django / Flask
-
Node.js + Express
-
PHP + Laravel
-
Java + Spring
-
所以要掌握能够看懂这些代码的能力
7. 部署和持续集成工具
-
使用 Docker 等工具可以将网站的环境打包并进行快速部署。
-
CI/CD 工具(如 Jenkins、GitLab CI)可以帮助自动化部署流程。
查看数据库日志分析
这是比赛中常见的一种考查方式,通过分析数据库日志内容,来确认数据库是否有进行过修删改查。
题目解析
这里的数据库恢复本质上就是将数据库文件放置到docker的mysql文件里面中
把数据库的文件放置到docker映射的原本的mysql数据库存放的位置
mysql
-db
-table1
-table2
-…………
但是看到后面的题目有感而发:可以编写一个简单的脚本,把log的操作提取出来,进而还原一部分数据库
25.勒索者在数据库中修改了多少个用户的手机号?
直接搜phone,然后锁定到之后,搜UPDATE `b1`.`member` SET `mobile_phone` =
26.勒索者在数据库中删除的用户数量为
找一个自己使用方便的文本编辑器,然后查看一下
27.还原被破坏的数据库,分析除技术员以外,还有哪个IP地址登录过管理后台网站?用该地址解压 检材4
直接绕过数据库用户认证,然后重启数据库服务(注意在docker中)
到这里就要开始恢复网站了,前提准备:docker服务启动、docker中数据库服务启动、虚拟网络ip配置好、数据库恢复完毕。然后重新启动网站的脚本,登录账号密码在前面的浏览器中保存过
之后的题目分析数据库或者分析后台都可以(但是建议能在后台进行分析,尽量选择后台分析,有时候数据库分析会和网站显示的有出入)
28.还原全部被删改数据,用户id为500的注册会员的HT币钱包地址为
在后台直接找就可以
29.还原全部被删改数据,共有多少名用户的会员等级为’LV3’
这里还要还原被删改数据,通过查看日志,把下面人员的数据都恢复就好了
写一个脚本找出包含这些id的log内容,或者手动选一下也可以都是连着的
查看一下现有的
一共是164个
说一下这里的数据库连接,是使用小皮面板,在本地搭建了一个数据库服务,然后连接本地数据库查看的
把数据库文件下载到本地,然后替换掉小皮面板原有数据库
30.还原全部被删改数据,哪些用户ID没有充值记录
审视一遍数据库的充值表发现,没有删减,然后写一个sql语句来查看哪些用户没有充值记录
31.还原全部被删改数据,2022年10月17日总计产生多少笔交易记录?
32.还原全部被删改数据,该网站中充值的USDT总额为
总结
这套题目主要是了解数据库分析的操作,一般用于题目要求或者当后台网站仿真不起来的时候,也可以转换思路来对数据库分析。其中数据库分析可以在虚拟机上或者在本地进行分析。同时了解web网页如何进行重建,用于进行更加可视化的分析。
往期内容推荐
服务器取证部分 | |
windows取证部分 | |
安卓手机取证部分 | |
ios手机取证部分 | 电子数据取证每日一练-ios取证 |
流量取证部分 | 电子数据取证每日一练-流量取证 |
手工仿真系列 |
原文始发于微信公众号(网络安全与取证研究):电子数据取证每日一练-数据库和网站恢复
- 左青龙
- 微信扫一扫
- 右白虎
- 微信扫一扫
评论