前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Moloch 非官方手册

Moloch 非官方手册

作者头像
信安之路
发布2019-03-19 16:36:55
4.5K0
发布2019-03-19 16:36:55
举报
文章被收录于专栏:信安之路信安之路

本文作者: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 选项卡中为当前捕获节点详细信息。可通过列配置下拉框选择在该页面显示的字段,下图对默认信息进行了说明。

代码语言:javascript
复制
字段说明:
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 节点信息。可通过列配置下拉框选择在该页面显示的字段。

代码语言:javascript
复制
字段说明:
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 索引信息。可通过列配置下拉框选择在该页面显示的字段。

代码语言:javascript
复制
字段说明:
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 任务信息。可通过列配置下拉框选择在该页面显示的字段。

代码语言:javascript
复制
字段说明:
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

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-03-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 信安之路 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、Sessions 界面
    • 应用&创建默认过滤
      • 导出过滤结果
        • 流量趋势
          • 源&目的
            • 窗口自适应
            • 二、SPIView 界面
            • 三、SPIGraph
            • 四、Connections 界面
            • 五、Hunt 界面
            • 六、Files 界面
            • 七、Stats 界面
              • Capture Graphs
                • Capture Stats
                  • ES Nodes
                    • ES Indices
                      • ES Tasks
                        • ES Shards
                          • ES Recovery
                          • 八、History
                          • 九、Settings 界面
                            • General
                            • Views
                            • Cron Queries
                              • Column Configs
                                • SPI View Configs
                                  • Themes
                                    • Password
                                    • 十、Users 界面
                                    • 参考链接
                                    领券
                                    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档