Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
ツール/GitHubGitHub/amibhai/credential-attacks-toolkit
偵察パスワード攻撃ペネトレーションテストレッドチーミング
GitHubamibhai/credential-attacks-toolkit

credential-attacks-toolkit

認可されたセキュリティテストのための完全なクレデンシャル攻撃スイート — SSH、FTP、Webログイン、ブルートフォース、辞書攻撃

リポジトリを見る
1925日前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

CredAttack — 資格情報攻撃ツールキット

Release Python Protocols Tests License

⚠️ 法的通知 — 許可を得たセキュリティテストのみ。
このツールを、所有していない、または明示的な書面による許可を得ていないシステムに対して使用することは、米国のComputer Fraud and Abuse Act、英国のComputer Misuse Act、および世界各国の同等の法律に違反します。SECURITY.md を参照してください。


目次

  • CredAttackとは?
  • 攻撃モード
  • 対応プロトコル
  • アーキテクチャ
  • クイックスタート
  • インストール
  • CLIリファレンス
  • パスワード変異エンジン
  • デフォルト資格情報データベース
  • プロキシローテーション
  • HTMLレポート
  • 設定と環境変数
  • Docker
  • テスト
  • プロジェクト構造
  • コントリビューション

CredAttackとは?

CredAttackは、許可を得たペネトレーションテスト業務のためのモジュール式の本番グレード資格情報テストスイートです。資格情報攻撃のライフサイクル全体をカバーします:

フェーズCredAttackの機能
偵察デフォルト資格情報DB(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進捗UI)
│   ├── 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インストール(編集可能またはホイールから)

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]...

Options:
  -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

プロキシローテーション

プロキシファイルを渡します(1行に1プロキシ、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

または、標準フラグ(--threads、--timeout など)でCLIレベルで設定します。


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, …1ユーザーに対するワードリスト
スプレーsprayユーザーリストに対する1つのパスワード(ロックアウト安全)
コンボcombo全ユーザー × 全パスワード
スマートsmartユーザー名/会社由来のパターン生成
デフォルトdefaults200以上の既知のサービスデフォルトを試行
マルチターゲットmultiホストリストに対する同一攻撃
フルパイプラインfull全プロトコル、1つのレポート
#プロトコルモジュールデフォルトポート備考
1SSHssh.py22paramiko、鍵/パスワード認証
2FTPftp.py21アクティブ&パッシブモード
3HTTPフォームhttp_form.py80/443CSRFトークン自動検出
4HTTP Basichttp_basic.py80RFC 7617
5HTTP Digesthttp_digest.py80RFC 7616
6SMBsmb.py445impacket、NTLM
7RDPrdp.py3389impacket NLA
8SMTPsmtp.py587STARTTLS
9POP3pop3.py110APOP対応
10IMAPimap.py143STARTTLS
11MySQLmysql.py3306mysql-connector-python
12MSSQLmssql.py1433pymssql
13Redisredis_proto.py6379AUTHコマンド
14MongoDBmongodb.py27017pymongo
15WinRMwinrm.py5985NTLM、pywinrm
16LDAPldap_proto.py389ldap3、rootDSE自動検出
17Telnettelnet.py23生TCP
18VNCvnc.py5900Raw 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%