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

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

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

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

工具目录

分类

查看所有分类
Loading categories
spraycharles — 低慢速密码喷射工具,设计用于在长时间间隔内进行喷射。 | Kitploit
工具/GitHubGitHub/tw1sm/spraycharles
密码破解密码攻击Web安全渗透测试身份验证
GitHubtw1sm/spraycharles

spraycharles

低慢速密码喷射工具,设计用于在长时间间隔内进行喷射。

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

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

Spraycharles

嘿,哟,我感觉自己像 spraycharles——Chiddy Bang

Python PyPi

一款低慢速密码喷射工具,旨在长时间内按间隔进行喷射。

包含针对 Office365、OWA、EWS、Okta、ADFS、Cisco SSL VPN、Citrix Netscaler、Sonciwall、NTLM over HTTP 和 SMB 的喷射插件。

相关博客文章由 @sprocket_ed 撰写,介绍了 NTLM over HTTP、Exchange Web Services 和 Spraycharles。

这个工具是什么?

Spraycharles 是一个相对简单的密码喷射器,诞生于渗透测试中缺乏公开工具、无法以非手动方式持续进行密码喷射的时期。Spraycharles 最好的功能之一可能是通过 -a/--attempts 和 -i/--interval 设置长时间运行的喷射任务,让它连续运行几天,同时定期检查进度。如果你有一次性服务或独特的目标需要喷射,也很容易模板化新模块并开始喷射。

这个工具不是什么?

Spraycharles 最初并非针对现代认证/云提供商设计。如果你需要更高级的功能,可以查看 CredMaster 或 TeamFiltration 等工具。Spraycharles 并非设计为快速——它是单线程的,更侧重于持续大量尝试。

安装

可以通过 pip3 install spraycharles 安装 Spraycharles,或者克隆此仓库并运行 pip3 install .

[!TIP] 这将注册 spraycharles 及其简写 sc 别名到你的路径中。日志和输出文件存储在 ~/.spraycharles 中。可以使用 CLI 标志指定其他输出位置。

使用 Docker

执行以下命令构建 Spraycharles Docker 容器:

git clone https://github.com/Tw1sm/spraycharles
cd spraycharles/extras
docker build . -t spraycharles

执行以下命令使用 Spraycharles Docker 容器:

docker run -it -v ~/.spraycharles:/root/.spraycharles spraycharles -h

你可能需要根据用户名和密码列表的存储位置指定额外的卷。

NixOS

对于 Nix 或 NixOS 用户,有可用的软件包。请注意,最新版本可能仅存在于 unstable 频道中。

nix-env -iA nixos.spraycharles

用法

spray 子命令:

 Usage: spraycharles spray [OPTIONS] COMMAND [ARGS]...

 低慢速密码喷射

╭─ 选项 ─────────────────────────────────────────────────────────────────────────────╮
│ --debug                 启用调试日志(覆盖 --quiet)                                │
│ --config          TEXT  配置文件                                                     │
│ --help    -h            显示此消息并退出                                            │
╰───────────────────────────────────────────────────────────────────────────────────────╯
╭─ 用户/密码配置 ────────────────────────────────────────────────────────────────────╮
│ *  --usernames  -u      TEXT  用户名单的文件路径 [默认: None]                       │
│                               [必填]                                                │
│ *  --passwords  -p      TEXT  单个密码或密码列表的文件路径                          │
│                               [默认: None]                                          │
│                               [必填]                                                │
│    --equal      -e            为每个用户执行一次密码等于用户名的喷射                │
╰───────────────────────────────────────────────────────────────────────────────────────╯
╭─ 喷射目标 ───────────────────────────────────────────────────────────────────────────╮
│    --host      -H      TEXT                           要执行密码喷射的主机(IP 或  │
│                                                        主机名)。使用 Office365    │
│                                                        模块时可任意指定,仅用于     │
│                                                        日志文件名                   │
│                                                        [默认: None]                 │
│ *  --module    -m      [ADFS|CiscoSSLVPN|Citrix|NTLM  与目标主机对应的模块          │
│                        |Office365|Okta|OWA|SMB|Sonic  [默认: None]                  │
│                        wall]                                                         │
│                                                        [必填]                       │
│    --path              TEXT                           NTLM 认证端点                 │
│                                                        (例如 rpc 或 ews)             │
│                                                        [默认: None]                 │
│    --port      -P      INTEGER                        指定主机上的连接端口          │
│                                                        [默认: 443]                  │
│    --fireprox  -f      TEXT                           所需的 fireprox 接口的 URL    │
│                                                        [默认: None]                 │
│    --domain    -d      TEXT                           HTTP - 在用户名前添加 DOMAIN\ │
│                                                        ;SMB - 提供 SMB 连接的域     │
│                                                        [默认: None]                 │
│    --no-ssl                                           使用 HTTP 而非 HTTPS          │
╰───────────────────────────────────────────────────────────────────────────────────────╯
╭─ 输出 ──────────────────────────────────────────────────────────────────────────────╮
│ --output   -o      TEXT  结果输出文件的名称和路径 [默认: None]                       │
│ --quiet                  不将每次登录尝试记录到控制台                                │
│ --analyze                在每个喷射间隔后运行结果分析器(早期误报更有可能出现)      │
╰───────────────────────────────────────────────────────────────────────────────────────╯
╭─ 喷射行为 ──────────────────────────────────────────────────────────────────────────╮
│ --attempts    -a      INTEGER  每个间隔的登录提交次数(针对每个用户)                │
│                                [默认: None]                                         │
│ --interval    -i      INTEGER  登录间隔之间的分钟数 [默认: None]                     │
│ --timeout     -t      INTEGER  Web 请求超时阈值 [默认: 5]                           │
│ --jitter              INTEGER  请求之间的抖动时间(秒)                              │
│                                [默认: None]                                         │
│ --jitter-min          INTEGER  请求之间的最小时间(秒)                              │
│                                [默认: None]                                         │
│ --pause                       如果在间隔之间发现新的潜在成功登录,则暂停喷射        │
╰───────────────────────────────────────────────────────────────────────────────────────╯
╭─ 通知 ───────────────────────────────────────────────────────────────────────────────╮
│ --notify   -n      [Slack|Teams|Discord]  启用 Slack、Teams 或 Discord 的通知       │
│                                           [默认: None]                              │
│ --webhook  -w      TEXT                    用于指定通知模块的 Webhook                │
│                                           [默认: None]                              │
╰───────────────────────────────────────────────────────────────────────────────────────╯

配置文件

由于经常使用大量 CLI 标志,另一种方法是使用 --config 标志从 yaml 文件填充命令行参数。此外,每次使用 Spraycharles 时,你的 CLI 选项都会写入当前目录下的一个 yaml 文件(last-config.yaml),方便修改和重复使用。

通知

Spraycharles 可以在潜在成功登录尝试后向 Discord、Slack 和 Microsoft Teams 发出通知。可以通过 utils/notify.py 脚本扩展此通知提供程序列表。对于任何潜在的通知代理,你必须指定其名称和 Webhook URL。

你可以通过配置文件指定这些参数以简化命令:

notify: Slack
webhook: https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX

发送给任何提供商的通知将包含喷射任务的目标主机名。这在同时喷射多个目标时特别有用。

更新用户名/密码文件

你可以在喷射进行中修改提供的用户名和密码文件。对列表的添加或删除将在下一次密码轮换时生效。

[!NOTE] 如果你在列表中插入一个新密码,它必须位于当前正在喷射的密码之后,才能被喷射(Spraycharles 维护一个内部循环计数器,用作索引,以从更新后的列表中对应位置提取下一个密码)。

实用工具

Spraycharles 附带一些额外的实用工具,用于辅助喷射工作。Spraycharles 模块的完整列表:

 Usage: spraycharles [OPTIONS] COMMAND [ARGS]...
下载工具