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

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

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

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
nebulousAD — NebulousAD 自动化凭据审计工具。 | Kitploit
工具/GitHubGitHub/nuid/nebulousad
密码破解密码攻击漏洞分析身份与访问管理 (IAM)身份验证API 安全Archived
GitHubnuid/nebulousad

nebulousAD

NebulousAD 自动化凭据审计工具。

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

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
网站

⚠️ NebulousAD 用户须知

自4月14日起,NuID 将不再托管此代码所通信的 NebulousAD API。作为一个小型开发团队,我们发现无法同时有效支持、监控和开发 NebulousAD 门户以及我们的认证 开发者门户。

检查 Active Directory 密码是否属于公开泄露凭据集的代码将继续保留在此仓库中。我们将在未来几个月内,将大家通过 NebAD 体验中给予的宝贵反馈整合到我们的认证 API 中,以提供无缝的密码黑名单服务。敬请期待!

感谢大家过去参与和反馈,期待未来继续交流。如有任何关于 NebAD、NuID 或数字身份相关的问题,欢迎随时联系我们。

再见! -NuID 团队

NebulousAD

快速链接

  • 关于
  • 未来版本
  • 安装
  • 使用
  • Nebulous REST API
  • 已知问题

关于

NebulousAD 是一个用于审计 Active Directory 用户密码是否存在于数据泄露中已泄露密码数据库的工具。该工具旨在帮助 Windows 系统管理员发现并(可选)修复使用已泄露密码的问题。此方法符合 NIST 800-63B 的建议,有助于防范凭据喷洒和凭据填充攻击。

Nebulous 数据库目前包含超过 25 亿个泄露密码的唯一哈希值。

NebulousAD 默认使用 k-匿名模型来保护向 API 检查的密码的隐私和安全。仅发送 SHA-2 哈希的前五个字符到 API。您可以在 此处 了解更多关于 k-匿名的信息。

该工具最初在 BSides Las Vegas 2019 上发布。BSides 演讲视频在 这里。

未来版本:

即将推出的功能:

  • 按组排除。允许您省略对特定 AD 组成员的哈希检查。

安装

只需下载预编译版本(无需 Python 解释器),或从源码构建:

此工具需要 Python2.7(暂时)。

运行 git clone https://github.com/NuID/nebulousAD.git

然后使用 python setup.py install 安装

接着初始化您的密钥。您可以在 https://nebulous.nuid.io/#/register 获取密钥。 注册后,点击按钮生成您的 API 密钥并复制。

现在可以这样初始化密钥:nebulousAD -init-key <api_key>

现在您可以运行该工具。如果找不到您的 API 密钥,您可能需要重启终端会话。 API 密钥存储在环境变量中。注销并重新登录也有效。

编译静态二进制文件

您可以在此处下载 nebulousAD.exe 文件,以便在没有解释器的情况下使用:这里 或者,您可以自己从源码编译该工具:

  1. pip install pyinstaller
  2. git clone https://github.com/NuID/nebulousAD.git
  3. cd .\nebulousAD\nebulousAD
  4. pyinstaller --onefile nebulousAD.py

Pyinstaller 会输出编译二进制文件的位置:

示例

使用

转储所有哈希并对其检查 API 的示例命令: nebulousAD.exe -v -snap --check

NuID Credential Auditing tool.

optional arguments:
  -h, --help            show this help message and exit
  -ntds NTDS            NTDS.DIT file to parse
  -system SYSTEM        SYSTEM registry hive to parse
  -csv CSV              Output results to CSV file at this PATH.
  -json JSON            Output results to JSON file at this PATH
  -init-key INIT_KEY    Install your Nu_I.D. API key to the current users
                        PATH.
  -c, --check           Check against Nu_I.D. API for compromised
                        credentials.
  -dk, --disable-k-anon
                        Disable k-anon hash searches against the API (speeds
                        up the audit).
  -snap                 Use ntdsutil.exe to snapshot the system registry
                        hive and ntds.dit file to <systemDrive>:\Program
                        Files\NuID\
  -shred                When performing delete operations on files, use a 7
                        pass overwrite with sdelete.exe. Download here:
                        https://docs.microsoft.com/en-
                        us/sysinternals/downloads/sdelete
  -no-backup            Do not backup the existing snapshots, just overwrite
                        them instead.
  -clean-old-snaps CLEAN_OLD_SNAPS
                        Clean backups older than N days.

display options:
  -user-status          Display whether or not the user is disabled
  -pwd-last-set         Shows pwdLastSet attribute for each account found
                        within the NTDS.DIT database.
  -history              Dump NTLM hash history of the users.
  -v                    Enable verbose mode.

--disable-k-anon

禁用 k-匿名哈希检查功能。这有助于加快搜索速度,但会导致完整的 SHA-256(NTLM) 哈希发送到 API。我们不会记录或存储发送到 API 的哈希。

-snap

-snap 参数将自动对 Active Directory 进行快照(使用 ntdsutil.exe),并转储 ntds.dit 文件以及 SYSTEM 注册表配置单元(如果您拥有相应权限)。 您可以使用多种方法或 ntdsutil.exe 工具手动转储。

如果手动转储,可以使用 -system path\to\SYSTEM 和 -ntds path\to\ntds.dit 指向文件。这对于审计旧快照很有用。

--check

这需要来自 https://nebulous.nuid.io/#/register 的 API 密钥。获得密钥并使用 -init-key 安装后,您可以对照 NuID API 检查哈希。 如果您指定了 -history,它还将检查每个帐户的密码历史记录,以查看用户以前使用过的密码是否已被泄露。

-user-status

添加输出,指示帐户在 Active Directory 中是启用还是禁用。

-pwd-last-set

添加输出,指示帐户密码最后设置的日期。 这在检测违反安全策略的帐户(例如未按照 GPO 定义自动重置的服务帐户)时非常有用。

-history

同时审计或转储帐户存储的密码历史记录。

-shred

在擦除快照时使用 DoD 7 次覆写。这需要将 sdelete.exe 放在您的路径中。您可以在此处获取: https://docs.microsoft.com/en-us/sysinternals/downloads/sdelete

只需下载并将其放在您的 %SYSTEMDRIVE\Windows\System32\ 目录中,或设置环境变量。

-clean-old-snaps

当将此应用程序设置为与任务计划程序一起运行时,清理备份非常有用。在较大的域中,SYSTEM 配置单元和 .dit 文件可能相当大,占用大量磁盘空间。 如果您使用任务计划程序进行每日审计,可以这样使用此选项:-clean-old-snaps 7 以仅存储 1 周的快照。

-no-backup

如果我们检测到旧的快照,默认情况下会将其备份到 %SYSTEMDRIVE%\Program Files\NuID\snapshot-backups。 这是因为 ntdsutil.exe 需要空目录。 如果要禁用此备份并直接覆盖当前快照,请使用此参数。

Nebulous REST API

提供了一个 RESTful Web API,允许用户使用生成的 NuID API 令牌构建自己的自定义客户端。本节概述了 Web API 的正确功能、有效请求、错误类型等。

响应

每个响应的基本结构都是相同的。无例外,响应必须包含以下三个字段:success、data 和 error。收到响应后,首先要确定 success 的值。这将决定您应该继续处理 data 对象,还是处理 error 对象。以下示例显示了成功和失败情况下来自服务器的通用响应:

成功

{
    success: True,  // 表示请求成功完成
    data: {
        /* 值取决于查询的端点 */
    },
    error: {} // 空
}

失败

{
    success: False,  // 表示请求未成功完成
    data: { },  // 空
    error: {
        "ErrorName": "关于请求期间发生错误的帮助性描述"
    }
}

错误

每个错误都提供了请求过程中出错的线索,使用户能够进行必要的更改。

错误名称描述状态码
ActionExpired您尝试调用的操作已过期,不再有效401
ActionInvalid您尝试调用的操作不存在401
AuthFailure无效的用户名/密码组合401
AuthMissingToken未提供认证令牌401
FieldMissingJSON 请求中缺少一个或多个字段422
HashInvalidLength提供的哈希值与给定哈希类型的预期长度不匹配422
HashInvalidValue预期十六进制哈希表示形式422
HashInvalidPrefix前缀长度至少为 5 个字符422
HashUnsupported提供的哈希类型不受支持422
InvalidJWT提供的 JWT 无效401
InvalidRequest提供的请求格式错误或缺少 JSON 负载422
KeyBadUser提供的 API 密钥与预期用户不匹配401
KeyDisabled提供的 API 密钥已禁用403
KeyInvalid提供的 API 密钥无效401
KeyMissing未提供 API 密钥401
NotFound您尝试访问的端点无效404
PasswordIncorrect当前密码不匹配401
UserDisabled该帐户当前已禁用401
UserKeyLimit您已达到 API 密钥的最大数量403
UserNotActivated用户帐户尚未激活403
UserNotFound找不到用户帐户401

支持的哈希

目前仅支持一种 hash_type。这些值(不区分大小写)可用于替代 hash_type。同时提供了 hash_value 的十六进制字符串表示的大小。hash_prefix 不能超过此大小:

哈希长度
NTLMSHA264

API 端点

所有 API 端点请求必须提供以下 HTTP 头,否则将返回错误:

X-NUID-API-KEY:   <您的 NuID API 密钥>

每个端点以以下 URL 开头:

https://nebulous.nuid.io
/api/search/kanon/<hash_type>/<hash_prefix>

方法: GET 描述: 使用哈希的匿名化版本查询哈希数据库。可以提供完整哈希,也可以使用至少 5 个字符长度的前缀作为部分哈希。所有与之前缀匹配的 Nebulous 数据库中的哈希都将返回,而不会泄露确切哈希本身。 响应: 以下 URL 的响应:https://nebulous.nuid.io/api/search/kanon/5f4dcc

{
  "success": true,
  "data": {
    "matches": [
      "5f4dcc3010a3b4ffd56ec97b33a0f837",
      "5f4dcc3b5aa765d61d8327deb882cf99",
      "5f4dcc3b5bef0f9cc4c0f96d758010b8"
    ]
  },
  "error": {}
}
/api/search/kanon/<hash_type>

方法: POST POST 数据:

{
    "prefix": "<哈希前缀>"
}

描述: 使用哈希的匿名化版本查询哈希数据库。可以提供完整哈希,也可以使用至少 5 个字符长度的前缀作为部分哈希。所有与之前缀匹配的 Nebulous 数据库中的哈希都将返回,而不会泄露确切哈希本身。 响应: 以下 URL 的响应:https://nebulous.nuid.io/api/search/kanon 及数据 {"prefix": "5f4dcc"}

{
  "success": true,
  "data": {
    "matches": [
      "5f4dcc3010a3b4ffd56ec97b33a0f837",
      "5f4dcc3b5aa765d61d8327deb882cf99",
      "5f4dcc3b5bef0f9cc4c0f96d758010b8"
    ]
  },
  "error": {}
}

已知问题

impacket 中似乎存在一个错误,导致无法正确提取 nthash。 目前请避免使用 -history 参数。

https://github.com/SecureAuthCorp/impacket/issues/395 https://github.com/SecureAuthCorp/impacket/issues/660

遇到问题?

请通过 [email protected] 联系我们。

下载工具