Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

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

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

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

工具目录

分类

查看所有分类
Loading categories
spyre — 简单的基于YARA的IOC扫描器 | Kitploit
工具/GitHubGitHub/spyre-project/spyre
危害指标 (IOC) 管理取证分析恶意软件分析事件响应
GitHubspyre-project/spyre

spyre

简单的基于YARA的IOC扫描器

查看仓库
181305个月前Kitploit 审核通过

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

Spyre

Build Status

...一款简单、独立的模块化主机入侵指标扫描器

Spyre 是一款基于 YARA 模式匹配引擎及其他扫描模块的简单主机入侵指标扫描器。该项目的主要目标是让 YARA 规则和其他入侵指标易于投入实际使用。

用户需要自行准备规则集。awesome-yara 仓库提供了互联网上免费 YARA 规则集的良好概览。

Spyre 旨在供事件响应人员用作调查工具。它不打算发展成任何形式的端点保护服务。

开始使用

使用 Spyre 很简单:

  1. 添加 YARA 签名。在默认配置中,Spyre 会分别从 filescan.yar 和 procscan.yar 读取用于文件和进程扫描的 YARA 规则。向 Spyre 提供规则文件有以下几种方式(将按此顺序尝试):

    1. 将规则文件添加到 ZIP 文件中,然后将该 ZIP 文件附加到二进制文件末尾。
    2. 将规则文件添加到一个 ZIP 文件中,该 ZIP 文件的基本名称与扫描器二进制文件的基本名称相同,即如果 Spyre 二进制文件名为 spyre 或 spyre.exe,则使用 spyre.zip。
    3. 将规则文件和扫描器二进制文件放在同一目录下。

    可以使用密码 infected(反病毒行业标准)对 ZIP 文件内容进行加密,以防止反病毒软件扫描规则集,将其归类为恶意内容并阻止扫描。

    YARA 规则文件可以包含 include 语句。

  2. 部署并运行扫描器。

  3. 收集报告和证据。

配置

运行时配置通过可选的配置文件 spyre.yaml 完成。

如果已将 ZIP 文件附加到 Spyre 二进制文件,则配置和其他文件(如 YARA 规则)仅从该 ZIP 文件中读取。否则,从二进制文件所在目录读取。

示例配置请参见 example-configuration/ 子目录。

全局配置

  • hostname / 命令行开关 --set-hostname:显式设置将在日志文件和报告中使用的主机名。通常不需要。

  • max-file-size / 命令行开关 --max-file-size:使用 YARA 等昂贵文件扫描模块扫描的文件的最大大小。默认值:32MB

  • proc-ignore-names / 命令行开关 --proc-ignore:不进行进程内存扫描的进程名称。

  • paths / 命令行开关 --path:使用文件扫描模块扫描的路径。默认值:/(Unix)或所有固定驱动器(Windows)。

  • report / 命令行开关 --report:设置一个或多个报告目标。默认值:当前工作目录下的 spyre_${hostname}_${time}.log,使用纯文本格式。可以通过添加 ,format=FORMAT 来指定不同的输出格式。

    目前支持以下格式:

模块特定配置

目前有三个可以实施扫描模块的领域:系统级检查、文件扫描和进程扫描。

下面列出当前已实现的模块及其支持的配置参数。

  • system
    • eventobj (Windows)
      • iocs
    • registry (Windows)
      • iocs
    • winkernelobj (Windows)
      • iocs
      • conficker,布尔值:是否应将动态(基于主机/进程)的 Conficker IOC 添加到 IOC 列表中?(默认值:false)
    • findwindow (Windows)
      • iocs
  • file
    • yara
      • rule-files
      • fail-on-warnings

有关如何描述每个模块的入侵指标的提示,请参阅示例配置文件 example-spyre.yaml。

关于 YARA 规则的说明

YARA 使用默认设置编译,并附加了以下显式开关(参见 3rdparty.mk):

  • --disable-magic
  • --disable-cuckoo
  • --enable-dotnet
  • --enable-macho
  • --enable-dex

对于文件扫描,定义了以下变量:

  • filename,
  • filepath,
  • extension,
  • filetype(扫描时当前未填充)

对于进程扫描,定义了变量 pid 和 executable。

可以使用元变量 spyre_collect_limit 来限制从匹配文件中收集的写入次数,或完全禁止收集文件。这有助于限制证据包的大小,并避免收集敏感信息。

构建

Spyre 可以为 32 位和 64 位的 Linux 和 Windows 目标构建。

Debian Buster (10.x) 及更高版本

在已安装以下软件包的 Debian/buster 系统(或 chroot)上:

  • make
  • gcc
  • gcc-multilib
  • gcc-mingw-w64
  • autoconf
  • automake
  • libtool
  • pkg-config
  • wget
  • patch
  • sed
  • golang-$VERSION-go,例如 golang-1.8-go。除非设置了 GOROOT,否则 Makefile 会自动选择最新版本。
  • git-core
  • ca-certificates
  • zip

这是通过 CI 定期测试的构建环境。

Fedora 30 及更高版本

相同的构建也已在 Fedora 30 上成功尝试,并安装了以下软件包:

  • make
  • gcc
  • mingw{32,64}-gcc
  • mingw{32,64}-winpthreads-static
  • autoconf
  • automake
  • libtool
  • pkgconf-pkg-config
  • wget
  • patch
  • sed
  • golang
  • git-core
  • ca-certificates
  • zip

安装所有内容后,只需输入 make。这将下载 musl-libc、openssl、yara 的存档,构建它们,然后构建 spyre。

裸 spyre 二进制文件创建在 _build/<triplet>/ 目录下。

运行 make release 会创建一个 ZIP 文件,其中包含所有支持架构的这些二进制文件。

生成与旧版 Windows XP、Windows Server 2003 兼容的二进制文件

这些系统的兼容性在 Go 1.11 中被移除,因此需要 Go 1.10 工具链。由于 Go 1.10 不支持 Go 模块,因此必须将第三方 Go 依赖项进行 vendor:使用较新的 Go 版本执行此操作(只需运行 go vendor),并在运行 make 之前将 GOROOT 设置为指向 Go 1.10 工具链。

Mac OS X

目前不支持交叉编译。

  • Xcode 的 GCC
  • 来自 Homebrew 的构建依赖项:
    • gnu-make
    • autoconf
    • automake
    • libtool
    • pkg-config
    • wget
    • gpatch
    • gnu-sed
    • gnu-tar
    • go
    • git
    • ca-certificates
    • zip

系统自带的 make 太旧,因为 Apple 对 GPLv3 过敏。Homebrew 中的 gmake 可以正常工作。

编码

参见 HACKING.md

版权

Copyright 2018-2020 DCSO Deutsche Cyber-Sicherheitsorganisation GmbH

Copyright 2020-2021 Spyre Project Authors (参见:AUTHORS.txt)

许可

本程序是自由软件:您可以重新分发和/或修改它,前提是遵守由自由软件基金会发布的 GNU Lesser General Public License 的条款,即许可证的第三版,或(根据您的选择)任何更高版本。

完整许可文本请参见 LICENSE 文件。

下载工具
  • plain,默认格式,一种简单的可读文本格式。
  • tsjson,一种可导入 Timesketch 的 JSON 文档。

hostname 和 time 变量仅在目标文件名中展开。

注意: 报告目标的配置可能在下一个版本中发生变化。

  • high-priority / 命令行开关 --high-priority:在默认配置(禁用此设置)下,Spyre 会指示操作系统调度程序降低 CPU 时间和 I/O 操作的优先级,以避免干扰正常系统运行。

  • 命令行开关 --loglevel=LEVEL:设置日志级别。有效值:trace, debug, info, notice, warn, error, quiet。

  • proc
    • yara
      • rule-files
      • fail-on-warnings