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

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

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

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

工具目录

分类

查看所有分类
Loading categories
jackdaw — 收集 收集 收集 | Kitploit
工具/GitHubGitHub/skelsec/jackdaw
密码破解信息收集渗透测试异常检测
GitHubskelsec/jackdaw

jackdaw

收集 收集 收集

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

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

jackdaw

收集 收集 收集 jackdaw_card

这是什么?

Jackdaw 旨在收集你域中的所有信息,将其存储到 SQL 数据库中,并以精美的图形展示域对象之间的交互关系,以及潜在攻击者可能如何利用这些交互。 它还附带一个便利的功能,可帮你处理密码破解项目:存储/查找/报告哈希/密码/用户。

快速使用信息

  • 如果不使用自动收集(例如不在 Windows 上),你需要通过 dbinit 创建一个初始空数据库
  • 首先你需要执行 enum。在 Windows 上可以双击可执行文件或输入 jackdaw.exe auto 自动完成。
  • 其次你需要运行 nest 来启动 Web 界面。默认情况下,它提供在 http://127.0.0.1:5000/nest,还有一个 SWAGGER 文档化的 API 在 http://127.0.0.1:5000/ui。
  • 在 Web 界面中,你需要进入域视图并点击“生成图形缓存”(仅一次),将边信息存入缓存文件。可能需要一段时间,但命令行中会显示进度条。
  • 图形缓存生成后,你可以在“图形视图”中操作图形,但别忘了在左上角选择正确的缓存编号。

性能技巧/提示

本部分将根据用户反馈定期更新。

数据收集

这里没有建议,虽然代码层面可以做一些改进,但通用方法无法提供更多帮助。

图形数据缓存文件生成

每个图形都必须(且仅需一次)生成图形数据缓存文件。使用默认的 SQLAlchemy 工具可能需要较长时间。
如果你使用 SQLite 后端,并将 sqlite3 命令行工具放在 PATH 环境变量中,性能将显著提升(速度提高 50 倍以上,内存减少 20 倍)。我向所有用户推荐此做法。

路径计算与图形数据加载

这里存在一个重大的权衡。Jackdaw 的早期实现使用 networkx 模块作为图形后端,因为它完全用 Python 编写。但这带来了非常显著的内存和速度开销。为了让 Jackdaw 保持纯 Python,该选项仍然保留,但默认使用 igraph 后端。
注意:igraph 是一个带有 Python 绑定的 C++ 库。它提供了 Windows 和主流 Linux 发行版的预编译 wheel 包,但如果你在其他平台(嵌入式系统/移动设备/Web 浏览器)上使用 Jackdaw,你需要切换回 networkx,或者忍受长达数小时的编译时间。

示例命令

自动枚举 - 仅限 Windows,需使用域用户 -

无需预先初始化数据库,它会自动完成。 使用已分发的二进制文件,只需双击 jackdaw.exe
作为 Python 脚本运行:jackdaw auto

DB 初始化

jackdaw --sql sqlite:///<完整路径>/test.db dbinit
在 Linux 系统中,<完整路径> 包含开头的 /,因此文件名前会有四个 //// 斜杠。别被吓到。

枚举

使用集成 SSPI 进行完整枚举 - 仅限 Windows

jackdaw --sql sqlite:///test.db enum 'ldap+sspi-ntlm://<域>\<占位符>@10.10.10.2' 'smb+sspi-ntlm://<域>\<占位符>@10.10.10.2'

使用用户名和密码进行完整枚举 - 跨平台

密码为 Passw0rd!
jackdaw --sql sqlite:///test.db enum 'ldap+ntlm-password://TEST\victim:[email protected]' 'smb+ntlm-password://TEST\victim:[email protected]'

仅使用用户名和密码进行 LDAP 枚举 - 跨平台

密码为 Passw0rd!
jackdaw --sql sqlite:///test.db ldap 'ldap+ntlm-password://TEST\victim:[email protected]'

启动交互式 Web 界面以绘制图形并访问其他功能

jackdaw --sql sqlite:///<数据库完整路径> nest

打开 http://127.0.0.1:5000/ui 访问 API

请参阅下面的“构建 UI”部分,了解如何构建 UI。构建完成后:

打开 http://127.0.0.1:5000/nest 访问图形界面(显示图形,但远非完全可用)

功能

数据采集

通过 LDAP

LDAP 枚举阶段获取 AD 信息、用户、计算机、OU、组对象的数据,这些对象将在图中表示为节点,在数据库中表示为单独的表。此外,所有上述对象的安全描述符将被解析,DACL 的 ACL 信息将添加到数据库。这些信息连同成员资格信息将在图中表示为边。此外,必要时可以对任何上述数据类型执行自定义 SQL 查询。

通过 SMB

SMB 枚举阶段通过连接到域中的每台计算机(通过 LDAP 获取)来获取共享、本地组、会话和 NTLM 数据。

通过 Kerberos

Kerberos 模块自动执行 Kerberoasting 和 AS-REP Roasting。

通过 LSASS 转储(可选)

该框架允许用户上传 LSASS 内存转储,以存储凭据并扩展会话信息表。两者都将作为图中的附加边使用(分别为共享密码和会话)。框架还利用这些信息生成关于弱/共享/已破解凭据的密码报告。

通过 DCSYNC 结果(可选)

该框架允许用户上传 Impacket 的 DCSYNC 文件以存储凭据。这些凭据将作为图中的附加边使用(共享密码)。框架还利用这些信息生成关于弱/共享/已破解凭据的密码报告。

通过手动上传(可选)

该框架允许在各个方面手动扩展可用的数据库。例如:当发现某台计算机上的用户会话信息(不在自动枚举范围内)时,可以手动上传这些会话,这将填充数据库并更新结果图。

图形

该框架可以根据数据库中的可用信息生成图形,并通过 Web UI(nest)绘制。此外,图形的生成和路径计算可以通过编程方式调用,既可以使用 Web API(/ui 端点),也可以使用图形对象的函数。

异常检测

该框架无需生成图形即可识别常见的 AD 配置错误。目前仅通过 Web API 实现。

用户

用户异常检测包括检测不安全的 UAC 权限和过多的用户描述值。未来随着新功能的实现,此功能集预计将扩展。

计算机

计算机异常检测包括检测不安全的 UAC 权限、非强制 SMB 签名、过时的操作系统版本、脱离域的计算机。未来随着新功能的实现,此功能集预计将扩展。

密码破解

该框架不进行任何破解,仅负责整理哈希值和破解结果
目前主要关注 Impacket 和 aiosmb 的 DCSYNC 结果!仅支持 NT 和 LM 哈希!
大致流程如下:

  1. 通过 impacket/aiosmb 将凭据以文本文件形式收集,或通过你喜欢的任何工具以 LSASS 进程的内存转储形式收集。
  2. 通过 API 上传收集到的凭据
  3. 通过 API 获取未破解的哈希值
  4. 破解这些哈希值(hashcat?)
  5. 通过 API 将结果上传到框架
  6. 生成关于已破解/未破解用户、密码强度以及密码共享情况的报告

作者注:此功能既为攻击者也为了防御者实现。就个人而言,我认为双方都没有太多附加值,因为一旦获得了用户的 NT 哈希,它和密码本身的价值差不多……尽管如此,越来越多的公司正在进行密码强度评估,此功能将对他们有所帮助。对于攻击者来说:这只是在炫耀,但请自便。也许可以吓唬管理层以获得额外分数。

重要事项

该项目处于实验阶段!这意味着:

  1. 可能会崩溃
  2. 你正在使用的操作未来可能会发生变化(可能性很大)
  3. (最糟糕的部分)数据库设计不一定适合未来的需求,因此可能会发生变化。实验阶段的数据库结构将不会保持向后兼容性!

技术部分

数据库后端

Jackdaw 使用 SQLAlchemy ORM 模块,这允许你使用任何喜欢的 SQL 数据库后端。测试主要基于 SQLite,原因显而易见。本项目不会使用任何特定后端的命令来限制你。

构建 UI

仅当你通过 Git 安装和/或更改了 UI 代码时才需要执行此操作
UI 使用 React 编写。在首次使用/安装前,你需要构建它。为此,你需要安装 nodejs 和 npm。然后:

  1. 进入 jackdaw/nest/site/nui
  2. 运行 npm install
  3. 运行 npm run build

完成上述步骤后,UI 即可使用。

致谢

“如果说我看得比别人远些,那是因为我站在巨人的肩膀上。”

原创想法

BloodHound 团队

ACL 边计算

@dirkjanm (https://github.com/dirkjanm/)

出色的 UI

Zsolt Imre (https://github.com/keymandll)

数据收集部分

请参阅 aiosmb 和 msldap 模块的致谢部分

如果忘记了提及某人,请发送 PR

下载工具