【网络取证篇】取证实战之PHP服务器镜像网站重构及绕密分析

【网络取证篇】取证实战之PHP服务器镜像网站重构及绕密分析

在裸聊敲诈、虚假理财诈骗案件类型中,犯罪分子为了能实现更低成本、更快部署应用的目的,其服务器架构多为常见的初始化网站架构,也称为站库同体服务器!也就是说网站应用程序,数据库及用户账号信息、交易记录,文件(如相关的Apk、视频图片)等资源都部署在同一台服务器中,因此,我们在现场勘验或者获取调证后的涉案网站和数据库都同一个服务器镜像内。

在取证分析时我们通常对服务器镜像进行仿真后,查看历史命令等启动相应服务,进入宝塔面板或修改本地hosts文件等实现网站还原,使用改密或者修改后台登录逻辑等进入后台,用Navical或PHPMyadmin等登录涉案数据库查看相关数据。

然而由于各个案件情况不一致,嫌疑人对网站修改配置各式各样、web中间件或数据库环境受到损坏、一些调证回来的镜像文件本地仿真环境限制等因素导致网站还原失败,从而迟滞了我们案件的进程。

本文通过对某虚假理财类案的调证服务器镜像进行仿真,初始网站还原失败,通过一步步的查找分析配置环境,最后成功重构PHP网站—【凌风、蘇小沐】

1、进入宝塔面板

宝塔面板6.0之后,命令bt集成了很多我们需要的命令,方便我们对宝塔面板相关信息进行修改。

宝塔面板命令行序号注释
1重启面板服务
2停止面板服务
3启动面板服务
4重载面板服务
5修改面板密码
6修改面板用户名
7强制修改MySQL密码
8改面板端口
9清除面板缓存
10清除登录限制
11取消入口限制
12取消域名绑定限制
13取消IP访问限制
14查看面板默认信息
15清理系统垃圾
16修复面板(检查错误并更新面板文件到最新版)
17设置日志切割是否压缩
18设置是否自动备份面板
22显示面板错误日志
23关闭BasicAuth认证
24关闭谷歌认证
25设置是否保存文件历史副本

此次涉案服务器中宝塔面板版本低于6.0。输入bt命令后并没有显示相关宝塔的信息。
在这里插入图片描述

我们使用老版本宝塔面板登录命令:bt default 得到进入宝塔面板的网址、用户名和初始密码,验证后发现密码错误。
在这里插入图片描述

2、使用修改面板密码命令修改密码

使用修改面板密码命令修改密码,例如:改成123456 : cd /www/server/panel && python tools.py panel 123456 ,成功登录宝塔面板。

(一)找回网站源码

1、查找网站源码默认存储位置

登录宝塔面板后,我们发现为空,而且宝塔面板操作日志中仅仅有一条清空日志,回收站中也没有源码。
在这里插入图片描述
在这里插入图片描述

2、查找宝塔的主数据库配置信息

【宝塔的主数据库路径:/www/server/panel/data/default.db】

宝塔的主数据库,网站信息面板配置什么的都在这里面,随即查看下宝塔面板路径:/www/server/panel/data/default.db中的数据库文件,使用navicat打开发现宝塔面板操作日志,发现有将源码压缩并转移到backup文件夹下的操作记录日志。
在这里插入图片描述

然后查找backup路径,在此果然发现了网站源码备份,遂将其还原至默认路径下。

(二)还原网站前台

在启动中间件和MySQL数据库后网站依旧进不去,报错提示无法连接到 MySQL 数据库。

由于前面有更改过许多默认路径及配置,这里猜测比较可能的原因是网站数据库配置文件未配置好。在启动中间件和MySQL数据库后网站依旧进不去,报错提示无法连接到 MySQL 数据库。

由于前面有更改过许多默认路径及配置,这里猜测比较可能的原因是网站数据库配置文件未配置好。

在这里插入图片描述

1、定位网站数据库配置文件

在网站源码中发现PHP读取配置文件为:db_settings.PHP。
在这里插入图片描述

当然,这里也可以用一种通用的方法快速定位网站数据库配置文件,因为网站数据库中不可避免的会存储数据库的数据库名、用户名、密码等,将网站源码下载到电脑本地后,可以使用FileLocatorPro等文本内容搜索工具搜索包含数据库名"database"或用户名"user"、密码"password"等关键词快速定位到网站数据库配置文件。
在这里插入图片描述

2、配置IP

在宝塔面板中修改数据库密码为123456,根据宝塔面板中的数据库名、用户名、密码等配置网站数据库配置文件,保证两者相同。修改网站数据库配置文件中host改为仿真起来ifconfig得到的IP。
在这里插入图片描述
在这里插入图片描述

这时网站数据库配置文件已经配好了,但是登录网站依旧报错。
在这里插入图片描述

3、修改访问权限

剩下的就是访问权限的问题了,在宝塔面板中发现数据库权限为"指定IP"访问,尝试将数据库权限升级为所有人均能访问。
在这里插入图片描述

再次登录网站,成功显示登陆页面,还原涉案网站前台。

在这里插入图片描述

(三)获取前端管理员账户

1、数据库检索

此时,继续查找有用信息,在数据库中搜索发现用户列表里有管理员信息,猜测其前台登录不仅仅有受害人,也可能有前端管理员权限用户信息。
在这里插入图片描述

在网站源码中发现PHP不仅读取配置文件db_settings.PHP。还读取了functions.inc.PHP、main.inc.PHP两个文件。
在这里插入图片描述

2、修改登录代码逻辑

遍历之后发现functions.inc.PHP为控制前台用户登录的文件,其中发现登录网站的密码加密盐值不是固定的!!!
在这里插入图片描述

【盐值规律:盐值是从0123456789abcdef中随机抽取10个!!!所以我们不能通过随机注册用户后生成的密码密文来替换我们想要登录的某用户!!!】

【破解方法:虽然盐值随机,但是我们可以通过修改代码逻辑进入其它用户,将选中的==(等于)改为!=(不等于),就可以用随便非正确的密码登录任意用户账号!!!】

【破解方法:虽然盐值随机,但是我们可以通过修改代码逻辑进入其它用户,将选中的==(等于)改为!=(不等于),就可以用随便非正确的密码登录任意用户账号!!!】

【破解方法:虽然盐值随机,但是我们可以通过修改代码逻辑进入其它用户,将选中的==(等于)改为!=(不等于),就可以用随便非正确的密码登录任意用户账号!!!】
在这里插入图片描述
修改后,使用前端管理员用户名登录显示如下。
在这里插入图片描述

3、登入后台管理员界面

在/www/wwwlogs/路径下找到网站登录日志,找到后台登录网址。
在这里插入图片描述

在数据库中找到后台登录账号和密码密文。
在这里插入图片描述

此密码密文为32位,推测是MD5加密,在线解密得明文密码。
在这里插入图片描述

随即用管理员账号成功登陆后台。

在这里插入图片描述

(四) 【后台绕密拓展思考】

如果密码不是MD5加密,或者说MD5解密不出来,我们也可以修改源码逻辑进入,首先用虚假的账号和密码登录后台,查看报错内容。
在这里插入图片描述

然后在宝塔面板中网站源码页面点击文件查找,输入报错内容,点击包含子目录,点击查找,就能查找出包含此报错内容的文件。
在这里插入图片描述

随后点击编辑,进入编辑文档界面。

在这里插入图片描述

将选中的!(不等于)改成(等于),后台任意密码即可登录。

(五)【本案启示】

一是熟悉工具各种参数配置文件信息等。比如宝塔面板,我们通常用命令bt就能查看修改宝塔相关信息,但殊不知在宝塔6.0以下版本并没有集成到bt中,需要用复杂的命令行进行解析。

二是在网站源码丢失时,可以通过宝塔面板日志或在服务器中敲击"history"命令查看输入过的历史命令,来了解嫌疑人历史相关操作,从而有可能找回源码。

三是网站前台也有可能会有部分特权用户,也就是前端管理员用户,进入其管理页面后可以获取相关权限,了解更多信息。其管理的小队成员列表更能帮助我们迅速理清人物架构。

四是网站后台的寻找和破密、绕密,方式多种多样,有些时候网站的密码加密盐值不是固定的,密码随机生成,并不能用普通的替换绕密,等等。

以上这些只是个人的一些粗浅看法,在网络高速发展的今天,我们并不能期望对手比我们弱,比我们什么都不懂,这是不现实的!我更期望的是大家积极探讨,集思广益,了解更多的知识,融会贯通,来更好的应用到相关案件服务中。

总结

书写片面,纯粹做个记录,有错漏之处欢迎指正。

公众号回复关键词【网络取证】自动获取资源合集。公众号已接入AI取证小助手,可在公众号内发送问题自动获取简易解答。

【声明:欢迎转发收藏,个人创作不易,喜欢记得点点赞!!!转载引用请注明出处,著作所有权归 [蘇小沐] 所有】

【注:共享资源收集于官网或互联网公开材料,仅供学习研究,如有侵权请联系删除,谢谢!】

记录

开始编辑:2024年 11月 28日‍

最后编辑:2024年 11月 30日

END往期精彩回顾

Image

▲ 【网络取证篇】宝塔面板server和panel的目录功能说明

[Image
▲ 【镜像仿真篇】WindowsServer服务器镜像仿真

](https://mp.weixin.qq.com/s?__biz=MzI2MTUwNjI4Mw==&mid=2247486098&idx=1&sn=34c4f8668ef0a5a5ad2fb72e648bca2b&scene=21#wechat_redirect)

关注我,了解更多取证知识,别忘了点赞+在看哦!!!

本文转自 https://mp.weixin.qq.com/s/uVcd5tV3Yt-nasX7qn5cOQ,如有侵权,请联系删除。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/490462.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

图像处理 - 车道线检测:智能驾驶的“眼睛”

引言 在智能驾驶技术飞速发展的今天,车道线检测作为一项基础而关键的技术,扮演着车辆“眼睛”的角色。它不仅关系到车辆的导航和定位,还直接影响到自动驾驶系统的安全性和可靠性。本文将带你深入了解车道线检测技术的原理、方法以及在实际应用…

【Linux学习】十五、Linux/CentOS 7 用户和组管理

Linux下组和用户的管理都必须是root用户下进行: 一、组的管理 1.组的创建 格式: groupadd 组名参数: -g:指定用户组的组ID(GID),如果不提供则由系统自动分配。 【案例】创建一个名为 oldg…

Unity类银河战士恶魔城学习总结(P179 Enemy Archer 弓箭手)

教程源地址:https://www.udemy.com/course/2d-rpg-alexdev/ 本章节实现了敌人弓箭手的制作 Enemy_Archer.cs 核心功能 状态机管理敌人的行为 定义了多个状态对象(如 idleState、moveState、attackState 等),通过状态机管理敌人的…

Pikachu靶场——XXE漏洞

XXE(XML External Entity)漏洞 XXE(XML External Entity)漏洞是一种常见的安全漏洞,发生在处理 XML 数据的应用程序中。当应用程序解析 XML 输入时,如果没有正确配置或过滤外部实体的加载,就可能…

使用 ESP-IDF 进行esp32-c3开发第四步:VSCode里安装ESP-IDF插件

很多小伙伴还是习惯在VSCode里写代码,所以今天进行了--使用 ESP-IDF 进行esp32-c3开发第四步:VSCode里安装ESP-IDF插件 安装和配置 首先到VSCode的插件页面,搜索esp,排名第一的就是ESP-IDF插件,点击安装即可。 在命令…

SSM 垃圾分类系统——高效分类的科技保障

第五章 系统功能实现 5.1管理员登录 管理员登录,通过填写用户名、密码、角色等信息,输入完成后选择登录即可进入垃圾分类系统,如图5-1所示。 图5-1管理员登录界面图 5.2管理员功能实现 5.2.1 用户管理 管理员对用户管理进行填写账号、姓名、…

部署GitLab服务器

文章目录 环境准备GitLab部署GitLab服务器GitLab中主要的概念客户端上传代码到gitlab服务器CI-CD概述软件程序上线流程安装Jenkins服务器 配置jenkins软件版本管理配置jenkins访问gitlab远程仓库下载到子目录部署代码到web服务器自动化部署流程 配置共享服务器配置jenkins把git…

泷羽sec学习打卡-brupsuite8伪造IP和爬虫审计

声明 学习视频来自B站UP主 泷羽sec,如涉及侵权马上删除文章 笔记的只是方便各位师傅学习知识,以下网站只涉及学习内容,其他的都 与本人无关,切莫逾越法律红线,否则后果自负 关于brupsuite的那些事儿-Brup-FaskIP 伪造IP配置环境brupsuite导入配置1、扩展中先配置python环境2、安…

如何在 Ubuntu 22.04 上使用 Fail2Ban 保护 SSH

前言 SSH,这玩意儿,简直是连接云服务器的标配。它不仅好用,还很灵活。新的加密技术出来,它也能跟着升级,保证核心协议的安全。但是,再牛的协议和软件,也都有可能被攻破。SSH 在网上用得这么广&…

智能家居WTR096-16S录放音芯片方案,实现语音播报提示及录音留言功能

前言: 在当今社会的高速运转之下,夜幕低垂之时,许多辛勤工作的父母尚未归家。对于肩负家庭责任的他们而言,确保孩童按时用餐与居家安全成为心头大事。此时,家居留言录音提示功能应运而生,恰似家中的一位无形…

EasyGBS国标GB28181-2016标准解读:基于TCP协议的视音频媒体传输

在探讨EasyGBS平台基于GB28181-2016标准的TCP协议视音频媒体传输时,我们首先需要了解GB28181标准的基本背景。GB28181,即GB/T28181—2016《公共安全视频监控联网系统信息传输、交换、控制技术要求》,是公安部提出的公共安全行业标准&#xff…

[C++]C++工具之对异常情况的处理(throw、catch、try)以及用命名空间避免同名冲突

一、C 异常处理😊 1.1 定义 C 中的异常处理用于应对程序运行中的异常情况(如除零、数组越界等),通过 try-catch 机制捕获和处理错误,防止程序崩溃。 异常是程序运行时意外发生的事件,可以通过抛出&#xf…

博客MDX渲染方案

MDX渲染方案 Link 本文不由AI生成,原创,转载请注明 当个人博客网站或是独立网站有博客页时,通过渲染mdx文件是一种效率比较高的方式生成博客文章的一种方式 MDX渲染方案 我之前是通过typora直接导出html文件,这种纯静态页面 缺点:太繁琐优点:可以自己选不同的主题,成本…

VScode MAC按任意键关闭终端 想要访问桌面文件

说明 最近配置MAC上CPP的运行环境,在安装必要的CPP插件后,配置launch和task等json文件后,点击运行三角形,每次都会跳出main想要访问桌面上的文件。并且输出也是在调试控制台,非常逆天。 尝试 尝试1:尽管我尝试将ta…

注意力机制+时空特征融合!组合模型集成学习预测!LSTM-Attention-Adaboost多变量时序预测

注意力机制时空特征融合!组合模型集成学习预测!LSTM-Attention-Adaboost多变量时序预测 目录 注意力机制时空特征融合!组合模型集成学习预测!LSTM-Attention-Adaboost多变量时序预测效果一览基本介绍程序设计参考资料 效果一览 基…

29.在Vue 3中使用OpenLayers读取WKB数据并显示图形

在Web开发中,地理信息系统(GIS)应用越来越重要,尤其是在地图展示和空间数据分析的场景中。OpenLayers作为一个强大的开源JavaScript库,为开发者提供了丰富的地图展示和空间数据处理能力。在本篇文章中,我将…

qt 设置系统缩放为150%,导致的文字和界面的问题

1 当我们设置好布局后,在100%的设置里面都是正常的,但是当我们修改缩放为150%后,字体图标,界面大小就出现问题了,这就需要我们设置一些参数。 QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);QCoreAppl…

3个关于协程的题目

题目1: 题目1:启动2个协程,1个管道,每隔1秒交替输出1次1-10和a-j。 预期效果: 实现方式: package mainimport ("fmt""sync""time" )var ch make(chan struct{}, 1) var wg…

基于ESP32的桌面小屏幕实战[4]:硬件设计之PCB Layout

1. PCB Layout 步骤 生成PCB 确定PCB layout规范 绘制板框尺寸 布局 布局规范: 按电气性能合理分区,一般分为:数字电路区(即怕干扰、又产生干扰)、模拟电路区(怕干扰)、功率驱动区(干扰源)&a…

(六)科研技能-论文写作中的常用单词和句式

针对论文写作过程,会用到很多单词及短语。为了文章书写的规范,需要总结一些常用的单词、短语以及一些句式,因此进行了简单的总结以及梳理。后续会根据情况适时更新对应的内容。 一、常用单词、短语 关于:with respect to 更具体地…