攻守道:流量分析的刀光剑影(上)
字数 1990 2025-08-15 21:32:26

Wireshark流量分析实战:攻防演练中的攻击溯源

一、Wireshark基础过滤命令

在进行流量分析前,需要掌握Wireshark的基本过滤命令:

  1. 字符串过滤

    • http contains "string":查看包含特定字符串的HTTP数据包
    • tcp contains "string":查看包含特定字符串的TCP数据包
  2. URL过滤

    • http.request.uri == "/path":精确匹配URL路径
    • http.request.uri contains "path":模糊匹配URL路径
  3. IP地址过滤

    • ip.addr == x.x.x.x:过滤特定IP的流量(双向)
    • ip.src == x.x.x.x:过滤源IP的流量
    • ip.dst == x.x.x.x:过滤目标IP的流量
  4. HTTP流追踪

    • 右键数据包 → Follow → HTTP Stream:查看完整的HTTP请求和响应

二、扫描器特征识别

常见扫描器在流量中的特征标识:

扫描器名称 特征字符串
WVS wvs、acunetix_wvs_security_test、acunetix、acunetix_wvs
Nessus nessus
APPscan APPscan
绿盟极光 nsfocus、Rsas
sqlmap sqlmap
dirsearch 无固定特征,通常有大量目录枚举请求

实战示例

http contains wvs  # 查找WVS扫描特征
http contains nessus and not ip.addr==x.x.x.x  # 排除特定IP的Nessus扫描

三、攻击溯源分析流程

1. 识别扫描行为

步骤

  1. 过滤HTTP流量:http
  2. 检查是否有扫描器特征
  3. 确定攻击者IP:http contains wvs → 查看源IP

注意事项

  • 攻击者可能修改扫描器特征,需结合其他证据判断
  • 关注短时间内大量请求同一IP的行为

2. 定位后台地址

方法

  1. 使用常见后台关键词过滤:http contains "admin" or http contains "login"
  2. 结合攻击者IP筛选:http contains login and ip.addr==x.x.x.x
  3. 验证后台有效性:
    • 检查返回状态码(200为存在)
    • 查看响应内容确认是否为真实后台

实战示例

http.request.uri contains "admin" and ip.src==192.168.94.59

3. 分析登录行为

爆破特征

  1. 大量POST请求到登录接口
  2. 使用不同用户名/密码组合
  3. 最终出现302跳转(登录成功)

分析方法

  1. 过滤登录成功请求:http.response.code==302
  2. 跟踪HTTP流查看登录凭证
  3. 对比正常用户与攻击者的行为差异

实战命令

http.request.method=="POST" and http.request.uri contains "login"

4. Webshell识别

PHP Webshell特征

  1. 非常规PHP文件访问
  2. 包含eval(system(exec(等危险函数
  3. POST请求中包含代码执行参数

分析方法

  1. 过滤PHP文件访问:http.request.uri contains ".php"
  2. 查找可疑参数:http contains "eval("
  3. 跟踪HTTP流查看完整交互

实战示例

http.request.uri contains ".php" and ip.src==attacker_ip

四、Cobalt Strike远控流量分析

1. HTTP隧道特征

4.0版本

  1. 被控端定期向服务端发送POST请求
  2. 请求路径通常为/submit.php
  3. Content-Type: application/octet-stream
  4. 数据加密,无明文

3.12版本

  1. 命令执行结果明文传输
  2. 其他特征与4.0类似

检测方法

http.request.method=="POST" and http.request.uri contains "submit.php"

2. HTTPS隧道特征

  1. 大量TLS握手包
  2. 数据完全加密
  3. 难以直接从流量中识别
  4. 可通过行为模式(定时心跳)辅助判断

3. 检测建议

  1. 关注异常的子域名请求
  2. 监控非常规的HTTP POST请求
  3. 分析通信的时间规律性
  4. 结合端点安全数据综合判断

五、完整攻击链还原

通过流量分析可还原的典型攻击链:

  1. 信息收集阶段

    • 使用扫描器(WVS等)识别Web应用
    • 探测后台地址(/admin/login.php)
  2. 入侵阶段

    • 爆破后台密码(admin/xxx)
    • 成功登录获取后台权限
  3. 持久化阶段

    • 通过后台功能上传Webshell(a.php)
    • 建立Cobalt Strike等远控通道
  4. 横向移动

    • 内网扫描探测
    • 凭证窃取与权限提升

六、防御建议

  1. 流量层防御

    • 部署IDS/IPS检测扫描行为
    • 监控异常HTTP请求模式
    • 限制后台管理页面的访问源
  2. 应用层防御

    • 强化登录验证机制(双因素认证)
    • 禁止上传可执行文件
    • 定期更新Web应用
  3. 监测响应

    • 记录并分析网络流量日志
    • 建立Webshell检测机制
    • 制定应急响应预案

通过系统的流量分析,防守方可以精准识别攻击行为,及时阻断攻击链,有效提升整体安全防护能力。

Wireshark流量分析实战:攻防演练中的攻击溯源 一、Wireshark基础过滤命令 在进行流量分析前,需要掌握Wireshark的基本过滤命令: 字符串过滤 : http contains "string" :查看包含特定字符串的HTTP数据包 tcp contains "string" :查看包含特定字符串的TCP数据包 URL过滤 : http.request.uri == "/path" :精确匹配URL路径 http.request.uri contains "path" :模糊匹配URL路径 IP地址过滤 : ip.addr == x.x.x.x :过滤特定IP的流量(双向) ip.src == x.x.x.x :过滤源IP的流量 ip.dst == x.x.x.x :过滤目标IP的流量 HTTP流追踪 : 右键数据包 → Follow → HTTP Stream:查看完整的HTTP请求和响应 二、扫描器特征识别 常见扫描器在流量中的特征标识: | 扫描器名称 | 特征字符串 | |------------|------------| | WVS | wvs、acunetix_ wvs_ security_ test、acunetix、acunetix_ wvs | | Nessus | nessus | | APPscan | APPscan | | 绿盟极光 | nsfocus、Rsas | | sqlmap | sqlmap | | dirsearch | 无固定特征,通常有大量目录枚举请求 | 实战示例 : 三、攻击溯源分析流程 1. 识别扫描行为 步骤 : 过滤HTTP流量: http 检查是否有扫描器特征 确定攻击者IP: http contains wvs → 查看源IP 注意事项 : 攻击者可能修改扫描器特征,需结合其他证据判断 关注短时间内大量请求同一IP的行为 2. 定位后台地址 方法 : 使用常见后台关键词过滤: http contains "admin" or http contains "login" 结合攻击者IP筛选: http contains login and ip.addr==x.x.x.x 验证后台有效性: 检查返回状态码(200为存在) 查看响应内容确认是否为真实后台 实战示例 : 3. 分析登录行为 爆破特征 : 大量POST请求到登录接口 使用不同用户名/密码组合 最终出现302跳转(登录成功) 分析方法 : 过滤登录成功请求: http.response.code==302 跟踪HTTP流查看登录凭证 对比正常用户与攻击者的行为差异 实战命令 : 4. Webshell识别 PHP Webshell特征 : 非常规PHP文件访问 包含 eval( 、 system( 、 exec( 等危险函数 POST请求中包含代码执行参数 分析方法 : 过滤PHP文件访问: http.request.uri contains ".php" 查找可疑参数: http contains "eval(" 跟踪HTTP流查看完整交互 实战示例 : 四、Cobalt Strike远控流量分析 1. HTTP隧道特征 4.0版本 : 被控端定期向服务端发送POST请求 请求路径通常为 /submit.php Content-Type: application/octet-stream 数据加密,无明文 3.12版本 : 命令执行结果明文传输 其他特征与4.0类似 检测方法 : 2. HTTPS隧道特征 大量TLS握手包 数据完全加密 难以直接从流量中识别 可通过行为模式(定时心跳)辅助判断 3. 检测建议 关注异常的子域名请求 监控非常规的HTTP POST请求 分析通信的时间规律性 结合端点安全数据综合判断 五、完整攻击链还原 通过流量分析可还原的典型攻击链: 信息收集阶段 : 使用扫描器(WVS等)识别Web应用 探测后台地址( /admin/login.php ) 入侵阶段 : 爆破后台密码(admin/xxx) 成功登录获取后台权限 持久化阶段 : 通过后台功能上传Webshell(a.php) 建立Cobalt Strike等远控通道 横向移动 : 内网扫描探测 凭证窃取与权限提升 六、防御建议 流量层防御 : 部署IDS/IPS检测扫描行为 监控异常HTTP请求模式 限制后台管理页面的访问源 应用层防御 : 强化登录验证机制(双因素认证) 禁止上传可执行文件 定期更新Web应用 监测响应 : 记录并分析网络流量日志 建立Webshell检测机制 制定应急响应预案 通过系统的流量分析,防守方可以精准识别攻击行为,及时阻断攻击链,有效提升整体安全防护能力。