Moloch 非官方手册

本文作者:Aloha(信安之路应急响应小组成员) 成员招募:信安之路应急响应小组寻找志同道合的朋友

关于 Moloch 的安装、部署、维护及优缺点介绍, Cherishao 已经在信安之路投稿了文章《Moloch 那些不得不说的事》

在网上关于 Moloch 的使用说明不多,很多文章都是这家 Copy 一下,哪里 Copy 一下;本手册主要是根据自己在使用时对相关功能的总结,参考官网的资料说明,对 Moloch 流量回溯系统的功能进行较为详细的介绍。

在工作中,我使用的是国内某家公司的全流量分析系统,相比之下,我认为 Moloch 作为一款开源系统,其对流量数据的解析功能非常强大,可以花式构造过滤语句。但毕竟以流量为主,不具备基于行为或特征之类的常见检测机制,如果需要,可以配合 Snort、Bro、Suricata 等检测系统。(Moloch 可将 Suricata作为插件结合,有兴趣的朋友可以试试)

文中用法多为个人理解,可能存在偏差,在此仅做抛砖引玉,希望各位表哥多交流指点!

一、Sessions 界面

搜索栏

输入过滤表达式,点击 search 进行检索。

应用&创建默认过滤

经预先设置后,将指定的条件作为默认过滤。

如图1-2:选择该条已定义好的规则,将检索所有捕获到的 TCP 数据,然后检索出与 IP 10.0.1.1 相关 TCP数据。

点击 “New View” 可以添加新的默认过滤条件。

如图 1-4,可设置默认过滤名称及相应过滤表达式

可以在 Settings 面板点击 “Views” 来查看默认过滤配置情况。

PS:我在试用中创建新条目时,Name值不可为中文字符。

导出过滤结果

导出查询结果,保存为 PCAP 格式或 CSV 格式。

选择区间回溯

选定回溯区间,点击 “Search”,查询数据。

指定时间段回溯

指定时间段,点击 “Search”,查询数据。

会话选择方式

由于每个会话都有第一个包,最后一个包及相应的数据库时间戳,因此可以根据以上条件对会话进行选择:

First Packet:按选中的区间,在会话显示面板按时间正序显示捕获的会话。

Last Packet按选中的区间,在会话显示面板按时间倒序显示捕获的会话。

Bounded:过滤出已完成的会话数据。

Session Overlaps: 过滤出已捕获到第一个包,还未接捕获最后一个包(即:会话正在进行)的会话数据。

Database:按会话写入数据库的时间进行显示(有一定延迟,可能是在收到最后一个包的几分钟后)。

流量趋势

显示单位时间内流量趋势。(默认为小时)

会话显示

设置 Sessions 页面显示会话数。(页面默认显示50条会话)

并可看到当前查询结果包含总会话数。

流量面板

展示了实时监控趋势。

放大镜用来调整展示的时间区间

sessions(会话)、packets(包)、databytes(字节)为三种展现形式

可选择以折线图(Lines)或柱状图(Bars)来展示流量趋势

源&目的

在地图中展示通信双方的地理位置

S(source country)

D(destination country)

窗口自适应

点击图1-14中所示按钮,可使下方的显示的各列信息进行窗口自适应。

自适应前:

自适应后:

数据信息

如图1-16显示的为元数据信息,如源IP,源端口,目的IP,目的端口等。

可以通过点击图 1-17 中所示按钮,可将想要在页面中显示的字段应用为列。

点击旁边的按钮,可将经选择后展示在页面中的列形成一条配置,并进行命名。

如图1-18,可以看到除了默认配置(Moloch Default)之外,还定制了名为“A”的配置。

通过查看 “Settings” 面板中的 “Column Configs” 条目,可以清楚的看到默认配置与 “A” 配置的区别,即选择默认配置时将多出一列 “info” 信息。

点击每条会话前的 '+',将显示完整的会话信息。

点击 “Download Pcap” 或下拉 “Action” 菜单,选中 “Export Pcap” 即可下载该数据包。

所有字段名均带有下拉菜单。

以图 1-21 为例,对 5 项操作进行说明:

Export Unique Method(显示支持的HTTP方法)

Export Unique Method with counts(对选中区间内各HTTP请求方法进行计数)

Open Method SPI Graph(在SPIGraph界面对各HTTP请求方法进行统计)

Toggle Method column(将Request Method应用为列)

Toggle Method in info column(将本次请求详细内容显示在info列中)

会话中字段的值可以展开下拉菜单,选定条件,设置为对应的过滤规则。

技巧:此处对元数据的操作配合之前提到的Export Unique Method操作,可以构造出自己想要的过滤语句!

例如:

下图中该会话通过GET方法,请求了一张图片。想检索所有请求图片的会话,可以点击

and image/jpeg,将生成相应的过滤语句。

此外,可以通过 Export Unique Method查看支持的其他类型,从而构造相应的过滤语句。

二、SPIView 界面

如下图,点击 “Load All” 将展开菜单,加载所有相关字段信息。点击 “Unload All” 关闭加载。(字段名及字段值其他操作'数据信息'部分已介绍,此处不再说明)

例:如何配置自己想查看的字段信息?

第一步:点击“Unload All”,不加载任何字段

第二步:单击选择需要查看的字段信息

第三步:输入配置名并保存,完成配置

解析功能强大,可构造各种过滤语句!

三、SPIGraph

SPIGraph 界面将以流量趋势图的方式展示指定字段的流量情况。除了直接在 SPIGraph 界面中选择字段,也可以在Sessions 及 SPIView 界面进行指定要查看的字段,通过 SPIGraph 选项跳转至本界面。

四、Connections 界面

Connections 界面用于直观的展示源节点与目的节点的关系。

五、Hunt 界面

在 Hunt 界面中,可以捕获出带有指定内容的会话。

Hunt 功能默认不开启,可在 Users 界面,对指定用户勾选“Can Search Packets”进行启用。

检索到数据后,可点击下图所示文件夹图标查看检索结果。

例:检索包含字符串“administrator”的会话。

①配置检索条目,进行检索

②查看捕获结果

优点:

可设置数据流特征值(支持 ASCII,HEX,正则表达式)来进行监测。

不足:

定义捕获规则时,Name 不支持中文字符;

只能同时启用一条捕获规则(按顺序逐条执行,且捕获规则停止后再启动将报错);

只能对数据包内容进行匹配,无法针对数据包大小设置捕获规则(如定长心跳包等难以监测)。

六、Files 界面

Files 页面显示已捕获的 pcap 。各字段详细说明见下图:

七、Stats 界面

Stats 界面为 Moloch 状态信息。在 Moloch 维护及故障排除方面有较大帮助。

PS:因为 Moloch 基于 Elasticsearch 引擎,涉及到数据处理,集群等相关知识,我对这些了解不足,以下只对界面内容进行简要说明

附上 Elasticsearch 学习链接:

https://blog.csdn.net/huakai_sun/article/details/79312157

https://es.xiaoleilu.com/

Capture Graphs

Capture Graphs 选项卡显示了当前网卡的实时捕获的会话数。(实际使用方法不清楚,页面说明中提到使用时需要将浏览器像素宽调整到1500+...)

Capture Stats

Capture Stats 选项卡中为当前捕获节点详细信息。可通过列配置下拉框选择在该页面显示的字段,下图对默认信息进行了说明。

字段说明:
Node:捕获节点
Time:捕获时间
Seesions:当前监测到的会话数
Free Space:磁盘剩余空间
CPU:Moloch占用CPU大小
Memory:Moloch占用内存大小
Packet Q:待处理数据包
Disk Q:待发送到磁盘的数据包
ES Q:待发送到ES的数据包
Packet/s:待添加到Packet Q数据包
Bytes/s: 待添加到Packet Q数据包大小
Sessions/s:每秒发送到ES会话数
Packet Drops/s:每秒丢包数
Bits/Sec:与Bytes/s相同,只不过由字节/秒变为位/秒
Written Bytes/s:Moloch写入磁盘的所有数据包的大小
Unwritten Bytes/s: Moloch未写入磁盘的所有数据包的大小
Active TCP Sessions:监测中的TCP会话数
Active UDP Sessions:监测中的UDP会话数
Active ICMP Sessions:监测中的ICMP会话数
Active SCTP Sessions:监测中的SCTP会话数
Active ESP Sessions:监测中的ESP会话数
Used Space:已使用磁盘大小
ES Health Response MS:ES健康状态响应
Closing Q:已关闭的会话数
Watting Q:等待写入的会话数
Active Fragments:活跃的ES分片数
Fragments Dropped/Sec:每秒丢弃的分片数
Total Dropped/Sec:总共丢弃的分片数
ES Session Bytes/Sec: 每秒ES会话字节大小
Overload Drops/s:未知
ES Drops/s:未知
ES Session Size/Sec: 每秒ES会话大小

ES Nodes

ES Nodes 选项卡中为 ES 节点信息。可通过列配置下拉框选择在该页面显示的字段。

字段说明:
Name:索引名
Documents:索引中
Disk Used:使用磁盘大小
Disk Free:磁盘剩余空间
Heap Size:堆大小(未知)
OS Load:系统加载(未知)
CPU:占用CPU百分比
Read/s:读取速率
Write/s:写入速率
Searches/s:查询速率
IP:节点对应IP
IP Excluded:未知
Node Excluded:未知
Non Heap Size:除去堆后剩余大小(未知)
Searches timeout:检索间隔

ES Indices

ES Indices 选项卡中为 ES 索引信息。可通过列配置下拉框选择在该页面显示的字段。

字段说明:
Name:索引名
Documents:索引中文档数
Disk Size:改索引所占存储
Shards:ES分片数
Segments: ES段
Replicas:备份分片
Memory:该索引占用内存
Health:索引健康状态(Green为最健康状态,Yellow为基本的分片可用,Red为部分的分片可用)
Status:索引状态(打开/关闭)
Created Date:索引创建时间
Current Query Phase Ops:当前查询阶段(未知)
UUID:索引内部UUID

ES Tasks

ES Tasks 选项卡中为 ES 任务信息。可通过列配置下拉框选择在该页面显示的字段。

字段说明:
Action:行为
Description:正在执行行为的描述
Start Time:任务起始时间
Children:相关子任务
Cancellable:是否可取消
ID:ID(未知)
Node:节点
Task ID:任务ID
Type:任务类型

ES Shards

ES Shards 选项卡中为索引与节点分片的对应关系。

ES Recovery

ES Recovery 选项卡中为ES任务信息(Recovery 是指将一个索引的未分配 shard 分配到一个结点的过程。)。可通过列配置下拉框选择在该页面显示的字段。

八、History

History 界面可以查看用户的历史操作记录,并支持对历史操作的重现。

PS:普通用户只能查看自己的操作,而管理员可以查看所有用户的操作

九、Settings 界面

Settings 界面可对当前登录账号各项信息进行配置,具体细节如下:

General

如图9-1,可对Moloch进行常规信息设置。

Timezone Format:设置时区格式

Session Detail Format:默认会话包解析格式

Number of Packets:返回包默认数量

Show Packet Timestamps:显示/隐藏 数据包时间戳

Issue Query on Page Load:是否在页面加载时就进行查询

Sort Sessions By:默认会话排序

Default SPI Graph:SPI图形默认字段

Connections Src:默认源字段

Connections Dst:默认目的字段

Views

用户可在此界面添加、更新、删除过滤规则。(具体用法已在Sessions部分说明)

Cron Queries

设置定时任务,每隔一段时间会在 Sessions 界面执行定义好的过滤语句。(执行时相对会话有90s延迟,确保会话已完全传输)

Column Configs

对 Sessions 页面显示的列信息进配置。(具体用法已在Sessions部分说明)

SPI View Configs

对 SPI View 界面进行检索的字段进行配置。(具体用法已在SPI View部分说明)

Themes

用户可以选择自己喜欢的配色方案。

Password

十、Users 界面

Users 页面负责用户管理。可进行添加、删除用户,也可对已有用户的权限进行限制。

主要对以下三个选项进行说明:

Forced Expression:当前用户的默认过滤条件。(如设置 protocols==tcp,则该用户只能查询到 tcp 数据)

Admin:是否赋予当前用户管理员权限(即拥有增删改权限)

Web Auth Header:登录时不需要密码,只需要基于Web头进行认证

参考链接

https://github.com/aol/moloch/wiki/FAQ

https://github.com/aol/moloch/wiki/Settings

原文发布于微信公众号 - 信安之路(xazlsec)

原文发表时间:2019-03-14

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券