Networking 是否有一种方法可以确定与大数据包捕获之间的所有base64编码流量?

Networking 是否有一种方法可以确定与大数据包捕获之间的所有base64编码流量?,networking,wireshark,packet,pcap,packet-capture,Networking,Wireshark,Packet,Pcap,Packet Capture,我有一个大的(8GB)数据包捕获(.pcap),它生成了许多Snort警报 我怀疑一些数据可能在编码时被过滤掉了。是否有一种简单的方法可以确定是否有任何东西以Base64编码,而不必通过Wireshark查找问题,也许可以使用终端 我担心的是,参与者可能会在系统内进行横向移动,并将文件提取到Snort警报无法识别的第三方系统 我已尝试将大的.pcap解析为200MB文件,以便进行更仔细的检查(我的虚拟机内存有限)。这不是一项容易的任务,但您可以尝试在命令行上使用tshark。 生成的base64

我有一个大的(8GB)数据包捕获(.pcap),它生成了许多Snort警报

我怀疑一些数据可能在编码时被过滤掉了。是否有一种简单的方法可以确定是否有任何东西以Base64编码,而不必通过Wireshark查找问题,也许可以使用终端

我担心的是,参与者可能会在系统内进行横向移动,并将文件提取到Snort警报无法识别的第三方系统


我已尝试将大的.pcap解析为200MB文件,以便进行更仔细的检查(我的虚拟机内存有限)。

这不是一项容易的任务,但您可以尝试在命令行上使用
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}==)?$'
结果(加上非匹配的空行,为简单起见,不显示):


这不是一项简单的任务,但您可以尝试在命令行上使用
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}==)?$'
结果(加上非匹配的空行,为简单起见,不显示):

这启发了我写一个插件。使用
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

的作者,这激发了我写一个插件的灵感。使用
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