com um clique
pcap-analyst
// 专门用于网络流量深度分析、恶意行为检测和Payload取证的专业技能模块。通过时序分析、编码还原和行为特征提取,识别隐藏在加密和混淆流量中的攻击行为模式(心跳检测、Beacon识别、C2通信分析),并生成Snort/YARA检测规则。
// 专门用于网络流量深度分析、恶意行为检测和Payload取证的专业技能模块。通过时序分析、编码还原和行为特征提取,识别隐藏在加密和混淆流量中的攻击行为模式(心跳检测、Beacon识别、C2通信分析),并生成Snort/YARA检测规则。
Word文档(.docx)的创建、编辑和分析。支持:基于模板生成文档、修改现有文档、格式保留等
Guide for creating effective skills. This skill should be used when users want to create a new skill (or update an existing skill) that extends Claude's capabilities with specialized knowledge, workflows, or tool integrations.
| name | pcap-analyst |
| description | 专门用于网络流量深度分析、恶意行为检测和Payload取证的专业技能模块。通过时序分析、编码还原和行为特征提取,识别隐藏在加密和混淆流量中的攻击行为模式(心跳检测、Beacon识别、C2通信分析),并生成Snort/YARA检测规则。 |
PCAP流量分析工具包是一个专门用于网络流量深度分析、恶意行为检测和Payload取证的专业技能模块。该工具包帮助安全分析师识别隐藏在加密和混淆流量中的攻击行为模式,通过时序分析、编码还原和行为特征提取,发现传统特征检测无法识别的威胁。
核心理念:攻击者可以加密流量、混淆指令,但无法隐藏行为模式(Behavior Patterns)。
特征原理: 僵尸网络或 C2 客户端为了保持存活,会定期发送数据包。这种**“机械式的规律性”**是识别的关键。
1. 怎么分析思路 (Analysis Logic)
sleep(60) 会导致数据包间隔(Delta Time)呈现某种正态分布(例如都在 60s 左右波动)。2. Tshark 筛选与验证技巧 (Tshark Tactics)
第一步:计算数据包间隔 (Delta Time)
你需要提取同一个源 IP 发出的数据包与上一个包的时间差。
# 重点关注 frame.time_delta_displayed
tshark -r target.pcap -Y "ip.src == 192.168.1.100 && tcp.dstport == 443" -T fields -e frame.time_epoch -e frame.len -e frame.time_delta_displayed
Agent 判定逻辑:
frame.time_delta_displayed 的数值高度集中(例如连续出现 5.0s, 5.1s, 4.9s),且 frame.len 几乎不变,判定为机器心跳。第二步:发散性筛选 (Jitter 检测)
高级攻击者会加入"抖动"(Jitter)来规避检测(例如 sleep 60s ± 10s)。
策略:即使时间有抖动,长连接的会话指纹通常不变。筛选 TCP 会话时长极长的流。
# 筛选持续时间超过 1小时的 TCP 会话
tshark -r target.pcap -q -z conv,tcp -Y "tcp.time_relative > 3600"
特征原理: 恶意软件运行后的第一件事是告诉服务器“我感染成功了”,并附带受害者信息(用户名、OS版本、杀软列表)。
1. 怎么分析思路
2. Tshark 筛选与载荷提取
策略一:寻找"异常长"的第一个请求
上线包通常比心跳包大,因为它携带了系统信息。
# 筛选 HTTP POST 请求,且 Content-Length 较大,提取 Body 前 100 字节
tshark -r target.pcap -Y "http.request.method == POST && http.content_length > 200" -T fields -e ip.dst -e text
策略二:十六进制解码与模式匹配
有些上线包是自定义二进制协议。
# 提取 Payload 的 Hex
tshark -r target.pcap -Y "udp.dstport == 53" -T fields -e data
Agent 发散操作:
0x11223344),这是协议头特征原理: 这是 C2 服务器发给受害者的命令(Downstream Traffic)。通常混在 HTTP Response 或 TCP PUSH 标志位的数据中。
1. 怎么分析思路
cmd, whoami, powershell, wget, curlTVqQAAMAAAAEAAAA(Base64 编码的 PE 文件头 MZ)出现在流量中,意味着在下发恶意文件2. Tshark 深度提取指令
技巧一:追踪流并提取响应体
不要只看请求,指令在响应里!
# 查找服务器响应包中包含特定二进制头或脚本特征的流
tshark -r target.pcap -Y "ip.src == <C2_IP> && (data contains 'whoami' || data contains 'exec')" -T fields -e data
技巧二:基于 Payload 熵值 (Entropy) 的筛选
加密指令或 Shellcode 的信息熵很高(看起来非常随机),而普通文本熵值较低。
虽然 Tshark 原生不算熵,但你可以让 Agent 提取 data 字段后,自己计算熵值。
Agent 逻辑:
-e data 提取 Hex在处理每一个 PCAP 时,问自己:
"这是谁发起的?"
"为什么是这个频率?"
"这串乱码能解开吗?"
如果已知其他恶意特征,分析流程同下文,不变!
现状: 你已经锁定了一个恶意 IP(例如 C2 服务器 IP 10.10.10.10)。
痛点: 攻击者随时可能更换 IP。单纯封锁 IP 是短视的。
目标: 从该 IP 的通信中提取**“流量指纹”**(Traffic Fingerprint),编写出无论 IP 如何变化都能生效的 Snort/Suricata 规则。
首先,必须剔除背景噪声,只看受害者与该恶意 IP 的所有交互。
# 提取双向流量,按时间排序
tshark -r input.pcap -Y "ip.addr == 10.10.10.10" -w malicious_only.pcap
这是最核心的一步。你要找的不是“变量”(如随机生成的 Session ID),而是“常量”(硬编码在恶意软件里的特征)。
路径 A: 如果是 HTTP 流量 攻击者通常会重用 Web 框架或特定的 URI 结构。
tshark -r malicious_only.pcap -Y "http.request" -T fields -e http.user_agent -e http.request.uri -e http.host
/api/v1/update.php?或者 URI 是否总是由 16 位随机字符组成但后缀固定?Reffer: google.com (Referer 拼错了)。Host: 10.10.10.10) 而不是域名,这在现代网络中非常可疑。路径 B: 如果是 TCP/UDP 私有协议 (Raw Payloads) 恶意软件常用自定义的二进制协议,头部通常有 Magic Bytes。
# 提取 TCP 数据段的前 8 个字节 (通常是协议头)
tshark -r malicious_only.pcap -Y "tcp.len > 0" -T fields -e data | cut -c 1-16
48 45 4c 4f (HELO) 或 00 00 00 01 开头,这就是协议头指纹。将 Tshark 看到的特征翻译成检测规则。
场景演示 1:HTTP 特征提取
/admin/login.phpMozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) (极其古老的 UA,常见于老旧扫描器或特定木马)# 重点:不要写死 IP,要匹配特征
alert http $HOME_NET any -> $EXTERNAL_NET any (msg:"Malware Known User-Agent Pattern"; flow:established,to_server; content:"/admin/login.php"; http_uri; content:"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)"; http_user_agent; classtype:trojan-activity; sid:300001;)
场景演示 2:TCP 二进制特征提取
10.10.10.10 的 TCP 流量,Payload 前 4 字节总是 deadbeef (Hex)。# 提取 Hex 特征,offset 0 depth 4 表示只匹配开头4字节,提高性能
alert tcp $HOME_NET any -> $EXTERNAL_NET any (msg:"Malware Binary Protocol - Magic Bytes Detected"; flow:established,to_server; content:"|de ad be ef|"; offset:0; depth:4; classtype:command-and-control; sid:300002;)
在提交规则前,Agent 必须进行自我验证。
# 验证 Hex 特征是否过于宽泛
tshark -r input.pcap -Y "data contains de:ad:be:ef"
00 00 会匹配到无数正常流量,禁止作为单一特征)。GET / HTTP/1.1 是无效特征)。port 443 条件更精准)。当用户给你一个恶意 IP 时,按照以下步骤输出:
[IP] 的相关流量提取完毕,共发现 [数字] 个数据包。"[协议]。"[Hex/String]。"[秒]。"[规则代码]