freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

Brim:网络数据包分析神器
2020-07-03 10:40:37
所属地 广东省

相信各位做流量分析和应急响应的朋友经常需要使用WireShark进行网络流量包分析,比如NTA的全流量包,但不得不说,一旦数据包过大,日志条目过多,加载就变得异常缓慢,分析起来也是特别麻烦,WireShark也会显得力不从心。而最近,我了解到Brim神器,在试用过之后,觉得真是懒人的福音,所以特来介绍给大家。

Brim的官方网站:https://www.brimsecurity.com/

Brim被打包成桌面应用,和Slack一样用Electron构建,免费,开源。安装后,你可以用Brim打开一个PCAP包,它将把PCAP包转换成ZNG格式的Zeek日志。通过Brim可以搜索日志,也可以协同WireShark来深入分析来自特定流量的数据包。目前Brim仅支持桌面端搜索,将来也会支持云端,集群搜索功能。

大家一般都是使用WireShark来解析特定的流量或协议。但是,WireShark如上所述,有个不得不面对的问题,如果加载的是一个巨大的PCAP包,并需要针对这个PCAP包进行分析,那就会非常痛苦了。而有了Brim,你可以快速地加载巨大的PCAP包,并可以立即开始搜索,且在几秒钟内得到响应,当你发现需要刻意分析的流量条目时,还可以直接解析到WireShark来进行分析。一个多GB的PCAP包一般会提炼出几百MB的ZNG日志,用Brim搜索起来很轻松。

安装是非常简单的,我们从官网下载https://www.brimsecurity.com/download/后双击允许即可,并没有复杂的安装界面和配置界面,打开直接可以使用。

Brim载入Pcap包之后,会以KV的结构显示所有数据内容,每一个BLOCK块均为一个键名=键值,比如截图中所示,”CbLZFm13mbz1BVuu88”是键名为”uid”的键值,使用鼠标悬停到键名的位置即可看到键名。

每一个值均对应了一个键名,当想要搜索的时候,可以简单的直接输入键名或者通过K=V的方式输入匹配的键值对,那么搜索的结果更加准确,快速。

Brim的界面没有太多可以设置的需要,也非常简单,不需要花时间去对菜单进行一一解释了。我们以实战者的角度来使用Brim进行数据分析.

那么我们先来看看如何在Wireshark里面查找DHCP流量中的主机信息

任何在网络中产生流量的主机都应该有三个标识符:MAC地址、IP地址和主机名。

在大多数情况下,可疑活动的警报是基于IP地址的。如果你捕获到了网络流量的完整数据包,那么在内部 IP 地址上检索的 pcap 包应该会显示相关的 MAC 地址和主机名。

我们如何使用Wireshark找到这样的主机信息呢?我们对两种类型的活动进行过滤,DHCP或NBNS。DHCP流量可以帮助识别连接到网络中的几乎所有类型的计算机的主机。NBNS流量则主要由运行Microsoft Windows的计算机或运行MacOS的苹果主机产生。我们先试用DHCP过滤流量包数据。

选择其中一个在信息栏中显示DHCP请求的帧。转到帧详细信息部分,展开DHCP协议(请求)的行,如图所示。展开Client Identifier和Host Name的行。客户端标识符详细信息应显示分配给172.16.1[.]207的MAC地址,主机名详细信息应显示主机名。

那么如果是Brim进行搜索的话,又是一种什么情况呢?同样一个包拉进Brim后,在搜索框中输入dhcp

我们可以看到结果已经直接被显示出来了。

又比如我要查询User-Agent的信息,在Wireshark中可能需要先通过过滤器查找http.request,然后使用Follow -> TCP Stream去展示我们需要了解到的User-Agent信息。

那么我们在Brim中,右键点击数据流,然后选择Filter = Value 或者直接手打_path=”http”,Brim会立即将我们需要的HTTP数据流呈现出来,如下图所示

直接就可以看到所对应的User-Agent信息

同样的,当我们想要知道流量包中的用户名的时候,在Wireshark中,我们需要

这样,我们就可以获得用户名

或者在过滤器中使用“kerberos.CNameString and !(kerberos.CNameString contains $)

而brim中则直接输入kerberos,则会非常快捷地显示相关信息

下面我们来分析一下NetWireRC病毒的流量包,将包导入brim之后,我们了解到这是一个HTTP请求,简单输入http后,我们直接发现可疑文件

右键可疑的Invoice&MSO-Request.doc文件,点击Open Details将展开该包的详细信息

点击conn按钮,将显示握手协议处理情况

如果该数据包为文件类型,点击”files”标签则将显示该文件的具体信息,比如这个将会显示访问的是一个word文件,也会显示其MD5/SHA1哈希值,通过右键点击VirusTotal查询反病毒引擎检查结果。

如图所示,非常快速地得到了相应结果,如果是WireShark中,我们可能需要使用导出HTTP Object对象后再使用哈希工具计算对象的哈希值等操作。

当然,也可以点击上方的“Log Details“右边的小箭头,将开启一个新的窗口,点击Wireshark图标将使用Wireshark打开该数据包,这样也可以使用Wireshark将该数据包中的HTTP对象保存下来进行进一步的测试。

同样,你也可以直接在原始的搜索结果中双击任何一个标签数据,比如/knr.exe,也将直接打开新窗口显示详细信息。

Brim也支持自然语言,通过管道命令符进行计算,熟悉SHELL的或者使用SPLUNK的一定会比较熟悉这种语法,比如,我想统计有多少个HTTP请求,可以通过如下命令实现。

或者统计下DNS请求,可以迅速发现可疑的DNS数据请求,便于发现诸如DNS隧道攻击等行为。

右键想要查询的DNS域名,点击”Pivot to logs”后,我们可以看到以瀑布流形式呈现的DNS访问请求

也许你会说,这些Wireshark都可以做得到,确实,但是不要忘记,当数据包越大,WireShark打开的速度则越慢,而同样的一个包使用Brim进行数据处理比Wireshark要快得太多太多。

简而言之,Brim这个网络数据包分析神器有如下好处:

  • 快速加载并解析大PCAP包
  • 拥有强大的搜索语言
  • 拥有非常快速的响应
  • 具有历史和可视化的直观UI
  • 可随时跳转到WireShark查看数据包

项目地址

Brim项目地址:【Github传送门

# Wireshark # 应急响应 # 工具使用 # 网络流量分析 # 溯源分析
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者