我有一个大型(8 8GB)数据包捕获(.pcap),它生成了许多Snort警报。
我怀疑一些数据可能在编码时被泄露了。有没有一种简单的方法可以确定是否有Base64编码的内容出现,而不需要仔细检查Wireshark以找到问题,比如使用终端?
我担心的是,参与者可能会在系统中进行横向移动,并将文件提取到Snort警报无法识别的第三方系统中。
我尝试将大的.pcap解析成200MB的文件,以便更仔细地检查(我的虚拟机有内存限制)。
发布于 2019-04-17 03:12:03
这激发了我为pdml2flow编写pdml2flow-base64strings插件的灵感。使用pdml2flow的力量,该插件在wireshark/tshark已知的所有字段中搜索有效的base64编码数据。如果它找到了base64字符串,它就会为您解码并打印原始数据。如果要将搜索限制为仅搜索特定大小的数据,可以使用--minlength开关。它还允许您将搜索范围缩小到ascii (--ascii)或utf-8 (--utf8)。
例如,如果您想提取在wireshark/tshark已知的任何字段中编码的所有utf-8字符串,您可以在插件中使用pdml2flow:
tshark -r dump.cap -Tpdml | pdml2flow +base64strings --utf8或者,如果您不需要流聚合,请使用pdml2frame
tshark -r dump.cap -Tpdml | pdml2frame +base64strings --utf8我希望这能帮到你。欢迎任何意见,谢谢。
披露:我是pdml2flow和pdml2flow-base64strings的作者
发布于 2019-04-13 01:02:35
这不是一项简单的任务,但您可以尝试在命令行中使用tshark。
生成的base64负载:
echo "base64 encoded payload" | base64
YmFzZTY0IGVuY29kZWQgcGF5bG9hZAo=设置监听套接字:
netcat -l -p 8090发布到它
curl -X POST -d 'YmFzZTY0IGVuY29kZWQgcGF5bG9hZAo=' http://localhost:8090
^C使用wireshark捕获后在命令行上解析
tshark -r ~/tmp/base64.pcapng -T fields -e http.file_data | grep -E '^([A-Za-z0-9+/]{4})*([A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{2}==)?$'结果(加上不匹配的空行,为了简单起见没有显示):
YmFzZTY0IGVuY29kZWQgcGF5bG9hZAo=https://stackoverflow.com/questions/55653303
复制相似问题