Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
beagle — Beagle 是一款事件响应和数字取证工具,能够将安全日志和数据转换为图形。 | Kitploit
工具/GitHubGitHub/yampelo/beagle
取证分析数字取证威胁情报事件响应日志分析
GitHubyampelo/beagle

beagle

Beagle 是一款事件响应和数字取证工具,能够将安全日志和数据转换为图形。

查看仓库
1.4k151156年前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

Beagle

Build Status codecov Read The Docs Docker PyPI Slack

  1. 关于 Beagle
  2. 安装
    1. Docker
    2. Python 包
    3. 配置
  3. Web 界面
    1. 上传数据
    2. 浏览现有图
    3. 图界面
      1. 检查节点和边
      2. 展开邻居节点
      3. 隐藏节点
      4. 运行变异器
      5. 切换节点和边类型
      6. 撤销/重做操作与重置
      7. 图视角
  4. Python 库
    1. 控制边生成
    2. 加载已保存的 JSON
  5. 文档

关于 Beagle

Beagle 是一款事件响应和数字取证工具,可将数据源和日志转换为图。支持的数据源包括 FireEye HX Triages、Windows EVTX 文件、SysMon 日志以及原始 Windows 内存镜像。生成的图可以发送到 Neo4J 或 DGraph 等图数据库,也可以作为 Python NetworkX 对象保存在本地。

Beagle 既可作为 Python 库直接使用,也可通过提供的 Web 界面使用。

该库可以以单个数据源的函数调用序列方式使用。

>>> from beagle.datasources import SysmonEVTX

>>> graph = SysmonEVTX("malicious.evtx").to_graph()
>>> graph
<networkx.classes.multidigraph.MultiDiGraph at 0x12700ee10>

也可以作为从多个工件生成的图来使用:

>>> from beagle.datasources import SysmonEVTX, HXTriage, PCAP
>>> from beagle.backends import NetworkX

>>> nx = NetworkX.from_datasources(
    datasources=[
        SysmonEVTX("malicious.evtx"),
        HXTriage("alert.mans"),
        PCAP("traffic.pcap"),
    ]
)
>>> G = nx.graph()
<networkx.classes.multidigraph.MultiDiGraph at 0x12700ee10>

或者通过严格调用数据源到图过程的每个中间步骤:

>>> from beagle.backends import NetworkX
>>> from beagle.datasources import SysmonEVTX
>>> from beagle.transformers import SysmonTransformer

>>> datasource = SysmonEVTX("malicious.evtx")

# 转换器接收一个数据源,并将每个事件转换为一个或多个节点的元组。
>>> transformer = SysmonTransformer(datasource=datasource)
>>> nodes = transformer.run()

# 转换器输出一个节点数组。
[
    (<SysMonProc> process_guid="{0ad3e319-0c16-59c8-0000-0010d47d0000}"),
    (<File> host="DESKTOP-2C3IQHO" full_path="C:\Windows\System32\services.exe"),
    ...
]

# 后端接收节点,并将其转换为图
>>> backend = NetworkX(nodes=nodes)
>>> G = backend.graph()
<networkx.classes.multidigraph.MultiDiGraph at 0x126b887f0>

图围绕单个进程的活动展开,主要旨在帮助分析人员调查主机上的活动,而非主机之间的活动。

安装

Docker

Beagle 以 Docker 文件形式提供:

docker pull yampelo/beagle
mkdir -p data/beagle
docker run -v "$PWD/data/beagle":"/data/beagle" -p 8000:8000 yampelo/beagle

Python 包

它也可作为库使用。完整的 API 文档位于 https://beagle-graphs.readthedocs.io

pip install pybeagle

注意:仅支持 Python 3.6 及以上版本。

Rekall 不会自动安装。要安装 Rekall,请改为执行以下命令:

pip install pybeagle[rekall]

配置

  • 每个配置项的完整概述

配置文件中的任何条目都可以使用遵循以下格式的环境变量进行修改:BEAGLE__{SECTION}__{KEY}。例如,要更改使用 Docker 镜像时的 VirusTotal API 密钥,可以使用 -e 参数并设置 BEAGLE__VIRUSTOTAL__API_KEY 变量:

docker run -v "data/beagle":"/data/beagle" -p 8000:8000 -e "BEAGLE__VIRUSTOTAL__API_KEY=$API_KEY" beagle

环境变量和目录可以很容易地使用 docker compose 定义:

version: "3"

services:
    beagle:
        image: yampelo/beagle
        volumes:
            - /data/beagle:/data/beagle
        ports:
            - "8000:8000"
        environment:
            - BEAGLE__VIRUSTOTAL__API_KEY=$key$

Web 界面

Beagle 的 Docker 镜像附带一个 Web 界面,它封装了将数据转换为图以及使用图调查数据的过程。

上传数据

上传表单封装了图创建过程,并自动使用 NetworkX 作为后端。根据数据源所需的参数,表单会提示上传文件或输入文本。例如:

  • VT API 沙箱报告要求提供要绘图的哈希值。
  • FireEye HX 要求提供 HX triage。

创建的任何图都存储在配置中 storage 部分的 dir 键定义的本地文件夹中。这可以通过设置 BEAGLE__STORAGE__DIR 环境变量进行修改。

可选地,可以为任何图添加注释以帮助更好地描述它。

每个数据源会自动从提供的参数中提取元数据。元数据和注释稍后在查看该数据源的现有图时可见。

浏览现有图

单击侧边栏上的数据源会显示该数据源所有已解析图的表格。

图界面

在 Beagle 中查看图提供了一个 Web 界面,允许分析人员快速围绕事件进行 pivot。

界面主要分为两部分:左侧部分包含图的不同视角(图视图、树视图、表格视图等),右侧部分允许您按类型过滤节点和边、搜索节点以及展开节点的属性。它还允许您撤消和重做在图上的操作。

图中任何带有上方分隔线的元素都是可折叠的:

检查节点和边

图中的节点显示特定字段的前 15 个字符。例如,对于进程节点,将显示进程名称。

边仅显示边的类型。

单击节点或边会聚焦该节点,并在右侧边栏的“节点信息”面板中显示其信息。

聚焦节点
聚焦边

展开邻居节点

双击节点会拉入任何相邻节点。相邻节点是指通过边连接到点击节点的任何节点。如果没有可拉入的邻居,图中将看不到任何变化。

  • 这不考虑方向。这意味着双击节点时,可能会拉入父进程或子进程。
  • Beagle 一次只拉入 25 个节点。

隐藏节点

长按单击节点会将其从图中隐藏,同时隐藏依赖于它的所有边。

运行变异器

右键单击节点会弹出一个上下文菜单,允许您运行 图变异器。变异器是接收图状态并返回新状态的函数。

两个非常有用的变异器是:

  1. 回溯节点:找到导致该节点创建的节点和边的序列。
    • 回溯进程节点会显示其进程树。
  2. 展开所有后代:从当前节点开始,显示所有以该节点为祖先的节点。
    • 展开进程节点会显示它生成的所有子进程节点、它可能接触过的任何文件,以及基本上由该节点引起的所有活动。
回溯节点

回溯节点非常有用,类似于在日志文件中进行根本原因感染分析。

展开节点后代

展开节点的后代允许您立即查看由该节点引起的所有事件。此操作会显示以所选节点为根的子图。

切换节点和边类型

有时,节点或边可能与当前事件无关,您可以切换边和节点类型的显示/隐藏。一旦切换类型,该类型的节点或边就会从可见图中移除。

关闭节点类型会阻止该节点类型在变异器或拉入邻居时被使用。

撤销/重做操作与重置

图中的任何操作都可以立即撤销!使用撤销/重做按钮可以还原您执行的任何操作。重置按钮会将图状态设置回其加载时的状态,免去刷新页面的麻烦。

图视角

当您使用上述操作更改图的当前状态时,您可能还希望从不同的视角查看当前可见的节点和边集合。图屏幕顶部的选项卡允许您将数据转换为多种视图:

  • 图(默认视角)
  • 树
  • 表格
  • 时间线
  • Markdown

每个视角都支持通过单击节点来聚焦节点。

下载工具