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

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

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

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

工具目录

分类

查看所有分类
Loading categories
omnibus — OSINT 综合工具包(测试版) | Kitploit
工具/GitHubGitHub/inquest/omnibus
危害指标 (IOC) 管理OSINT (开源情报)侦察信息收集威胁情报
GitHubinquest/omnibus

omnibus

OSINT 综合工具包(测试版)

查看仓库
359766年前Kitploit 审核通过

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

OSINT Omnibus

  • 由 InQuest 开发与维护
  • Release
  • Rawsec's CyberSecurity Inventory

目录

  • OSINT Omnibus
    • Omnibus
      • 文档
      • 术语
      • 运行 Omnibus
        • API 密钥
      • 交互式控制台
      • 工件
        • 概览
        • 创建与管理工件
      • 会话
      • 模块
      • 机
      • 报告
      • 监控模块

OSINT Omnibus

  • 由 InQuest 开发与维护
  • Release
  • Rawsec's CyberSecurity Inventory

Omnibus

Omnibus 的定义是“一本包含多部先前单独出版的小说或其他内容的合集”,这正是 InQuest Omnibus 项目对于开源情报收集、研究和工件管理的目标。

通过提供易于使用的交互式命令行应用程序,用户可以创建会话以调查各种工件,例如 IP 地址、域名、电子邮件地址、用户名、文件哈希、比特币地址等,并且我们将继续扩展。

该项目借鉴了之前出色的工具,如 SpiderFoot、Harpoon 和 DataSploit。非常感谢这些优秀作者为开源世界所做的贡献。

该应用程序使用 Python 2.7 编写,并已在 OSX 和 Ubuntu 16.04 环境中成功测试。

这是最终应用程序的测试版,因此在使用过程中可能会出现一些错误或其他异常情况。总体而言,Omnibus 功能完整,可以立即用于开始 OSINT 调查。

贡献

Omnibus 采用模块化方式构建,允许轻松添加 OSINT 数据源模块和导入/导出模块。每个类别的模块都包含在单个目录中,只需添加几行代码,您的模块就可以成为下一个!

随着 Wiki 的持续发展,我们将提供编写自定义插件的完整示例。

如果您发现任何错误或其他问题,请创建一个 Issue 和/或 Pull Request。我们也非常希望社区支持创建更多模块并扩展 Omnibus 的用例。欢迎 Fork 和 Pull Request 来添加新功能!

文档

本 README 文件作为 Omnibus 及其功能的快速概述。完整文档位于此存储库的 'docs' 文件夹中。

术语

在开始之前,我们需要了解一些 Omnibus 使用的术语。

  • 工件:
    • 要调查的项目
    • 工件可以通过两种方式创建:
      • 使用 new 命令,或通过模块执行发现
  • 会话:
    • 启动 Omnibus CLI 后创建的工件缓存
    • 会话中的每个工件都有一个 ID,用于快速识别和从缓存中检索该工件
    • 可以通过提供工件名称或其对应的会话 ID 来对工件执行命令
  • 模块:
    • 执行针对工件的某些任意 OSINT 任务的 Python 脚本

运行 Omnibus

启动 Omnibus 进行调查只需克隆此 GitHub 存储库,使用 pip install -r requirements.txt 安装 Python 依赖项,然后运行 python omnibus-cli.py 即可。

Omnibus Shell - 主启动画面 Alt text

关于 CLI 的可视化参考,上图显示的是 Omnibus 控制台,其中新会话已启动,已向会话中添加 2 个工件,并显示了 help 菜单。

API 密钥

您必须在 omnibus/etc/apikeys.json 文件中设置要使用的任何 API 密钥。 该文件是一个 JSON 文档,其中包含了所有需要 API 密钥的服务的占位符,Omnibus 仅在每个模块的基础上访问该文件,以检索模块执行所需的确切 API 密钥。

需要注意的是,大多数需要 API 密钥的服务都提供免费账户和 API 密钥。某些免费账户可能有较低的资源限制,但在较小的日常调查或测试应用程序期间,这通常不是问题。

实用提示:使用 cat apikeys 命令查看您已存储的密钥。 如果模块失败或未返回结果,请先检查此处以确保您的 API 密钥已正确保存。

交互式控制台

当您首次运行 CLI 时,会看到一个帮助菜单,其中包含一些基本信息。 Omnibus 尝试使用模仿一些常见 Linux 命令的命令,以提供熟悉感和易用性。例如,命令 cat 用于显示工件信息,rm 用于从数据库中移除工件,ls 用于查看当前会话工件,以及使用 > 字符支持任何命令的输出重定向。

作为输出重定向的示例,如果您想检索名为 "inquest.net" 的工件的详细信息并保存到本地磁盘上的 JSON 文件中,只需运行以下命令: cat inquest.net > inquest-report.json 就可以了! 此功能也支持完整文件路径而非相对路径。

Omnibus 中最常用的高级命令有:

  • session
    • 启动新会话
  • new <工件名称>
    • 创建要调查的新工件
  • modules
    • 显示可用模块列表
  • open <文件路径>
    • 加载文本文件工件列表到 Omnibus 中作为工件
  • ls
    • 显示所有活动工件
  • rm
    • 从数据库中移除工件
  • wipe
    • 清除当前工件会话
  • cat <工件名称 | 会话 ID>
    • 查看美化后的 JSON 数据库记录
  • <模块名称> <工件名称 | 会话 ID>
    • 对工件运行模块以查看和存储结果
    • 从执行模块中新发现的工件会作为原始工件的子工件被添加,并在数据库中创建为它们自己的新工件
  • <机名称> <工件名称 | 会话 ID>
    • 针对指定工件运行该工件类型的所有模块
    • 所有结果都会显示在输出中并存储到数据库
    • 提供了一种一次性收集大量信息的简便方法

如果您需要快速参考应用程序不同区域可用的不同命令,有专门为此目的设计的子帮助菜单。使用这些命令将仅显示与特定区域相关的可用命令:

  • general
    • 全局命令,如 help、history、quit、set、clear、banner 等
  • artifacts
    • 显示特定于工件及其管理的命令
  • sessions
    • 显示有关管理会话的有用命令
  • modules
    • 显示所有可用模块的列表

工件

概览

大多数网络调查从一个或多个技术指标开始,例如 IP 地址、文件哈希或电子邮件地址。在搜索和分析之后,关系开始形成,您可以围绕连接的数据点进行 pivot。这些数据点在 Omnibus 中被称为工件,代表您想要调查的任何项目。

工件可以是以下类型之一:

  • IPv4 地址
  • FQDN(完全限定域名)
  • 电子邮件地址
  • 比特币地址
  • 文件哈希(MD5、SHA1、SHA256、SHA512)
  • 用户名

创建与管理工件

命令“new”后跟一个工件将在您的 Omnibus 会话中创建该工件,并将工件的记录存储在 MongoDB 中。该记录包含工件名称、类型、子类型、模块结果、来源、备注、标签、子工件信息(根据需要)以及创建时间。 每次您对已创建或已存储的工件运行模块时,数据库文档都会更新以反映新发现的信息。

要创建新工件并将其添加到 MongoDB 进行跟踪,请运行命令 new <工件名称>。例如,要开始调查域名 inquest.net,您可以运行 new inquest.net。

Omnibus 会自动确定工件的类型,并确保仅对该类型执行相应的模块。如果您尝试对不支持该工件类型的模块运行工件,您会收到一条警告消息,其中列出可接受的类型。

当执行模块时,可能会在发现过程中找到新的工件。例如,运行“dnsresolve”命令可能会发现 Omnibus 之前未见过的新 IPv4 地址。在这种情况下,这些新发现的工体会自动作为新工件在 Omnibus 中创建,并通过一个额外的字段“source”链接到其父工件,以标识它们最初是从哪个模块发现的。在此示例中,新创建工件的来源将是“dnsresolve”。

可以使用“rm”命令从数据库中移除工件。如果您不再需要某个工件,只需运行删除命令并指定工件的名称或会话 ID(如果有的话)。

会话

Omnibus 使用一项称为“会话”的功能。会话是每次启动 CLI 会话时通过 Redis 创建的临时缓存。每次创建工件时,该工件名称都会与会话一起添加,并附带一个数字键,以便于检索、搜索和针对相关工件的操作。 例如,如果您的会话中只有一个项目“inquest.net”,则无需执行 virustotal inquest.net,您也可以运行 virustotal 1,并且会得到相同的结果。实际上,这对任何将工件名称作为第一个参数的模块或命令都有效。

使用会话 ID 而非工件名称进行交互 Alt text

会话用于方便访问工件,每次退出命令行会话时都会被清除。 如果您希望提前清除会话,请运行命令“wipe”,您将获得一个干净的 slate。

模块

Omnibus 目前支持以下模块列表。如果您有模块建议或想自己编写一个,请创建一个 pull request。

另外,在 Omnibus 控制台中,输入模块名称将显示与该模块相关的帮助信息。

模块

  • Blockchain.info
  • Censys
  • ClearBit
  • CSIRTG
  • Cymon
  • DNS 解析
  • DShield (SANS ISC)
  • Full Contact
  • 地理位置
  • GitHub 用户名搜索
  • HackedEmails.com
  • HaveIBeenPwned.com
  • Hurricane Electric
  • IPInfo
  • IPVoid
  • Keybase 用户名查找
  • NMap 扫描器
  • OTX (AlienVault)
  • PassiveTotal
  • PGP 密钥搜索
  • RSS 阅读器
  • Shodan
  • ThreatCrowd
  • ThreatExpert
  • Twitter
  • URLVoid
  • VirusTotal
  • WHOIS
  • WhoisMind

机

机是一种简单的方法,可以针对给定的工件运行该工件类型的所有可用模块。如果您想使用单个命令快速收集尽可能多的目标信息,这是一种快速的方式。

要执行此操作,只需运行命令 machine <工件名称|会话 ID>,然后等待几分钟直到模块执行完毕。

唯一的缺点是,根据工件类型和每个模块的结果,这可能会返回大量数据和子工件。为了解决这个问题,我们正在研究一种方法,可以从存储的数据库文档中移除特定的工件字段,以便用户更容易修剪不需要的数据。

快速参考指南

一些需要记住的快速命令:

  • session - 启动新的工件缓存
  • cat <工件名称>|apikeys - 美化打印工件文档或查看您存储的 API 密钥
  • open <文件路径> - 加载文本文件工件列表到 Omnibus 中进行调查
  • new <工件名称> - 创建新工件并将其添加到 MongoDB 和您的会话中
  • find <工件名称> - 检查工件是否存在于数据库中并显示结果

报告

报告是工件数据库文档的 JSON 输出,本质上是“cat”命令输出的文本文件版本。但是,通过使用 report 命令,您可以指定一个工件和要保存输出的文件路径:

  • omnibus >> report inquest.net /home/adam/intel/osint/reports/inq_report.json

上面的命令会覆盖默认的报告目录 omnibus/reports。默认情况下,如果您没有指定报告路径,所有报告都将保存到该位置。另外,如果您没有指定文件名,报告将使用以下格式:

  • [工件名称]_[时间戳].json

重定向

命令的输出也可以使用标准 Linux 字符 > 保存到任意文本文件中。 例如,如果您想将主机 VirusTotal 查找的输出存储到一个名为 "vt-lookup.json" 的文件中,您只需执行:

  • virustotal inquest.net > vt-lookup.json

默认情况下,重定向的输出文件保存在当前工作目录中,即 "omnibus/"。但如果您指定完整路径,例如 virustotal inquest.net > /home/adam/intel/cases/001/vt-lookup.json,JSON 格式的输出将保存在那里。

下载工具