773-process-312/Socks_Packet_Replay
GitHub: 773-process-312/Socks_Packet_Replay
一款用于威胁狩猎训练的PCAP数据包重放工具,通过保留原始时间戳解决模拟真实流量场景的问题。
Stars: 0 | Forks: 0
# Socks 数据包重放
**面向威胁狩猎任务分析师的训练工具,支持时间对齐的 PCAP 重放。**
由 Nico "Socks" Smith 构建 | sockiewoxie@gmail.com | v4.1
## 概述
Socks 数据包重放是一款专为 Windows 和 Linux 系统定制的数据包重放生成器。它能通过 TCP 将 `.pcap` 和 `.pcapng` 文件重放到分析师工作站,同时完全保留原始的捕获时间戳。分析师在工具中看到的将是正确的日期(例如 2021 年、2023 年,即流量被捕获时的日期),而非当前日期。
这一点至关重要,因为实时线路重放无法保留时间戳。接收网卡的操作系统内核总是在数据包到达时生成时间戳。Socks 数据包重放通过 TCP 流传输结构化的 PCAP 字节流,完全绕过了物理线路。分析师的工具直接从 PCAP 记录头部读取 `ts_sec` / `ts_usec`,因此原始日期得以保留。
我使用此工具来验证传感器,并广泛用于培训客户和学生进行威胁狩猎。您可以自由使用。我唯一的要求是您需注明原出处或提供指向此代码仓库的链接。
支持的工具包括 Wireshark、Zeek、Suricata、Security Onion 和 Malcolm。
## 传输模式
| 模式 | 传感器上的时间戳 | 使用场景 |
|--------------|------------------|------------------------------|
| REMOTE STREAM| 原始 PCAP 日期 | 威胁狩猎任务、时间关联练习 |
| LIVE WIRE | 当前日期 | 日期不重要的检测和分类演练 |
| NAMED PIPE | 原始 PCAP 日期 | 单机模式,仅限本地 Wireshark |
## 部署
实验环境需要两台处于同一网络中的机器:一台工程师机器(重放源)和一台或多台分析师机器(接收端)。
### 工程师机器(重放源)
以管理员身份运行 `SocksPCAPReplay.exe`。
1. 选择 **REMOTE STREAM** 作为传输模式。
2. 点击 **File** 或 **Folder** 浏览您的 PCAP 文件。
3. 按下 **Start Replay**。
4. 等待分析师连接。终端界面(TUI)会记录每一个传入的连接。
### 分析师机器(接收端)
打开命令提示符,运行接收器并指向工程师机器:
`SocksPCAPReceiver.exe --server <工程师机器IP>`
然后使用命名管道打开 Wireshark。推荐的方法是在 Wireshark 图形界面中直接添加管道,但您也可以从第二个命令提示符启动它:
`wireshark -k -i \\.\pipe\SocksPCAPReplay`
## NAS 重放流水线
流水线工具允许您扫描 NAS 共享,按实际捕获日期排序捕获文件,并在流式传输前预览清单。
扫描 NAS 共享并预览可用内容:
`SocksPCAPPipeline.exe --nas \\NAS\share\pcaps`
扫描并立即开始流式传输:
`SocksPCAPPipeline.exe --nas \\NAS\share\pcaps --stream`
按日期范围和关键词过滤:
`SocksPCAPPipeline.exe --nas Z:\pcaps --stream --from 2023-01-01 --to 2023-12-31 --filter ransomware`
为计划中的演练保存播放列表,稍后进行重放:
`SocksPCAPPipeline.exe --nas \\NAS\pcaps --export mission1.txt`
`SocksPCAPPipeline.exe --playlist mission1.txt --stream`
## 传感器集成
### Wireshark
`wireshark -k -i \\.\pipe\SocksPCAPReplay`
### tcpdump / tshark
`tcpdump -r /tmp/socks_pcap_pipe`
`tshark -i /tmp/socks_pcap_pipe`
### Security Onion
`python3 socks_pcap_receiver.py --server <工程师IP> --output /tmp/rx.pcap`
`sudo so-import-pcap /tmp/rx.pcap`
### Malcolm
`python3 socks_pcap_receiver.py --server <工程师IP> --output /tmp/rx.pcap`
然后通过 Malcolm 的 PCAP 接入界面上传 `/tmp/rx.pcap`。
### Zeek / Suricata
`python3 socks_pcap_receiver.py --server <工程师IP>`
`zeek -r /tmp/socks_pcap_pipe`
`suricata -r /tmp/socks_pcap_pipe -l /tmp/suricata-logs/`
## 许可
免费使用。请注明原出处或提供指向此代码仓库的链接。
标签:Elastic Stack, Linux工具, PCAP分析, PCAP重放, Windows工具, 传感器验证, 分析师工作站, 威胁猎杀, 安全培训, 时间戳保持, 检测训练, 流量模拟, 流量重放, 猎杀任务训练, 端口探测, 网络安全, 网络流量分析, 自定义工具, 逆向工具, 隐私保护