
UpdatedSep 2, 2026
credential-attacks-toolkit — Updated!
Vollständige Suite für Credential-Angriffe für autorisierte Sicherheitstests — SSH, FTP, Web-Login, Brute-Force, Wörterbuchangriffe
CredAttack — Toolkit für Credential-Angriffe
⚠️ RECHTSHINWEIS — NUR für autorisierte Sicherheitstests.
Die Verwendung dieses Tools gegen Systeme, die Sie nicht besitzen oder für die Sie keine ausdrückliche schriftliche Genehmigung zum Testen haben, ist nach dem Computer Fraud and Abuse Act (USA), dem Computer Misuse Act (UK) und entsprechenden Gesetzen weltweit illegal. Siehe SECURITY.md.
Inhaltsverzeichnis
- Was ist CredAttack?
- Angriffsmodi
- Unterstützte Protokolle
- Architektur
- Schnellstart
- Installation
- CLI-Referenz
- Passwort-Mutations-Engine
- Datenbank für Standard-Anmeldedaten
- Proxy-Rotation
- HTML-Berichte
- Konfiguration & Umgebungsvariablen
- Docker
- Tests
- Projektstruktur
- Mitwirken
Was ist CredAttack?
CredAttack ist eine modulare, produktionsreife Suite für Credential-Tests für autorisierte Penetrationstest-Einsätze. Sie deckt den gesamten Lebenszyklus von Credential-Angriffen ab:
| Phase | CredAttack-Fähigkeit |
|---|---|
| Aufklärung | Standard-Anmeldedaten-DB (200+ Paare), intelligente benutzernamebasierte Mustererzeugung |
| Angriff | 17 Protokoll-Angreifer, 6 Angriffsmodi, Multi-Target-Kampagnen |
| Umgehung | Lockout-Erkennung, konfigurierbares Rate-Limiting, Jitter, Proxy-Rotation |
| Berichterstattung | JSONL-Audit-Log, Jinja2-HTML-Bericht, Banner + Datei-Dump für gefundene Anmeldedaten |
Angriffsmodi
| Modus | Befehl | Beschreibung |
|---|---|---|
| Wörterbuch | ssh, ftp, smb, … | Wortliste gegen einen Benutzer |
| Spray | spray | Ein Passwort über eine Benutzerliste (lockout-sicher) |
| Kombination | combo | Jeder Benutzer × jedes Passwort |
| Smart | smart | Benutzer-/Firmenbasierte Mustererzeugung |
| Standardwerte | defaults | 200+ bekannte Dienst-Standardwerte ausprobieren |
| Multi-Target | multi | Gleicher Angriff über eine Liste von Hosts |
| Vollständige Pipeline | full | Alle Protokolle, ein Bericht |
Unterstützte Protokolle
| # | Protokoll | Modul | Standard-Port | Hinweise |
|---|---|---|---|---|
| 1 | SSH | ssh.py | 22 | paramiko, Schlüssel-/Passwort-Authentifizierung |
| 2 | FTP | ftp.py | 21 | Aktiver & passiver Modus |
| 3 | HTTP-Formular | http_form.py | 80/443 | Automatische CSRF-Token-Erkennung |
| 4 | HTTP Basic | http_basic.py | 80 | RFC 7617 |
| 5 | HTTP Digest | http_digest.py | 80 | RFC 7616 |
| 6 | SMB | smb.py | 445 | impacket, NTLM |
| 7 | RDP | rdp.py | 3389 | impacket NLA |
| 8 | SMTP | smtp.py | 587 | STARTTLS |
| 9 | POP3 | pop3.py | 110 | APOP-Unterstützung |
| 10 | IMAP | imap.py | 143 | STARTTLS |
| 11 | MySQL | mysql.py | 3306 | mysql-connector-python |
| 12 | MSSQL | mssql.py | 1433 | pymssql |
| 13 | Redis | redis_proto.py | 6379 | AUTH-Befehl |
| 14 | MongoDB | mongodb.py | 27017 | pymongo |
| 15 | WinRM | winrm.py | 5985 | NTLM, pywinrm |
| 16 | LDAP | ldap_proto.py | 389 | ldap3, rootDSE-Auto-Erkennung |
| 17 | Telnet | telnet.py | 23 | Raw TCP |
| 18 | VNC | vnc.py | 5900 | Raw-DES-Challenge-Response |
Architektur
credattack.py ← dünner Shim: `python credattack.py ...` aus einem Checkout
│
├── credattack/cli.py ← CLI (Typer) — 8 Unterbefehle für Angriffsmodi; auch das
│ `credattack`-Konsolenskript bei pip-Installation
├── credattack/core/
│ ├── config.py ← Pydantic-v2-Einstellungen, CREDATTACK_*-Env-Var-Overrides
│ ├── engine.py ← AttackEngine (ThreadPoolExecutor + Rich-Fortschritts-UI)
│ ├── lockout.py ← LockoutDetector (gleitendes Fenster, threadsicher)
│ ├── proxy.py ← ProxyRotator (Round-Robin, Health-Check, Herabstufung)
│ ├── mutator.py ← PasswordMutator (Leetspeak, saisonal, Suffix, Tastaturlauf…)
│ ├── result.py ← AttemptResult- + SessionReport-Dataclasses
│ ├── report.py ← Jinja2-HTML-Berichtsgenerator
│ └── logger.py ← Rich-Logging + JSONL-Audit-Writer
│
├── credattack/protocols/
│ └── *.py ← 18 ProtocolAttacker-Implementierungen
│
├── credattack/data/
│ ├── default_creds.json ← 200+ echte Standard-Anmeldedaten-Paare
│ ├── smart_patterns.json ← 140+ Enterprise-Passwortvorlagen
│ └── wordlists/ ← Standard-Passwortlisten pro Dienst
│
└── tests/ ← 50+ pytest-Tests (Unit + Protokoll-Mocks)
Schnellstart
# Klonen und einrichten
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
# Version prüfen
python credattack.py --version
# Trockenlauf (keine Verbindungen — Wortlisten verifizieren)
python credattack.py ssh -t 192.168.1.100 -u admin -P wordlists/common_passwords.txt --dry-run
# Echter SSH-Wörterbuchangriff
python credattack.py ssh -t 192.168.1.100 -u admin -P /path/to/rockyou.txt
# Passwort-Spray (ratenbegrenzt, lockout-sicher)
python credattack.py spray -t 192.168.1.100 --protocol ssh -U users.txt -p "Summer2024!" --delay 30
# Smart-Modus — Muster aus Benutzername + Firma erzeugen
python credattack.py smart -t 192.168.1.100 --protocol ssh -u john.doe --company ACME
# Dienst-Standardwerte ausprobieren
python credattack.py defaults -t 192.168.1.100 --protocol mysql
# Multi-Target-Kampagne
python credattack.py multi --targets hosts.txt --protocol ssh -U users.txt -P passes.txt
Installation
Option A — pip + virtualenv (empfohlen)
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install --upgrade pip
pip install -r requirements.txt
Option B — Makefile-Verknüpfungen
make install # Kern-Abhängigkeiten
make install-dev # + pytest-cov, ruff, mypy
Option C — pip-Installation (editierbar oder aus einem Wheel)
pip install -e . # nur Kern-Abhängigkeiten
pip install -e .[full] # + SMB/RDP/MySQL/MSSQL/Redis/MongoDB/WinRM/LDAP
pip install -e .[dev] # + pytest/ruff/mypy
credattack --version # Konsolenskript, entspricht `python credattack.py`
Option D — Docker
docker build -t credattack -f docker/Dockerfile .
docker run --rm credattack --help
# Wortlisten einbinden und Ausgabe sammeln
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-Referenz
Globale Optionen
python credattack.py [OPTIONS] COMMAND [ARGS]...
Options:
-V, --version Version anzeigen und beenden.
--help Hilfe anzeigen.