一款功能强大免费的开源恶意流量检测系统, 它利用公开的黑名单以及从各种AV报告和自定义用户特征来识别恶意流量, 同时,该系统还拥有可选的高级启发式机制, 可以帮助使用者发现一些未知的威胁

开源恶意流量检测系统

在这里插入图片描述

1.摘要

开源项目地址:

https://github.com/stamparm/maltrail

2.系统架构

Maltrail基于流量 -> 传感器 <-> 服务器 <-> 客户端架构。传感器是一个独立组件, 运行在监控节点上, 例如: 通过SPAN/镜像端口被动连接或在Linux网桥上透明内联的Linux平台, 或者独立蜜罐机器上。它主要负责监控经过的流量中是否存在恶意域名、URL、IP地址等向量, 如果发现匹配, 则会将事件详情发送到中央服务器, 这些详情信息会被存储在指定的日志目录中。如果传感器与服务器运行在同一台服务器上, 则日志直接存储在本地日志目录中。否则, 它们会通过UDP消息发送到远程服务器。

Maltrail是一款功能强大免费的开源恶意流量检测系统, 它利用公开的黑名单以及从各种AV报告和自定义用户特征来识别恶意流量, 同时,该系统还拥有可选的高级启发式机制, 可以帮助使用者发现一些未知的威胁。

服务器的主要角色是存储事件详情并为报告网络应用程序提供后端支持。在默认配置中,服务器和传感器将在同一台机器上运行。因此,为了防止传感器活动可能出现的中断,前端报告部分基于"胖客户端"架构(即所有数据后处理都在客户端的网络浏览器实例中完成)。选定(24小时)期间的事件(即日志条目)被传输到客户端,在那里报告网络应用程序仅负责展示部分。数据以压缩块的形式发送到客户端,然后按顺序处理。最终报告以高度压缩的形式创建,实际上允许呈现几乎无限数量的事件。

注意:服务器组件可以完全跳过,只使用独立的传感器。在这种情况下,所有事件将存储在本地日志目录中,而日志条目可以通过手动方式或某些CSV读取应用程序进行检查。

3.系统安装

因每个使用者的机器环境有差异,为了提高安装成功率, 建议将以下内容保存为:install.sh文件执行安装, 脚本内容如下:

#!/bin/bash
export MALTRAIL_LOCAL=$(realpath ~/.local/share/maltrail)
mkdir -p $MALTRAIL_LOCAL
cd $MALTRAIL_LOCAL
wget https://raw.githubusercontent.com/stamparm/maltrail/master/docker/Dockerfile
wget https://raw.githubusercontent.com/stamparm/maltrail/master/maltrail.conf
sudo su
apt -qq -y install coreutils net-tools docker.io
for dev in $(ifconfig | grep mtu | grep -Eo '^\w+'); do ifconfig $dev promisc; done
mkdir -p /var/log/maltrail/
docker build -t maltrail . && \
docker run -d --name maltrail-docker --privileged -p 8337:8337/udp -p 8338:8338 -v /var/log/maltrail/:/var/log/maltrail/ -v $(pwd)/maltrail.conf:/opt/maltrail/maltrail.conf:ro maltrail

该段脚本主要自动完成以下操作:

将 MALTRAIL_LOCAL 环境变量设置为

~/.local/share/maltrail 的绝对路径。

创建 MALTRAIL_LOCAL 目录(如果不存在)。

切换到 MALTRAIL_LOCAL 目录。

从 GitHub 下载 Maltrail 的 Dockerfile。

从 GitHub 下载 Maltrail 的配置文件。

切换到 root 用户。

安装所需的软件包(coreutils、net-tools 和 docker.io),-qq 表示安静模式,-y 表示自动确认。

对于每个网络接口,将其设置为混杂模式。

创建 /var/log/maltrail/ 目录(如果不存在)。

使用当前目录中的 Dockerfile 构建名为 maltrail 的 Docker 镜像。

运行名为 maltrail-docker 的 Docker 容器,使用构建的 maltrail 镜像。-d 表示在后台运行,–privileged 授予容器额外的权限,-p 映射端口,-v 挂载卷。

执行脚本过程如下:

在这里插入图片描述

安装完毕后,使用命令:docker ps -a命令可以看到Maltrail系统已经启动成功,如图:

在这里插入图片描述

该容器运行后,传感器与服务端将运行在同一台机器上。

如果要将传感器和服务器分开安装, 可以使用以下命令单独安装传感器:

适合ubuntu/Debain系统:

sudo apt-get install git python3 python3-dev python3-pip python-is-python3 libpcap-dev build-essential procps schedtool
sudo pip3 install pcapy-ng
git clone --depth 1 https://github.com/stamparm/maltrail.git
cd maltrail
sudo python3 sensor.py

适合SUSE/OpenSUSE系统:

sudo zypper install gcc gcc-c++ git libpcap-devel python3-devel python3-pip procps schedtool
sudo pip3 install pcapy-ng
git clone --depth 1 https://github.com/stamparm/maltrail.git
cd maltrail
sudo python3 sensor.py

在服务器端,使用以下命令开启服务端:

[[ -d maltrail ]] || git clone --depth 1 https://github.com/stamparm/maltrail.git
cd maltrail
python server.py

如图:

在这里插入图片描述

4.系统使用

容器启动成功后, 可以打开浏览器, 输入:http://服务器IP:8338进行系统访问, 该系统的默认账号密码为:admin:changeme!, 登录成功的界面如下图:
在这里插入图片描述
在这里插入图片描述

以下是触发恶意流量规则记录的信息,如图:

在这里插入图片描述

如果需要完整的功能体验, 可查询官方文档, 介绍的非常详细:

https://github.com/stamparm/maltrail?tab=readme-ov-file#suspicious-http-requests


以下是20个开源恶意流量检测和分析工具,每个工具的简要介绍及其项目页面链接:

  1. Cuckoo Sandbox:一个流行的自动化恶意软件分析系统,通过在隔离环境中运行文件来研究其行为。
    Cuckoo Sandbox

  2. YARA:用于基于模式识别和分类恶意软件的工具,通常用于编写检测恶意软件家族的规则。
    YARA

  3. Remnux:一个用于逆向工程和分析恶意软件的Linux发行版,特别适用于浏览器威胁和内存取证。
    Remnux

  4. Zeek (Bro):一个强大的网络分析框架,监控网络流量并根据网络事件触发脚本。
    Zeek

  5. Ghidra:由美国国家安全局(NSA)开发的软件逆向工程框架,能够分析跨多个平台的编译代码。
    Ghidra

  6. Malcom:一个网络流量分析工具,通过可视化和交叉引用通信模式来检测已知的恶意软件源。
    Malcom

  7. Radare2:一个支持反汇编、调试、仿真和二进制分析的逆向工程框架。
    Radare2

  8. theZoo:一个恶意软件样本的实时仓库,提供恶意软件样本以供研究和测试。
    theZoo

  9. MobSF:用于Android、iOS和Windows应用程序的自动化恶意软件分析和安全评估的移动安全框架。
    MobSF

  10. Pafish:一个检测虚拟机和恶意软件分析环境的工具,类似于恶意软件检测这些环境的方式。
    Pafish

  11. GRR Rapid Response:一个事件响应框架,通过部署代理程序来分析系统中的恶意软件,并可以集中管理。
    GRR

  12. FLOSS:FireEye实验室的混淆字符串解析器,用于自动解混淆恶意软件二进制文件中的字符串,以辅助静态分析。
    FLOSS

  13. CAPE:一个恶意软件沙盒,捕获并分析有效载荷行为,具备解包和C2流量分析能力。
    CAPE Sandbox

  14. OpenIOC:由Mandiant开发的框架,用于以标准化格式共享威胁信息和入侵指标(IOCs)。
    OpenIOC

  15. Volatility:一个内存取证框架,用于从RAM中提取数据以进行恶意软件分析和数字取证。
    Volatility

  16. OSSEC:一个开源的主机入侵检测系统(HIDS),执行日志分析、完整性检查等功能。
    OSSEC

  17. Snort:一个开源的网络入侵检测系统(NIDS),能够实时分析流量和记录数据包。
    Snort

  18. Suricata:一个高性能的网络入侵检测系统(IDS)、入侵防御系统(IPS)和网络安全监控引擎,检查网络流量中的威胁。
    Suricata

  19. ClamAV:一个开源的杀毒引擎,用于检测各种平台上的恶意软件和其他威胁。
    ClamAV

  20. VirusTotal:一个聚合各种杀毒产品和扫描引擎来分析文件和URL的服务。虽然不是完全开源,但提供API访问。
    VirusTotal

这些工具在网络安全社区中广泛用于各种场景中的恶意软件检测和分析。每个工具都有其独特的功能,并侧重于恶意软件分析或检测的不同方面。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

代码讲故事

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值