当前位置: 首页 > news >正文

新手友好!用Wireshark分析PHPStudy环境下的Webshell攻击:从可疑POST请求到CobaltStrike密钥提取

从零开始:用Wireshark追踪PHPStudy环境中的Webshell攻击链

最近在本地搭建PHPStudy环境测试时,发现服务器响应异常缓慢,查看日志发现大量可疑请求。作为刚接触网络安全的新手,我决定用Wireshark这个"网络显微镜"一探究竟。本文将完整记录如何从一个可疑的POST请求开始,逐步追踪到CobaltStrike密钥的全过程。

1. 环境准备与初始流量捕获

在开始分析之前,我们需要准备好以下工具和环境:

  • PHPStudy集成环境(建议使用最新版本)
  • Wireshark 3.6.0+(支持HTTP2解析的版本)
  • Python Requests库(用于模拟攻击测试)
  • 7-Zip(处理加密压缩包)

关键配置步骤

  1. 在PHPStudy中创建一个测试站点(例如http://test.local
  2. 确保Wireshark能捕获本地回环流量(需要安装Npcap驱动)
  3. 设置Wireshark只监控PHPStudy相关的网络接口
# 快速检查本地网络接口 ipconfig /all

注意:在Windows上分析本地流量时,选择"Npcap Loopback Adapter"接口

首次捕获流量时,建议先进行基准流量采集——即在没有任何操作时记录1-2分钟的正常流量。这能帮助我们后续快速识别异常流量。

2. 识别可疑HTTP POST请求

在启动Wireshark约10分钟后,我注意到一个异常的流量模式:多个来自同一IP的POST请求,间隔时间异常规律(每37秒一次)。通过以下过滤条件快速定位这些请求:

http.request.method == POST && http.user_agent contains "python"

可疑请求特征分析

特征项正常值观察值异常点
User-Agent浏览器标识Python/3.9非浏览器客户端
Content-Typeapplication/x-www-form-urlencoded缺失不符合常规表单提交
请求长度通常<1KB4.8KB过大且固定
响应时间毫秒级3-5秒明显处理延迟

在追踪该HTTP流时(右键→Follow→TCP Stream),发现请求体中包含特殊字符串:

AAA*VGhpcyBpcyBhIHRlc3Q=*AAA

这种以AAA*开头、*AAA结尾的编码格式引起了我的注意。通过查询公开漏洞数据库,发现这与Laravel框架的CVE-2021-3129漏洞利用特征高度吻合。

3. 解码漏洞利用流量

针对发现的异常编码,我们需要进行多层解码:

  1. 初步清理:去除AAA*前缀和*AAA后缀
  2. 字符替换:将所有=替换为00
  3. Base64解码:对处理后的字符串进行解码
import base64 def decode_payload(payload): # 示例解码函数 cleaned = payload.replace("AAA*", "").replace("*AAA", "") cleaned = cleaned.replace("=", "00") return base64.b64decode(cleaned).decode('utf-8', errors='ignore') sample = "AAA*VGhpcyBpcyBhIHRlc3Q=*AAA" print(decode_payload(sample)) # 输出: This is a test

通过分析多个类似请求,发现攻击者正在尝试写入Webshell。关键写入路径为:

POST /vendor/phpunit/phpunit/src/Util/PHP/eval-stdin.php

Webshell写入特征

  • 利用Laravel的phpunit组件漏洞
  • 文件写入路径通常包含/tmp//vendor/
  • 响应包会返回写入文件的MD5值

4. 定位并分析Webshell活动

成功写入Webshell后,攻击者开始执行更多操作。通过以下过滤条件捕获相关流量:

http contains "14433" || http contains "eval("

发现一个关键的大马(功能更强大的Webshell)通信过程:

  1. 请求中包含密码参数pass=14433
  2. 响应使用特定格式加密:
    • 前两位为随机字符
    • 剩余部分为Base64编码

解密示例

def decrypt_webshell(resp): # 示例:去除前两位后Base64解码 return base64.b64decode(resp[2:]).decode('utf-8')

在分析这些通信时,注意到攻击者执行了以下可疑操作:

cd /d "D:\phpstudy_pro\WWW\secret"&"C:\Program Files\7-Zip\7z.exe" x secret.zip -pP4Uk6qkh6Gvqwg3y

这提示我们系统中可能存在一个名为secret.zip的加密压缩包。

5. 提取并解密CobaltStrike密钥文件

回到Wireshark中,通过搜索PK文件头(压缩文件特征)定位到可疑数据包:

frame contains "PK\x03\x04"

导出和修复压缩文件的步骤

  1. 右键包含PK头的数据包→Follow→TCP Stream
  2. 选择"Raw"格式保存为.bin文件
  3. 使用WinHex或HxD编辑器:
    • 删除PK头前后的Webshell代码
    • 确保文件以PK头开始并以\x50\x4B\x05\x06结束

使用之前发现的密码P4Uk6qkh6Gvqwg3y解压后,得到.cobaltstrike.beacon_keys文件——这是CobaltStrike后门的密钥文件。

密钥文件结构解析

00000000 00 00 00 01 00 00 00 20 [... ...] 00000008 9A 02 3B 92 1D 8B 6D E6 [..;...m.] 00000010 A7 5D 5E 5B 3D 4D 9D 9A [.]^[=M..]

6. 解密CobaltStrike通信流量

获得Beacon密钥后,我们可以解密攻击者的C2(命令与控制)通信。关键识别特征:

  • 心跳包路径:/en_US/all.js
  • 数据传输路径:/submit.php?id=xxxxxx
  • Cookie中携带加密元数据

解密流程

  1. 使用私钥解密元数据获取AES密钥
  2. 用AES密钥解密实际通信内容
  3. 解析解密后的数据(通常是Base64编码)

实际操作中,可以使用第三方工具如cobaltstrike_parser自动化这个过程:

python cs_parse.py -k beacon_keys -f traffic.pcap

在分析解密后的流量中,发现了攻击者执行的完整操作链:

  1. 系统信息收集(用户名、网络配置、进程列表)
  2. 横向移动尝试(扫描内网其他主机)
  3. 持久化后门安装(计划任务、服务创建)

整个分析过程中,最关键的突破点是早期那个Python Requests的POST请求。如果没有注意到这个异常点,后续的Webshell和CobaltStrike活动很容易被当作正常流量忽略。这也提醒我们,在日常监控中要特别关注非浏览器客户端的HTTP请求。

http://www.jsqmd.com/news/967876/

相关文章:

  • 终极指南:用Legacy-iOS-Kit让你的旧款iPhone/iPad重获新生
  • 2026最新河南黄金回收白银回收铂金回收攻略,实地甄选五家优质实体店 - 诚金汇钻回收公司
  • Sunshine游戏串流:免费搭建个人云游戏平台的终极指南
  • MATLAB无人机编队动态重构:F形变Z形的匈牙利匹配实现
  • 安阳市2026年黄金回收白银回收铂金回收权威门店 TOP5+正规可靠机构电话与地址汇总 - 开始就结束
  • 嘉兴市2026年黄金回收白银回收铂金回收权威门店 TOP5+正规可靠机构电话与地址汇总 - 开始就结束
  • EEG运动想象分类轻量模型ATCNet代码实现(含训练脚本、预处理与可视化结果)
  • 2026广州钻石回收避坑指南!六大平台测评,添价收高价透明稳居第一 - 薛定谔的梨花猫
  • 2026北海黄金回收白银回收铂金回收怎么变现?实地探访 5 家本地老牌回收店铺 - 中安检金银铂钻回收
  • 别再只用默认配置了!CentOS 7上MinIO单机部署的5个企业级安全与优化配置
  • 兰州市2026年黄金回收白银回收铂金回收权威门店 TOP5+正规可靠机构电话与地址汇总 - 开始就结束
  • BetterNCM安装器终极指南:3分钟解锁网易云音乐无限可能
  • 领域市建设日志 - L
  • 杭州百达翡丽+法穆兰手表专业回收,26年精选回收店铺排行榜推荐 - 莘州文化
  • 宝坻区2026年黄金回收白银回收铂金回收权威门店 TOP5+正规可靠机构电话与地址汇总 - 开始就结束
  • 开关电源纹波噪声的实战抑制:从测量到布局的完整指南
  • 图像矢量化终极指南:免费将PNG/JPG转换为清晰SVG的完整解决方案
  • Steam成就管理器终极指南:免费解锁你的游戏成就之路
  • 突破性多平台直播分发:obs-multi-rtmp插件重新定义直播工作流
  • 蚌埠黄金回收白银回收铂金回收哪家靠谱?2026 实地测评 5 家高人气实体门店 - 信誉隆金银铂奢回收
  • 2026年百达翡丽中国区维修网络焕新|门店新址完成升级,官方服务热线同步更新 - 百达翡丽中国服务中心
  • 2026阿坝黄金回收白银回收铂金回收怎么变现?实地探访 5 家本地老牌回收店铺 - 中安检金银铂钻回收
  • 2026最新黄石黄金回收白银回收铂金回收攻略,实地甄选五家优质实体店 - 诚金汇钻回收公司
  • 来宾百达翡丽+法穆兰手表专业回收,26年精选回收店铺排行榜推荐 - 莘州文化
  • 宝鸡市2026年黄金回收白银回收铂金回收权威门店 TOP5+正规可靠机构电话与地址汇总 - 开始就结束
  • 如何让Windows任务栏变透明?TranslucentTB完整指南带你轻松实现
  • 凉山彝族自治州2026年黄金回收白银回收铂金回收权威门店 TOP5+正规可靠机构电话与地址汇总 - 开始就结束
  • 用CLIP+ES快速搭建图文语义搜索服务(含Docker一键部署和增量索引脚本)
  • 2026潮州黄金回收白银回收铂金回收怎么变现?实地探访 5 家本地老牌回收店铺 - 中安检金银铂钻回收
  • 3步突破VMware限制:在Windows和Linux上完美运行macOS虚拟机