PacketSifter
PacketSifter 是什么?
PacketSifter 是一个用于批量处理 PCAP 数据以发现潜在 IOC 的工具。
只需使用所需的集成(VirusTotal、AbuseIPDB)初始化 PacketSifter,然后将 pcap 文件和所需的开关传递给 PacketSifter,它就会筛选数据并生成多个输出文件。
注意 在使用对应开关前,请先运行 AbuseIPDBInitial.sh 和 VTInitial.sh,否则集成将无法工作
2021年5月27日
PacketSifter 已进行改进,以提供更流畅的用户交互体验。只需下载新的 packetsifter.sh,运行 ./packetsifter -h 并了解如何正确使用新版 PacketSifter!
作者
Ross Burke (Twitter @packetsifter)
工作原理
只需将您的 pcap 文件以及所需标志传递给 PacketSifter,让它为您完成工作!
示例:
root@ubuntu:~# ./packetsifter -i /tmp/testing.pcap -a -r -v
命令行选项
选项:
- -a 启用对 DNS A 记录中 IP 地址的 AbuseIPDB 查询
- -h 打印帮助信息
- -i 输入文件 [必需]
- -r 解析 pcap 中的主机名 [可能导致对攻击者基础设施发起 DNS 查询]
- -v 启用对导出的 SMB/HTTP 对象的 VirusTotal 查询
需求
tshark - https://tshark.dev/setup/install/
输出
目前,PacketSifter 生成以下 pcap 文件:
- http.pcap - 所有包含端口 80、8080 或 8000 的会话
- smb.pcap - 由 tshark 解析器归类为 NBSS、SMB 或 SMB2 的所有会话
- dns.pcap - 由 tshark 解析器归类为 DNS 的所有会话
- ftp.pcap - 由 tshark 解析器归类为 FTP 的所有会话
目前,PacketSifter 生成以下文本文件:
- IOstatistics.txt - 协议层次结构以及每隔 30 秒的输入/输出统计(有助于发现潜在的 Beaconing 行为)
- IPstatistics.txt - 端点间的总体 IP 统计以及单个 IP 会话统计
- TCPstatistics - 端点间的总体 TCP 统计以及分解后的单个 TCP 会话统计。<<警告>> 此文件可能包含大量信息。建议使用 less 或 grep 搜索特定会话。
- http_info.txt - HTTP 会话的统计数据
- hostnamesResolved.txt(可选)- 在 pcap 中观察到的主机名解析结果。<<警告>> 可能导致对攻击者基础设施发起 DNS 查询。请谨慎操作!!
- SMBstatistics.txt - 使用 smb 或 smb2 执行的命令统计
- dnsARecords.txt - DNS A 查询/响应
- dnsTXTRecords.txt - DNS TXT 查询/响应
- errors.txt - 垃圾文件
VirusTotal 集成输出文本文件(均为可选):
- httpHashToObject.txt - 包含 MD5 哈希与对象对应关系的参考文本文件
- httpVTResults.txt - 通过 VirusTotal API 对 HTTP 对象进行 MD5 哈希查询的结果文本文件
- smbHashToObject.txt - 包含 MD5 哈希与对象对应关系的参考文本文件
- smbVTResults.txt - 通过 VirusTotal API 对 SMB 对象进行 MD5 哈希查询的结果文本文件
AbuseIPDB 集成输出文本文件(可选):
- IPLookupResults.txt - 包含 IP 地理位置及 IP 声誉结果的文件
目前,PacketSifter 生成以下 tar.gz 文件:
- httpObjects.tar.gz - 在 pcap 中观察到的 HTTP 对象。<<警告>> HTTP 对象可能非常多,根据 pcap 不同,您可能提取到恶意 HTTP 对象。请小心使用!!
- smbObjects.tar.gz - 在 pcap 中观察到的 SMB 对象。SMB 对象可能非常多,根据 pcap 不同,您可能提取到恶意 SMB 对象。请小心使用!!
VirusTotal 集成
PacketSifter 现在可以通过 VirusTotal API 对通过 SMB/HTTP 导出的对象进行哈希查询。
配置 PacketSifter 与 VirusTotal 集成的步骤:
-
确保已安装 jq(https://stedolan.github.io/jq/download/)。
root@ubuntu:~# apt-get install jq
-
确保已安装 curl。
root@ubuntu:~# apt-get install curl
3. 下载新版 packetsifter.sh 和新脚本 VTInitial.sh。
4. 在与 packetsifter.sh 相同的文件夹中运行 VTInitial.sh,并在提示时输入您的 64 位字母数字 VirusTotal API 密钥。
有关如何获取免费 VirusTotal API 密钥的说明:https://developers.virustotal.com/reference
VTInitial.sh 的成功输出如下所示:
5. 使用 -v 标志运行 PacketSifter,以启用对导出的 HTTP 和 SMB 对象的 VirusTotal 查询。
VirusTotal 集成成功后的输出以及生成的 httpVTResults.txt / smbVTResults.txt 如下所示:
AbuseIPDB 集成
PacketSifter 可以对 DNS A 记录中返回的 IP 地址进行 IP 地理位置查询和 IP 声誉查询。
配置 PacketSifter 与 AbuseIPDB 集成的步骤:
-
确保已安装 jq(https://stedolan.github.io/jq/download/)。
root@ubuntu:~# apt-get install jq
-
确保已安装 curl。
root@ubuntu:~# apt-get install curl
3. 下载新版 packetsifter.sh 和新脚本 AbuseIPDBInitial.sh。
4. 在与 packetsifter.sh 相同的文件夹中运行 AbuseIPDBInitial.sh,并在提示时输入您的 80 位字母数字 AbuseIPDB API 密钥。
有关如何获取免费 AbuseIPDB API 密钥的说明:https://www.abuseipdb.com/register
**AbuseIPDB 免费 API 密钥每天限制为 1000 次查询**
AbuseIPDBInitial.sh 的成功输出如下所示:
5. 使用 -a 标志运行 PacketSifter,以启用通过 AbuseIPDB 对 DNS A 记录的查询。
AbuseIPDB 集成成功后的输出以及生成的 IPLookupResults.txt 如下所示:
**置信度分数采用 0-100 的百分比置信度等级**
建议?
如果您对希望筛选的内容或工具的其他有用功能有建议,欢迎联系我们。