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

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

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

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

工具目录

分类

查看所有分类
Loading categories
credential-attacks-toolkit — 用于授权安全测试的完整凭据攻击套件 — SSH、FTP、Web登录、暴力破解、字典攻击 | Kitploit
工具/GitHubGitHub/amibhai/credential-attacks-toolkit
侦察密码攻击渗透测试红队
GitHubamibhai/credential-attacks-toolkit

credential-attacks-toolkit

用于授权安全测试的完整凭据攻击套件 — SSH、FTP、Web登录、暴力破解、字典攻击

查看仓库
11026天前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CredAttack — 凭据攻击工具包

Release Python Protocols Tests License

⚠️ 法律声明 — 仅限授权安全测试。
使用本工具针对您不拥有或未经明确书面许可的系统进行测试,在美国《计算机欺诈与滥用法》、英国《计算机滥用法》及全球同等法律下均属违法行为。请参阅 SECURITY.md。


目录

  • 什么是 CredAttack?
  • 攻击模式
  • 支持的协议
  • 架构
  • 快速开始
  • 安装
  • CLI 参考
  • 密码变异引擎
  • 默认凭据数据库
  • 代理轮换
  • HTML 报告
  • 配置与环境变量
  • Docker
  • 测试
  • 项目结构
  • 贡献

什么是 CredAttack?

CredAttack 是一套模块化、生产级凭据测试套件,适用于授权渗透测试项目。它覆盖了完整的凭据攻击生命周期:

阶段CredAttack 能力
侦察默认凭据数据库(200+ 组合)、基于用户名的智能模式生成
攻击17 种协议攻击器、6 种攻击模式、多目标攻击活动
规避锁定检测、可配置速率限制、抖动、代理轮换

攻击模式


支持的协议


架构

root@kitploit:~
credattack.py          ← 精简入口:从检出目录执行 `python credattack.py ...`
│
├── credattack/cli.py   ← CLI(Typer)— 8 个攻击模式子命令;pip 安装后
│                          也是 `credattack` 控制台脚本
├── credattack/core/
│   ├── config.py      ← Pydantic v2 Settings,CREDATTACK_* 环境变量覆盖
│   ├── engine.py      ← AttackEngine(ThreadPoolExecutor + Rich 进度界面)
│   ├── lockout.py     ← LockoutDetector(滑动窗口,线程安全)
│   ├── proxy.py       ← ProxyRotator(轮询、健康检查、降级)
│   ├── mutator.py     ← PasswordMutator(leet、季节性、后缀、键盘行走…)
│   ├── result.py      ← AttemptResult + SessionReport 数据类
│   ├── report.py      ← Jinja2 HTML 报告生成器
│   └── logger.py      ← Rich 日志 + JSONL 审计写入器
│
├── credattack/protocols/
│   └── *.py           ← 18 个 ProtocolAttacker 实现
│
├── credattack/data/
│   ├── default_creds.json    ← 200+ 真实默认凭据组合
│   ├── smart_patterns.json   ← 140+ 企业密码模板
│   └── wordlists/            ← 按服务分类的默认密码列表
│
└── tests/             ← 50+ pytest 测试(单元 + 协议模拟)

快速开始

root@kitploit:~
# 克隆并设置
git clone https://github.com/amibhai/credential-attacks-toolkit.git
cd credential-attacks-toolkit
python -m venv .venv && source .venv/bin/activate   # Windows: .venv\Scripts\activate
pip install -r requirements.txt

# 检查版本
python credattack.py --version

# 试运行(不建立连接 — 验证您的字典列表)
python credattack.py ssh -t 192.168.1.100 -u admin -P wordlists/common_passwords.txt --dry-run

# 真实 SSH 字典攻击
python credattack.py ssh -t 192.168.1.100 -u admin -P /path/to/rockyou.txt

# 密码喷洒(限速、锁定安全)
python credattack.py spray -t 192.168.1.100 --protocol ssh -U users.txt -p "Summer2024!" --delay 30

# 智能模式 — 从用户名 + 公司生成模式
python credattack.py smart -t 192.168.1.100 --protocol ssh -u john.doe --company ACME

# 尝试服务默认凭据
python credattack.py defaults -t 192.168.1.100 --protocol mysql

# 多目标攻击活动
python credattack.py multi --targets hosts.txt --protocol ssh -U users.txt -P passes.txt

安装

选项 A — pip + virtualenv(推荐)

root@kitploit:~
python -m venv .venv
source .venv/bin/activate        # Windows: .venv\Scripts\activate
pip install --upgrade pip
pip install -r requirements.txt

选项 B — Makefile 快捷方式

root@kitploit:~
make install      # 核心依赖
make install-dev  # + pytest-cov、ruff、mypy

选项 C — pip 安装(可编辑或从 wheel)

root@kitploit:~
pip install -e .          # 仅核心依赖
pip install -e .[full]    # + SMB/RDP/MySQL/MSSQL/Redis/MongoDB/WinRM/LDAP
pip install -e .[dev]     # + pytest/ruff/mypy

credattack --version      # 控制台脚本,等同于 `python credattack.py`

选项 D — Docker

root@kitploit:~
docker build -t credattack -f docker/Dockerfile .
docker run --rm credattack --help

# 挂载您的字典列表并收集输出
docker run --rm \
  -v $(pwd)/wordlists:/app/wordlists:ro \
  -v $(pwd)/output:/app/output \
  credattack ssh -t 192.168.1.100 -u admin -P wordlists/common_passwords.txt

CLI 参考

全局选项

root@kitploit:~
python credattack.py [OPTIONS] COMMAND [ARGS]...

选项:
  -V, --version    显示版本并退出。
  --help           显示帮助。

通用标志(适用于所有协议命令)

子命令

root@kitploit:~
# 协议专用(每个映射到专用攻击器)
python credattack.py ssh|ftp|smb|rdp|smtp|pop3|imap|mysql|mssql|redis|mongodb|winrm|ldap|telnet|vnc \
  -t HOST -u USER -P passes.txt

# HTTP(表单 / basic / digest)
python credattack.py http -t http://target/login --mode form \
  --form-user-field username --form-pass-field password --success-string "Dashboard"

# 喷洒 — 单个密码、多个用户、长延迟
python credattack.py spray -t HOST --protocol ssh -U users.txt -p "Password1" --delay 30

# 组合 — 用户 × 密码的笛卡尔积
python credattack.py combo -t HOST --protocol smb -U users.txt -P passes.txt

# 智能 — 基于 OSINT 的生成
python credattack.py smart -t HOST --protocol ssh -u firstname.lastname --company TargetCorp

# 默认 — 尝试厂商默认凭据
python credattack.py defaults -t HOST --protocol mysql

# 多目标 — 跨多个主机执行相同攻击
python credattack.py multi --targets hosts.txt --protocol ssh -U users.txt -P passes.txt

# 完整 — 按顺序执行所有协议
python credattack.py full -t HOST -U users.txt -P passes.txt

密码变异引擎

credattack/core/mutator.py 中的 PasswordMutator 支持可组合策略:

root@kitploit:~
from credattack.core.mutator import PasswordMutator

m = PasswordMutator(max_mutations=5000)

# 组合所有策略
for pw in m.smart_generate("john.doe", company="ACME"):
    print(pw)

# 仅季节性模式
for pw in m.seasonal_patterns(company="Contoso"):
    print(pw)

默认凭据数据库

credattack/data/default_creds.json 包含 200+ 个真实默认凭据组合,涵盖:

Cisco · F5 · Juniper · Palo Alto · VMware · Jenkins · GitLab · Tomcat · WordPress · MySQL · MSSQL · Redis · MongoDB · PostgreSQL · Elasticsearch · RabbitMQ · Splunk · Nagios · Zabbix · pfSense · MikroTik · Huawei · HP iLO · Dell iDRAC · IPMI

root@kitploit:~
# 查看某服务的所有默认凭据
python credattack.py defaults -t HOST --protocol mysql --dry-run

# 针对目标运行
python credattack.py defaults -t 10.0.0.1 --protocol ssh

代理轮换

传入代理文件(每行一个代理,host:port 格式):

root@kitploit:~
# proxies.txt
192.168.1.10:1080
192.168.1.11:1080
socks5://10.0.0.5:9050
root@kitploit:~
python credattack.py ssh -t TARGET -u admin -P passes.txt --proxy-file proxies.txt

ProxyRotator 在启动时执行健康检查,并将超过失败率阈值的代理降级。失效代理会被自动排除。


HTML 报告

每次非试运行攻击后,都会在 ./output/ 中自动生成 HTML 报告:

  • 统计卡片:总尝试次数、成功率、持续时间、每秒尝试次数
  • 已发现凭据表:主机 · 协议 · 用户名 · 密码(可复制到剪贴板)
  • 深色主题 Jinja2 模板
root@kitploit:~
# 运行后打开
start output/report_*.html      # Windows
open  output/report_*.html      # macOS

配置与环境变量

credattack/core/config.py 中的所有设置均可通过 CREDATTACK_* 环境变量覆盖:

root@kitploit:~
export CREDATTACK_THREADS=20
export CREDATTACK_TIMEOUT=3.0
export CREDATTACK_DELAY=1.0
export CREDATTACK_JITTER=0.5
export CREDATTACK_LOCKOUT_THRESHOLD=3
export CREDATTACK_VERBOSITY=2

或在 CLI 层使用标准标志(--threads、--timeout 等)。


Docker

root@kitploit:~
# 构建镜像
docker build -t credattack -f docker/Dockerfile .

# 使用 Docker Compose 运行
cd docker
docker compose run credattack ssh -t 192.168.1.100 -u admin -P /app/wordlists/common_passwords.txt

# 通过环境变量设置配置
docker run --rm \
  -e CREDATTACK_THREADS=20 \
  -e CREDATTACK_TIMEOUT=3 \
  -v $(pwd)/output:/app/output \
  credattack defaults -t 10.0.0.1 --protocol mysql

测试

root@kitploit:~
# 运行所有测试
pytest -q

# 带覆盖率
pytest --cov=credattack --cov-report=term-missing -q

# Makefile 快捷方式
make test-cov

当前测试套件:50+ 个测试,涵盖:


字典列表

⚠️ 内置的 wordlists/ 文件仅为最小冒烟测试桩。 真实评估请自行提供。

推荐来源

root@kitploit:~
# 使用任何外部字典列表
python credattack.py ssh -t TARGET -u admin -P /opt/wordlists/rockyou.txt

项目结构

root@kitploit:~
credential-attacks-toolkit/
├── credattack.py               # 精简入口 -> credattack.cli:app(源码检出使用)
├── pyproject.toml              # PEP 517/518 构建与工具配置
├── requirements.txt            # 运行时依赖
├── Makefile                    # 开发者快捷方式
├── VERSION                     # 版本唯一来源
├── CHANGELOG.md
├── SECURITY.md
├── .github/
│   └── workflows/ci.yml        # GitHub Actions:lint + 测试矩阵 + mypy
├── docker/
│   ├── Dockerfile
│   └── docker-compose.yml
├── credattack/
│   ├── cli.py                  # CLI(Typer)— 打包,支撑控制台脚本
│   ├── core/
│   │   ├── config.py           # Pydantic v2 Settings
│   │   ├── engine.py           # AttackEngine(ThreadPoolExecutor)
│   │   ├── lockout.py          # LockoutDetector(滑动窗口)
│   │   ├── proxy.py            # ProxyRotator
│   │   ├── mutator.py          # PasswordMutator
│   │   ├── result.py           # AttemptResult、SessionReport
│   │   ├── report.py           # HTML 报告生成器
│   │   └── logger.py           # Rich 日志器 + JSONL 写入器
│   ├── protocols/              # 18 个 ProtocolAttacker 实现
│   │   └── base.py             # 抽象 ProtocolAttacker
│   └── data/
│       ├── default_creds.json  # 200+ 厂商默认凭据
│       ├── smart_patterns.json # 140+ 企业模板
│       └── wordlists/          # 按服务分类的入门列表
├── attacks/                    # 独立单文件工具(早于 credattack/;
│   └── *.py                    # 保留给尚未移植的脚本:JWT 破解、
│                                # WAF 检测、基于时机的用户枚举)
├── utils/
│   └── credential_utils.py     # attacks/ 脚本的共享辅助函数
├── tests/
│   ├── conftest.py             # 共享夹具
│   ├── test_lockout.py
│   ├── test_mutator.py
│   ├── test_mutator_extended.py
│   ├── test_proxy.py
│   ├── test_result.py
│   ├── test_protocols_ssh.py
│   ├── test_protocols_ftp.py
│   └── test_protocols_http.py
├── wordlists/                  # 最小冒烟测试桩
└── output/                     # 生成的日志与报告(git 忽略)

攻击成功率(参考值)


贡献

请参阅 CONTRIBUTING.md。
提交大型 PR 前请先开启 issue。
所有贡献必须遵守 SECURITY.md 中的道德使用政策。


负责任地使用。合乎道德地测试。保持合法。

下载工具
报告JSONL 审计日志、Jinja2 HTML 报告、已发现凭据横幅 + 文件导出
模式命令描述
字典ssh、ftp、smb、…针对单个用户的字典攻击
喷洒spray一个密码针对用户列表(锁定安全)
组合combo每个用户 × 每个密码
智能smart基于用户名/公司生成模式
默认defaults尝试 200+ 个已知服务默认凭据
多目标multi对主机列表执行相同攻击
完整流水线full所有协议,一份报告
#协议模块默认端口备注
1SSHssh.py22paramiko,密钥/密码认证
2FTPftp.py21主动与被动模式
3HTTP 表单http_form.py80/443自动 CSRF 令牌检测
4HTTP Basichttp_basic.py80RFC 7617
5HTTP Digesthttp_digest.py80RFC 7616
6SMBsmb.py445impacket,NTLM
7RDPrdp.py3389impacket NLA
8SMTPsmtp.py587STARTTLS
9POP3pop3.py110支持 APOP
10IMAPimap.py143STARTTLS
11MySQLmysql.py3306mysql-connector-python
12MSSQLmssql.py1433pymssql
13Redisredis_proto.py6379AUTH 命令
14MongoDBmongodb.py27017pymongo
15WinRMwinrm.py5985NTLM,pywinrm
16LDAPldap_proto.py389ldap3,rootDSE 自动检测
17Telnettelnet.py23原始 TCP
18VNCvnc.py5900原始 DES 挑战-响应
标志短选项默认值描述
--target-t—目标主机 / IP
--port0(协议默认)覆盖 TCP 端口
--username-u—单个用户名
--user-file-U—换行分隔的用户名文件
--pass-file-P—换行分隔的密码文件
--password-p2—单个密码
--threads-n10并发工作线程
--timeout-T5.0每次尝试超时(秒)
--delay-d0.0固定尝试间隔延迟(秒)
--jitter0.0最大随机抖动(秒)
--stop-on-firstTrue每个用户首次命中后停止
--proxy-fileNoneHTTP/SOCKS5 代理列表
--output-dir-o./output结果目录
--verbosity-v1日志级别(0-3)
--dry-runFalse仅计数组合而不建立连接
策略方法示例输出
Leet 语言leet_speak(word)p@ssw0rd、p455w0rd
大小写capitalise_variants(word)PASSWORD、Password、pAsSwOrD
后缀suffix_append(word)password123、password@2025
前缀prefix_append(word)!password、mypassword
键盘行走keyboard_walk(word)qassword(a→q)
用户名模式username_patterns(user, company)john123、Doe1!、ACME2024!
季节性(v1.1)seasonal_patterns(company)Summer2024!、Winter25
特殊字符包裹(v1.1)special_char_wrap(word)!@Password、Password!@
组合combine(word, strategies)链式组合上述任意策略
智能(一体化)smart_generate(user, company)去重、限量输出流
领域测试
锁定检测器(滑动窗口、线程安全)test_lockout.py
密码变异器策略test_mutator.py
新增变异器策略(季节性、特殊字符)test_mutator_extended.py
代理轮换器(健康检查、降级)test_proxy.py
Result 与 SessionReport 数据类test_result.py
SSH 协议模拟test_protocols_ssh.py
FTP 协议模拟test_protocols_ftp.py
HTTP Basic 与 Digest 模拟test_protocols_http.py
字典列表大小最佳用途
rockyou.txt~14 M通用字典
SecLists/Passwords/多种协议专用
kaonashi.txt~64 M高级覆盖
OSINT 衍生不定定向攻击
密码类型字典智能模式喷洒(常见密码)
4 个字符~90%~95%~60%
6 个字符~65%~75%~25%
8 个字符混合~15%~25%~5%
10+ 个字符复杂<5%<5%<1%