返回更新列表
新发布Aug 1, 2026

maltrail v2.2

基于公开黑名单、静态恶意软件痕迹和启发式分析的实时恶意流量检测系统,用于识别DNS、HTTP和IP流量中的威胁。

分享

Maltrail

License Sensor Server Trails X

Maltrail

Maltrail 是一个网络流量检测系统,用于识别与已知恶意基础设施的通信,并报告选定的流量异常。它会将网络上观察到的域名、URL、IP 地址、IP:port 对以及 User-Agent 值与一组称为 trails 的指标进行匹配。

检测结果会记录为单个事件,其中包含源、目标、协议、匹配的 trail、分类以及 trail 来源:```text "2026-08-07 09:14:22.117034" gw 10.13.13.2 57809 1.1.1.1 53 UDP DNS malware.bakewithdavid.com "asyncrat (malware)" (static)

Maltrail 专为基于指标的网络安全监控而设计。其启发式检测是对
特征匹配的补充,但它并不能替代端点遥测或通用型入侵
防御系统。

## 功能特性

- 完整的特征库构建,整合了超过 3,000 个内置静态文件、42 个公共源集成,
  以及可选的运营方提供的特征库。
- 基于 libpcap 的多线程 Rust 传感器,支持可选的 Linux `PACKET_FANOUT` 捕获工作线程。
- 提供报告界面、事件接收和 HTTP API 的 Python 服务器。
- 可审查且可进行版本控制的纯文本自定义特征库和白名单。
- 针对扫描、DNS 耗尽、类 DGA 查询、可疑下载、代理探测、
  可疑 User-Agent 值及相关网络活动的启发式检测。
- 本地事件日志、远程 Maltrail 日志、通过 syslog 的 CEF 以及 Logstash JSON 输出。
- 通过 `maltrail-sensor -T` 进行部署验证,并提供可选的 Prometheus 指标。

## 目录

- [架构](#architecture)
- [报告界面](#reporting-interface)
- [性能](#performance)
- [安装](#installation)
  - [安装程序](#installer)
  - [从源码构建](#building-from-source)
  - [Systemd](#systemd)
  - [Docker](#docker)
- [配置](#configuration)
- [特征库](#trails)
- [事件与 API](#events-and-api)
- [运维](#operations)
  - [监控](#monitoring)
  - [事件保留](#event-retention)
- [文档](#documentation)
- [贡献](#contributing)
- [项目](#project)
  - [许可证](#license)
  - [维护者](#maintainers)
  - [赞助商](#sponsors)
  - [演示与出版物](#presentations-and-publications)
  - [衍生黑名单](#derived-blacklist)
  - [第三方集成](#third-party-integrations)
  - [致谢](#acknowledgements)

## 架构

Maltrail 由两个独立的进程组成,它们可以运行在同一台主机上,也可以运行在不同的主机上:```text
   ┌──────────┐   events (UDP or file)   ┌──────────┐
   │  sensor  │ ───────────────────────► │  server  │ ◄── browser
   └──────────┘                          └──────────┘
    Rust                                  Python
    libpcap + PACKET_FANOUT               reporting UI + API
    trail matching + heuristics

传感器捕获流量,执行轨迹匹配和启发式分析,并生成事件。 它可以将事件写入本地(LOG_DIR)、发送到远程 Maltrail 服务器(LOG_SERVER),或两者 兼做。它还可以通过 syslog 输出 CEF(SYSLOG_SERVER)以及向 Logstash 输出 JSON (LOGSTASH_SERVER)。

服务器接收并存储远程事件,提供本地可用的事件日志,并提供 Web 界面和 API。

报告界面

Maltrail 包含一个基于浏览器的报告界面,用于探索检测到的 流量,支持实时更新、字段感知搜索、回溯狩猎、地理 视图、分类、已保存视图和导出。

Maltrail 报告界面

该界面由 server.pyHTTP_ADDRESS:HTTP_PORT 提供服务。它是纯 JavaScript,只有一个 第三方运行时依赖(PapaParse,用于 CSV 解析),且无需构建步骤。每次查看一天, 通过日期选择器选择,该选择器同时充当可用每日日志上的事件密度网格。事件从 /events 流式传输,并在浏览器中聚合为 威胁——每个不同的 (source, trail) 对应一行——显示在可排序的网格中,并带有详情面板。

功能说明
实时模式追加的事件通过 Server-Sent Events(/live)推送并合并到当前视图中。当 SSE 不可用,或对于流无法提供的会话,则回退到轮询每日日志的字节范围。新的高严重性威胁可以触发桌面通知和声音警报;两者均可静音
搜索字段限定令牌(src: dst: port: proto: type: trail: info: family: tag: uid: sev: dir: status:family:interlock 会拉入 interlock-1/-2,即一次订阅源转储被拆分成的分片)以空格作为 AND 组合,- 用于排除,* 通配符,CIDR(src:10.0.0.0/8),以及数值范围和比较(port:>1024count:>=100)。活动过滤器显示为可移除的标签
回溯狩猎搜索所有保留的每日日志中的一个指标(/hunt),而不仅仅是当前视图中的那一天。受天数限制、墙钟时间预算和样本上限约束;预算被截断的那一天与已完成的天数分开报告,而不是计入完成总数。每日侧车索引(LOG_DIR/index/USE_EVENT_INDEX)让扫描跳过每个不匹配的行,并使 /counts 精确
世界地图所选日期的按国家/地区事件密度(/geo),放置每个事件的外部端点。无法归因于外部地址的事件报告为未映射,而不是猜测。设置 HOME_LAT / HOME_LON 以绘制来源弧线
分类每个威胁的状态(新建 / 调查中 / 已解决 / 误报)、自由文本备注、标签和隐藏。白名单规则和 OSINT 关联可从行上下文菜单中使用
已保存视图命名的过滤器预设
导出当前过滤视图为 CSV、JSON 或去武器化指标
外观深色和浅色主题,以及离散的文本大小步进

分类状态、已保存视图、标签和外观设置存储在浏览器中 (localStorage),而不是服务器上:它们是按浏览器和按来源的,并且不会在 分析人员之间共享。

使用网络过滤器限制的会话只能看到来自其自身网络的事件,并且该 限制同样适用于计数、地图和黑名单端点以及事件列表。

单个地址的国家和 ASN 丰富信息由服务器stat.ripe.net 查询, 服务器会缓存结果并从其自身的 /ripe 端点提供给界面;浏览器只与 Maltrail 通信。设置 DISABLE_RIPE_LOOKUPS 可完全关闭 出站查询。没有这些查询——或在不具备互联网访问权限的主机上——标志 来自本地 RIR 表,界面中的其他一切都可以离线工作。

性能

性能取决于处理器、流量构成、轨迹集大小、捕获驱动程序和网络 接口。以下数据单独衡量传感器的数据包处理路径;它们不是 端到端的实时捕获测量。

在启用启发式且轨迹集为 150 万行的 AMD Ryzen 7 PRO 4750U 上的代表性测量:

流量每包时间
ICMP 回显,58 字节101 ns
TCP SYN,70 字节302 ns
批量 TLS,1,473 字节402 ns
带热缓存的 DNS 查询,93 字节452 ns
混合流量,平均 866 字节552 ns
HTTP 请求,169 字节602 ns
带唯一名称的 DNS 查询,93 字节1,102 ns

使用相同生成的捕获、配置和轨迹集进行的离线对比运行,在测试的系统上测得 每包稳态成本比已退役的 Python 传感器低 14–37 倍。 这些数据将整个进程时间与稳态分开,因为轨迹加载主导了短时重放。 检测本身单独断言,由 sensor/tests/replay.rs 中的 42 个案例语料库完成。

在目标系统上使用以下命令测量:```bash cargo bench --manifest-path sensor/Cargo.toml --bench hotpath

默认使用一个捕获工作进程。增加工作进程数量可以提高捕获容量,但 Linux 的流哈希会将每个源的状态分散到各工作进程之间,从而降低某些扫描启发式检测的灵敏度。在文档记录的测试中,单工作进程的启发式告警在双工作进程下保留了 91%,四工作进程下保留了 86%,八工作进程下保留了 65%。精确轨迹匹配不受影响。仅在捕获丢包指标显示必要时,才增加 `CAPTURE_FANOUT`。

基准测试方法、硬件结果、性能分析器输出、内存测量以及实时扇出检查均记录在 [`sensor/docs/REPORT.md`](https://github.com/stamparm/maltrail/blob/master/sensor/docs/REPORT.md) 中。

## 安装

### 安装程序

该安装程序支持 Debian、Ubuntu、Raspberry Pi OS、RHEL、Fedora 和 openSUSE:```bash
curl -fsSL https://raw.githubusercontent.com/stamparm/maltrail/master/install.sh | sudo sh

该脚本会安装依赖项,在 /opt/maltrail 下创建受管检出,验证预构建传感器的校验和,创建无特权的 maltrail 账户,安装 systemd 单元,准备日志和状态目录,并启动传感器和服务器。重新运行安装程序会升级受管检出。

在提升权限运行该脚本之前,请先对其进行审查。从现有检出中,试运行会显示命令而不更改系统:```bash sh install.sh --dry-run

通用安装程序选项:```bash
sh install.sh --role sensor      # Install only the sensor
sh install.sh --ref 3.1.2        # Install a release tag instead of master
sh install.sh --no-service       # Install without changing systemd
sh install.sh --dry-run          # Print commands without applying them
sh install.sh --uninstall        # Remove the managed installation; keep logs and state

安装完成后,仪表盘可通过 http://127.0.0.1:8338 访问。请注意,随附的 HTTP_ADDRESS0.0.0.0,因此它可在每个接口上访问,而不仅仅是回环接口——并且 默认凭据为 admin / changeme!。在主机接入不受信任的网络之前,请修改 USERS,并将 HTTP_ADDRESS 设置为 127.0.0.1(或将服务器置于带 TLS 的反向代理之后)。

初始的 trail 构建可能需要几分钟。在获得有效的 trail 集之前,传感器不会检测到 trail 匹配。systemd 单元会在启动前运行传感器的 -T 验证,以便 权限缺失、日志目录不可写或 trail 集无效会导致启动以可见方式失败。

安装程序测试框架覆盖 Ubuntu、Debian、Fedora、openSUSE 和 Alpine 容器。Alpine 使用 musl,不使用预构建的 glibc 传感器二进制文件;请在那里从源码构建传感器。

从源码构建

传感器需要 Rust 1.74 或更高版本、libpcap 开发头文件以及系统的 能力工具。服务器和 trail 更新器需要 Python 3.6 或更高版本。

安装发行版软件包:```bash

Debian / Ubuntu / Raspberry Pi OS

sudo apt-get install cargo libpcap-dev libcap2-bin python3

RHEL / Fedora

sudo dnf install cargo libpcap-devel libcap python3

openSUSE / SLES

sudo zypper install cargo rust libpcap-devel libcap-progs python311

然后构建并验证传感器:```bash
git clone --depth 1 https://github.com/stamparm/maltrail.git
cd maltrail

cargo build --release --manifest-path sensor/Cargo.toml

sudo setcap cap_net_raw,cap_net_admin=eip \
  sensor/target/release/maltrail-sensor

sudo install -d -o "$USER" -g "$(id -gn)" -m 750 /var/log/maltrail

sensor/target/release/maltrail-sensor -T
sensor/target/release/maltrail-sensor

在另一个终端或另一台主机上启动服务器:```bash python3 server.py

预构建的 `x86_64` 和 `aarch64` 传感器二进制文件随当前版本发布,并附带 SHA-256 校验和。它们静态链接 libpcap,并面向 glibc 2.28,因此 C 库是它们唯一需要的依赖——在 RHEL 8+、Debian 10+、Ubuntu 18.04+ 以及 Leap 15.x 上均无需安装任何东西。在基于 musl 的系统(如 Alpine Linux)上,请从源码构建。

**3.1.1 及更早版本**的二进制文件并非如此:它们动态链接 libpcap,并按 AlmaLinux 构建主机使用的名称来请求该库。Debian 和 Ubuntu 以旧名称 `libpcap.so.0.8` 提供相同的库,因此这些二进制文件在启动之前就停止了——```
./maltrail-sensor: error while loading shared libraries: libpcap.so.1: cannot open shared object file

— 在已安装 libpcap 的机器上。install.sh 会为你链接缺失的名称。手动操作:```bash

adjust the directory for your architecture: aarch64-linux-gnu, or /usr/lib64 on RPM distributions

sudo ln -sf /usr/lib/x86_64-linux-gnu/libpcap.so.0.8 /usr/lib/x86_64-linux-gnu/libpcap.so.1 sudo ldconfig

### Systemd

提供的 `packaging/systemd/` 单元文件以非特权用户 `maltrail` 运行这两个进程。Systemd 会创建 `/var/log/maltrail` 和 `/var/lib/maltrail`,限制文件系统访问,并授予传感器 `CAP_NET_RAW` 和 `CAP_NET_ADMIN` 权限。

安装程序会自动配置这些单元文件。对于现有的源码安装,请遵循 [`sensor/docs/INSTALL.md`](https://github.com/stamparm/maltrail/blob/master/sensor/docs/INSTALL.md) 中的手动服务流程。

使用以下命令检查服务状态和日志:```bash
systemctl status maltrail-sensor maltrail-server
journalctl -u maltrail-sensor -f

Docker

使用以下命令启动提供的 Compose 部署:```bash docker compose -f docker/docker-compose.yml up -d

容器配置、存储、权限和健康检查记录在
[`docker/README.md`](https://github.com/stamparm/maltrail/blob/master/docker/README.md) 中。

## 配置

Maltrail 读取 `maltrail.conf`,其中包含独立的 `[Sensor]` 和 `[Server]` 设置。安装程序将受管配置放置在 `/etc/maltrail.conf`。

常用的传感器选项包括:

| 选项 | 用途 |
| --- | --- |
| `MONITOR_INTERFACE` | 捕获接口或接口列表;`any` 选择所有受支持的接口 |
| `CAPTURE_FILTER` | BPF 捕获过滤器 |
| `CAPTURE_FANOUT` | Linux 捕获套接字数量;默认为一个 |
| `CAPTURE_WORKERS` | 捕获工作进程,每个对应一个套接字;默认为 `CAPTURE_FANOUT`,因此除非设置了其中任一选项,否则为一个 |
| `LOG_DIR` | 本地事件日志目录 |
| `TRAILS_FILE` | 生成的轨迹数据库 |
| `LOG_SERVER` | 远程 Maltrail 事件服务器 |
| `SYSLOG_SERVER` | CEF syslog 目标或目标列表 |
| `LOGSTASH_SERVER` | Logstash JSON 目标或目标列表 |
| `STATS_ADDRESS` | Prometheus 指标监听器;除非配置,否则禁用 |
| `UPDATE_PERIOD` | 轨迹刷新间隔 |
| `STATIC_TRAILS_URL` | 获取组装静态轨迹集的来源;将其固定到带日期的版本,以控制新内容何时落地 |
| `USER_WHITELIST` | 操作员管理的、不应触发告警的指标 |
| `CUSTOM_TRAILS_DIR` | 操作员管理的轨迹目录 |
| `STATIC_TRAILS_DIR` | 可选的轨迹仓库检出;仅用于在 UI 中显示轨迹的来源引用 |

`PROCESS_COUNT` 适用于已退役的 Python 传感器和旧版事件日志节流;它**不**设置 Rust 传感器的工作进程数量。请改用 `CAPTURE_FANOUT` 或 `CAPTURE_WORKERS` 配置捕获工作进程。

更改配置后,请运行部署检查:```bash
sensor/target/release/maltrail-sensor -T

该检查会验证配置、trail、白名单条目、捕获过滤器、权限、日志存储、更新支持以及 worker 设置。成功的检查会包含 trail 和白名单的正数计数,而不仅仅是确认文件存在。

Trails

一个 trail 是一个指标——域名、URL、IP 地址、IP:port 对、User-Agent、JA3/JA4 指纹或证书哈希——连同其含义及来源。更新程序按以下顺序将四个来源合并到 TRAILS_FILE 中:

来源来源位置
Feedsfeeds/*.py,由你的部署直接从每个发布者获取
CustomCUSTOM_TRAILS_DIRCUSTOM_TRAILS_URL,你自己的指标
Static来自 stamparm/trails 的整合集合,从 STATIC_TRAILS_URL 获取
Engine listsdata/mass_scanner*.txt,随此仓库附带,因为它们很少变化

静态 trails 存放在它们自己的仓库中。检测内容每天会变化数十次;而引擎不会,将它们放在一起意味着更新检测需要拉取代码,并使此仓库的历史记录变得不可用。STATIC_TRAILS_URL 指向最新发布的集合:```text STATIC_TRAILS_URL https://github.com/stamparm/trails/releases/latest/download/trails.csv.gz

将其指向特定的 `content-YYYYMMDD-HHMM` 发布版本以固定版本,这样糟糕的发布不会立即全局生效。该集合缓存在 `TRAILS_FILE` 旁边,这正是离线或气隙重建能够工作的原因;下载前会检查已发布的 `sha256`,因此更新频率高于内容变化的部署仅传输 65 字节而非 11 MB,且与摘要不匹配的载荷会被拒绝,转而使用缓存。

`update_trails()` 仅在构建成功后原子性地发布新的 `TRAILS_FILE`。返回空结果的源会按名称报告,因此部署不会静默依赖已悄然退役的源。

在 `CUSTOM_TRAILS_DIR` 下添加你自己的指标,并将任何绝不应触发事件的内容放入 `USER_WHITELIST`。将两者都保留在安装目录之外,这样升级不会覆盖它们。

静态轨迹贡献请前往 [stamparm/trails](https://github.com/stamparm/trails);新源请提交到这里。无论哪种方式,指标都需要分类和可查证的来源——参见 [贡献](#contributing)。

## 事件与 API

Maltrail 每次检测记录一个以空格分隔的事件,当值包含空格时使用 CSV 引号:```text
"<time>" <sensor> <src_ip> <src_port> <dst_ip> <dst_port> <proto> <type> <trail> "<info>" <reference>

type 字段标识匹配的内容,包括 DNSIPIPORTURLPATHHTTPUAPORTCERTJA3JA4info 字段包含线索分类,而 reference 标识产生该结果的静态列表、订阅源、自定义来源或启发式规则。JA3/JA4 类型针对 TLS 客户端指纹触发:植入物的 TLS 协议栈在每次 地址和域名轮换后依然存在,因此其握手哈希在其他所有信息失效后仍能持续匹配 (由 abuse.ch SSLBL JA3 订阅源发布)。

指标查询

使用 /check 查询一个域名、IP 地址或 URL:```bash curl 'http://127.0.0.1:8338/check?q=www.sub.evil.example'

## 安装

### 使用 pip 安装

```bash
pip install pywhisker

从源码安装

git clone https://github.com/ShutdownRepo/pywhisker.git
cd pywhisker
python3 setup.py install

用法

usage: pywhisker.py [-h] [-v] -t TARGET [-u USERNAME] [-p PASSWORD] [-d DOMAIN]
                    [-H HASHES] [-k] [-a ACTION] [-n NEW_TARGET] [-s TARGET_SID]
                    [-m] [-o OUTPUT_FILE] [-q]

pywhisker - 针对目标对象的 msDS-KeyCredentialLink 属性的攻击工具

options:
  -h, --help            显示此帮助信息并退出
  -v, --verbose         启用详细输出
  -t TARGET, --target TARGET
                        目标对象(用户或计算机)
  -u USERNAME, --username USERNAME
                        用于认证的用户名
  -p PASSWORD, --password PASSWORD
                        用于认证的密码
  -d DOMAIN, --domain DOMAIN
                        目标域
  -H HASHES, --hashes HASHES
                        LM:NT 格式的哈希值
  -k, --kerberos        使用 Kerberos 认证
  -a ACTION, --action ACTION
                        要执行的操作(add、remove、list、clear、export)
  -n NEW_TARGET, --new-target NEW_TARGET
                        新目标对象(用于 add 操作)
  -s TARGET_SID, --target-sid TARGET_SID
                        目标对象的 SID(用于 remove 操作)
  -m, --mock            模拟操作,不实际执行
  -o OUTPUT_FILE, --output-file OUTPUT_FILE
                        输出文件(用于 export 操作)
  -q, --quiet           安静模式,减少输出

示例

pywhisker.py -t target_user -u user -p password -d domain.local -a list
pywhisker.py -t target_user -u user -p password -d domain.local -a add -n new_user
pywhisker.py -t target_user -u user -p password -d domain.local -a remove -s target_sid
pywhisker.py -t target_user -u user -p password -d domain.local -a clear
pywhisker.py -t target_user -u user -p password -d domain.local -a export -o output_file

参考

`confidence` 字段(0-100,或不可用时为 `null`)表示来源对条目的支持强度:单一订阅源为 40,每个独立同意的额外订阅源加 15,最高为 100,而操作者自己的自定义和静态条目则获得满分。它是在轨迹更新时根据订阅源一致性计算出来的,并写入 `trails.csv` 旁边的 `trails.confidence` 侧车文件;从 `UPDATE_SERVER` 拉取轨迹的服务器没有可评分的来源信息,因此报告为 `null`。用它来优先安排分流——单一订阅源条目为 40 时,在它获得防火墙规则之前值得再看一眼。

子域名查询可以匹配其列出的父域名。URL 查询会先检查 `host/path`,然后再单独检查主机。服务器读取内存映射的轨迹数据库,并在不重启的情况下观察轨迹更新。

公共静态和订阅源轨迹无需认证即可访问,这与远程传感器使用的 `/trails` 端点一致。自定义轨迹需要授权会话;未经授权的仅自定义查询会被报告为未命中。事件数据始终保持认证状态。

## 操作

### 监控

使用 `maltrail-sensor -T` 作为部署和配置的关口。提供的 systemd 单元将其作为 `ExecStartPre` 运行。

要确认检测本身是否正常工作——而不仅仅是进程是否启动——请运行:```bash
python3 server.py --detect-test

它重放一个精心构造的模拟恶意流量 pcap(trail 命中 DNS 查询、IP、IP:port、URL 路径和 Host 头,外加 SQL 注入、目录遍历、RCE、XSS、代理探测、sinkhole、缺失 Host 以及端口/Web/感染扫描启发式规则),通过已安装的传感器进行检测,并断言每个预期检测都会触发。它不需要 root 权限、不需要网络接口,也不需要自己的 trail 集。安装正常时输出 20/20 detection(s) fired

当配置了 STATS_ADDRESS 时,至少监控以下 Prometheus 指标:

指标运维含义
maltrail_up == 0没有采集工作进程在运行
maltrail_capture_dropped_total 持续增长采集环形缓冲区正在丢弃数据包
maltrail_local_log_errors_total 持续增长已产生事件但无法写入本地
maltrail_remote_log_errors_total 持续增长事件无法投递到远程接收端;启用 DISABLE_LOCAL_LOG_STORAGE 时事件将丢失
maltrail_trail_generation 未推进活动 trail 集未刷新
maltrail_log_dir_free_bytes本地事件存储的剩余容量
maltrail_state_saturations_total 持续增长达到某个启发式状态上限
maltrail_throttle_evictions_total 持续增长事件节流表已达上限,因此事件会比配置的更早聚合

状态饱和会影响对应的启发式规则;精确 trail 匹配仍然保持有效。

发送 SIGHUP 或使用 systemctl reload maltrail-sensor 请求 trail 重载。由其他进程更新的 trail 文件会被自动检测并发布给工作进程,无需重启传感器。

压缩可观测存储(USE_CONDENSED_STORAGEmeta.sqlite)支持服务器的新颖性和回溯狩猎视图。按日事件日志旁路索引(USE_EVENT_INDEXLOG_DIR/index/*.sqlite,磁盘上约为日志大小的两倍)是使 /counts 精确和 /hunt 快速的关键;它从日志本身增量维护,并可通过 server.py --rebuild-index 重建。与已退役传感器的兼容性记录在 sensor/docs/COMPATIBILITY.md 中。

事件保留

Maltrail 不会轮转或删除事件日志。运维人员负责根据存储要求和组织策略定义保留、归档和删除规则。

建议做法:

  • 使用 LOG_SERVERSYSLOG_SERVERLOGSTASH_SERVER 将持久事件副本发送到远程 Maltrail 服务器或 SIEM。
  • maltrail_log_dir_free_bytes 设置告警,并为预期事件速率预留足够的余量。
  • 使用外部工具轮转、归档或删除本地每日日志。
  • 将报告界面所需的文件以未压缩形式保留在 LOG_DIR 中;将压缩文件归档到其他位置。

当日志文件系统已满时,传感器无法追加事件。事件日志还可能包含在某些司法管辖区被监管为个人数据的 IP 地址和域名;保留策略应考虑适用的要求。

文档

文档内容
sensor/docs/INSTALL.md安装、权限、配置和故障排查
sensor/docs/ARCHITECTURE.md传感器内部结构和数据流
sensor/docs/COMPATIBILITY.md与已退役 Python 传感器的刻意差异
sensor/docs/REPORT.md测量、配置文件和测试结果
sensor/docs/ROADMAP.md待办的传感器工作
SekuriPy Labs工程笔记、基准测试和文章

贡献

欢迎提交 trail 新增、feed 维护、错误报告、文档和传感器改进。Trail 提交应包含可靠的来源,并使用最窄的适当分类。

提交代码前请运行相关检查。完整的传感器门禁为:```bash bash sensor/tools/check.sh

它运行格式化检查、Clippy(拒绝所有警告)以及调试版和发布版测试套件。使用以下命令运行 Python 服务器测试套件:```bash
bash tests/run.sh python3

项目

许可证

Maltrail 根据 MIT 许可证分发。参见 LICENSE

维护者

赞助商

演讲与出版物

  • 第 47 届 TF-CSIRT 会议,布拉格,2016 (幻灯片)
  • 使用 Maltrail 检测网络攻击,Linux Magazine,2022 (文章)
  • 最佳网络威胁情报源,Silent Push,2022 (评测)
  • 基于 Maltrail 的网络恶意流量检测系统研究,Nanotechnology Perceptions,2024 (论文)

衍生黑名单

malware/ 静态轨迹中提取的仅域名列表发布在 maltrail-malware-domains.txt。 它可用作 DNS 过滤系统的输入,但操作人员应在启用拦截前对其进行审查和测试。威胁情报列表可能包含误报或不适用于所有环境的指标。

第三方集成

致谢

  • Thomas Kristner
  • Eduardo Arcusa Les
  • James Lay
  • Ladislav Baco (@laciKE)
  • John Kristoff (@jtkdpu)
  • Michael Münz (@mimugmail)
  • David Brush
  • @Godwottery
  • Chris Wild (@briskets)
  • Keith Irwin (@ki9us)
  • Simon Szustkowski (@simonszu)

分类