Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
credential-attacks-toolkit — Suite completa di attacchi alle credenziali per test di sicurezza autorizzati — SSH, FTP, Web Login, Bruteforce, Dictionary attacks | Kitploit
Strumenti/GitHubGitHub/amibhai/credential-attacks-toolkit
RicognizioneAttacchi alle PasswordPenetration TestingRed Teaming
GitHubamibhai/credential-attacks-toolkit

credential-attacks-toolkit

Suite completa di attacchi alle credenziali per test di sicurezza autorizzati — SSH, FTP, Web Login, Bruteforce, Dictionary attacks

Vedi Repository

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
11127 giorni faNon ancora revisionato

CredAttack — Toolkit per Attacchi alle Credenziali

Release Python Protocols Tests License

⚠️ AVVISO LEGALE — Solo test di sicurezza AUTORIZZATI.
L'uso di questo strumento contro sistemi di cui non si è proprietari o per i quali non si dispone di esplicita autorizzazione scritta è illegale ai sensi del Computer Fraud and Abuse Act (USA), del Computer Misuse Act (UK) e delle leggi equivalenti in tutto il mondo. Vedi SECURITY.md.


Indice

  • Cos'è CredAttack?
  • Modalità di Attacco
  • Protocolli Supportati
  • Architettura
  • Avvio Rapido
  • Installazione
  • Riferimento CLI
  • Motore di Mutazione delle Password
  • Database delle Credenziali Predefinite
  • Rotazione dei Proxy
  • Report HTML
  • Configurazione e Variabili d'Ambiente
  • Docker
  • Test
  • Struttura del Progetto
  • Contributi

Cos'è CredAttack?

CredAttack è una suite di test delle credenziali modulare e di livello produttivo per test di penetrazione autorizzati. Copre l'intero ciclo di vita dell'attacco alle credenziali:

FaseCapacità di CredAttack

Modalità di Attacco


Protocolli Supportati


Architettura

root@kitploit:~
credattack.py          ← shim sottile: `python credattack.py ...` da un checkout
│
├── credattack/cli.py   ← CLI (Typer) — 8 sottocomandi per modalità di attacco; anche
│                          lo script console `credattack` quando installato via pip
├── credattack/core/
│   ├── config.py      ← Impostazioni Pydantic v2, override tramite variabili d'ambiente CREDATTACK_*
│   ├── engine.py      ← AttackEngine (ThreadPoolExecutor + UI di avanzamento Rich)
│   ├── lockout.py     ← LockoutDetector (finestra scorrevole, thread-safe)
│   ├── proxy.py       ← ProxyRotator (round-robin, health-check, declassamento)
│   ├── mutator.py     ← PasswordMutator (leet, stagionale, suffisso, keyboard-walk…)
│   ├── result.py      ← Dataclass AttemptResult + SessionReport
│   ├── report.py      ← Generatore di report HTML Jinja2
│   └── logger.py      ← Logging Rich + writer di audit JSONL
│
├── credattack/protocols/
│   └── *.py           ← 18 implementazioni ProtocolAttacker
│
├── credattack/data/
│   ├── default_creds.json    ← 200+ coppie reali di credenziali predefinite
│   ├── smart_patterns.json   ← 140+ modelli di password aziendali
│   └── wordlists/            ← Liste di password predefinite per servizio
│
└── tests/             ← 50+ test pytest (unit + mock dei protocolli)

Avvio Rapido

root@kitploit:~
# Clona e configura
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

# Controlla la versione
python credattack.py --version

# Dry-run (nessuna connessione effettuata — verifica le tue wordlist)
python credattack.py ssh -t 192.168.1.100 -u admin -P wordlists/common_passwords.txt --dry-run

# Attacco SSH a dizionario reale
python credattack.py ssh -t 192.168.1.100 -u admin -P /path/to/rockyou.txt

# Password spray (con limitazione di velocità, sicuro contro lockout)
python credattack.py spray -t 192.168.1.100 --protocol ssh -U users.txt -p "Summer2024!" --delay 30

# Modalità smart — genera pattern da nome utente + azienda
python credattack.py smart -t 192.168.1.100 --protocol ssh -u john.doe --company ACME

# Prova le credenziali predefinite dei servizi
python credattack.py defaults -t 192.168.1.100 --protocol mysql

# Campagna multi-target
python credattack.py multi --targets hosts.txt --protocol ssh -U users.txt -P passes.txt

Installazione

Opzione A — pip + virtualenv (consigliata)

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

Opzione B — Scorciatoie Makefile

root@kitploit:~
make install      # dipendenze core
make install-dev  # + pytest-cov, ruff, mypy

Opzione C — pip install (editable o da wheel)

root@kitploit:~
pip install -e .          # solo dipendenze core
pip install -e .[full]    # + SMB/RDP/MySQL/MSSQL/Redis/MongoDB/WinRM/LDAP
pip install -e .[dev]     # + pytest/ruff/mypy

credattack --version      # script console, equivalente a `python credattack.py`

Opzione D — Docker

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

# Monta le tue wordlist e raccogli l'output
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

Riferimento CLI

Opzioni globali

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

Options:
  -V, --version    Mostra la versione ed esce.
  --help           Mostra l'aiuto.

Flag comuni (disponibili su tutti i comandi dei protocolli)

Sottocomandi

root@kitploit:~
# Specifici per protocollo (ognuno mappa a un attacker dedicato)
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 (form / basic / digest)
python credattack.py http -t http://target/login --mode form \
  --form-user-field username --form-pass-field password --success-string "Dashboard"

# Spray — password singola, molti utenti, ritardo lungo
python credattack.py spray -t HOST --protocol ssh -U users.txt -p "Password1" --delay 30

# Combo — prodotto cartesiano utenti × password
python credattack.py combo -t HOST --protocol smb -U users.txt -P passes.txt

# Smart — generazione derivata da OSINT
python credattack.py smart -t HOST --protocol ssh -u firstname.lastname --company TargetCorp

# Defaults — prova le credenziali predefinite del vendor
python credattack.py defaults -t HOST --protocol mysql

# Multi — stesso attacco su più host
python credattack.py multi --targets hosts.txt --protocol ssh -U users.txt -P passes.txt

# Full — tutti i protocolli in sequenza
python credattack.py full -t HOST -U users.txt -P passes.txt

Motore di Mutazione delle Password

PasswordMutator in credattack/core/mutator.py supporta strategie componibili:

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

m = PasswordMutator(max_mutations=5000)

# Tutte le strategie combinate
for pw in m.smart_generate("john.doe", company="ACME"):
    print(pw)

# Solo pattern stagionali
for pw in m.seasonal_patterns(company="Contoso"):
    print(pw)

Database delle Credenziali Predefinite

credattack/data/default_creds.json contiene 200+ coppie reali di credenziali predefinite tra:

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:~
# Visualizza tutte le predefinite per un servizio
python credattack.py defaults -t HOST --protocol mysql --dry-run

# Esegui contro il target
python credattack.py defaults -t 10.0.0.1 --protocol ssh

Rotazione dei Proxy

Passa un file di proxy (un proxy per riga, formato 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

Il ProxyRotator esegue health-check all'avvio e declassa i proxy che superano una soglia di tasso di errore. I proxy morti vengono esclusi automaticamente.


Report HTML

Dopo ogni attacco non-dry-run viene generato automaticamente un report HTML in ./output/:

  • Card statistiche: tentativi totali, tasso di successo, durata, tentativi/sec
  • Tabella credenziali trovate: host · protocollo · nome utente · password (copia-negli-appunti)
  • Tema scuro modello Jinja2
root@kitploit:~
# Apri dopo un'esecuzione
start output/report_*.html      # Windows
open  output/report_*.html      # macOS

Configurazione e Variabili d'Ambiente

Tutte le impostazioni in credattack/core/config.py possono essere sovrascritte tramite variabili d'ambiente 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

Oppure a livello CLI con i flag standard (--threads, --timeout, ecc.).


Docker

root@kitploit:~
# Costruisci l'immagine
docker build -t credattack -f docker/Dockerfile .

# Esegui con Docker Compose
cd docker
docker compose run credattack ssh -t 192.168.1.100 -u admin -P /app/wordlists/common_passwords.txt

# Imposta la configurazione tramite variabili d'ambiente
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

Test

root@kitploit:~
# Esegui tutti i test
pytest -q

# Con copertura
pytest --cov=credattack --cov-report=term-missing -q

# Scorciatoia Makefile
make test-cov

Suite attuale: 50+ test che coprono:


Wordlist

⚠️ I file wordlists/ inclusi sono stub minimi per smoke-test. Fornisci le tue per valutazioni reali.

Fonti consigliate

root@kitploit:~
# Usa qualsiasi wordlist esterna
python credattack.py ssh -t TARGET -u admin -P /opt/wordlists/rockyou.txt

Struttura del Progetto

root@kitploit:~
credential-attacks-toolkit/
├── credattack.py               # Shim sottile -> credattack.cli:app (uso da checkout sorgente)
├── pyproject.toml              # Configurazione build e strumenti PEP 517/518
├── requirements.txt            # Dipendenze runtime
├── Makefile                    # Scorciatoie per sviluppatori
├── VERSION                     # Unica fonte di verità per la versione
├── CHANGELOG.md
├── SECURITY.md
├── .github/
│   └── workflows/ci.yml        # GitHub Actions: lint + matrice di test + mypy
├── docker/
│   ├── Dockerfile
│   └── docker-compose.yml
├── credattack/
│   ├── cli.py                  # CLI (Typer) — pacchettizzata, supporta lo script console
│   ├── core/
│   │   ├── config.py           # Impostazioni Pydantic v2
│   │   ├── engine.py           # AttackEngine (ThreadPoolExecutor)
│   │   ├── lockout.py          # LockoutDetector (finestra scorrevole)
│   │   ├── proxy.py            # ProxyRotator
│   │   ├── mutator.py          # PasswordMutator
│   │   ├── result.py           # AttemptResult, SessionReport
│   │   ├── report.py           # Generatore di report HTML
│   │   └── logger.py           # Logger Rich + writer JSONL
│   ├── protocols/              # 18 implementazioni ProtocolAttacker
│   │   └── base.py             # ProtocolAttacker astratto
│   └── data/
│       ├── default_creds.json  # 200+ predefinite dei vendor
│       ├── smart_patterns.json # 140+ modelli aziendali
│       └── wordlists/          # Liste iniziali per servizio
├── attacks/                    # Strumenti autonomi a file singolo (precedono credattack/;
│   └── *.py                    # mantenuti per script non ancora migrati: cracking JWT,
│                                # rilevamento WAF, enumerazione utenti basata su timing)
├── utils/
│   └── credential_utils.py     # Helper condivisi per gli script attacks/
├── tests/
│   ├── conftest.py             # Fixture condivise
│   ├── 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/                  # Stub minimi per smoke-test
└── output/                     # Log e report generati (ignorati da git)

Tassi di Successo degli Attacchi (Indicativi)


Contributi

Vedi CONTRIBUTING.md.
Apri una issue prima di inviare PR di grandi dimensioni.
Tutti i contributi devono rispettare la policy di uso etico in SECURITY.md.


Usa in modo responsabile. Testa eticamente. Rispetta la legge.

Scarica lo strumento
Ricognizione
Database credenziali predefinite (200+ coppie), generazione intelligente di pattern derivati dal nome utente
Attacco17 attacker per protocollo, 6 modalità di attacco, campagne multi-target
EvasioneRilevamento lockout, limitazione della velocità configurabile, jitter, rotazione dei proxy
ReportingLog di audit JSONL, report HTML Jinja2, banner credenziali trovate + dump su file
ModalitàComandoDescrizione
Dizionariossh, ftp, smb, …Wordlist contro un singolo utente
SpraysprayUna password su una lista di utenti (sicuro contro lockout)
CombocomboOgni utente × ogni password
SmartsmartGenerazione di pattern derivati da nome utente/azienda
PredefinitedefaultsProva oltre 200 credenziali predefinite note dei servizi
Multi-targetmultiStesso attacco su una lista di host
Pipeline completofullTutti i protocolli, un unico report
#ProtocolloModuloPorta PredefinitaNote
1SSHssh.py22paramiko, autenticazione chiave/password
2FTPftp.py21Modalità attiva e passiva
3HTTP Formhttp_form.py80/443Rilevamento automatico token CSRF
4HTTP Basichttp_basic.py80RFC 7617
5HTTP Digesthttp_digest.py80RFC 7616
6SMBsmb.py445impacket, NTLM
7RDPrdp.py3389impacket NLA
8SMTPsmtp.py587STARTTLS
9POP3pop3.py110Supporto APOP
10IMAPimap.py143STARTTLS
11MySQLmysql.py3306mysql-connector-python
12MSSQLmssql.py1433pymssql
13Redisredis_proto.py6379Comando AUTH
14MongoDBmongodb.py27017pymongo
15WinRMwinrm.py5985NTLM, pywinrm
16LDAPldap_proto.py389ldap3, auto-rilevamento rootDSE
17Telnettelnet.py23TCP grezzo
18VNCvnc.py5900Sfida-risposta DES grezza
FlagShortPredefinitoDescrizione
--target-t—Host / IP di destinazione
--port0 (predefinito del protocollo)Sovrascrive la porta TCP
--username-u—Nome utente singolo
--user-file-U—File dei nomi utente separati da nuova riga
--pass-file-P—File delle password separate da nuova riga
--password-p2—Password singola
--threads-n10Worker concorrenti
--timeout-T5.0Timeout per tentativo (s)
--delay-d0.0Ritardo fisso tra i tentativi (s)
--jitter0.0Jitter casuale massimo (s)
--stop-on-firstTrueFerma per utente dopo il primo successo
--proxy-fileNoneLista proxy HTTP/SOCKS5
--output-dir-o./outputDirectory dei risultati
--verbosity-v1Livello di logging (0-3)
--dry-runFalseConta le coppie senza connettersi
StrategiaMetodoEsempio di output
Leet-speakleet_speak(word)p@ssw0rd, p455w0rd
Capitalizzazionecapitalise_variants(word)PASSWORD, Password, pAsSwOrD
Suffissosuffix_append(word)password123, password@2025
Prefissoprefix_append(word)!password, mypassword
Keyboard-walkkeyboard_walk(word)qassword (a→q)
Pattern nome utenteusername_patterns(user, company)john123, Doe1!, ACME2024!
Stagionale (v1.1)seasonal_patterns(company)Summer2024!, Winter25
Avvolgimento caratteri speciali (v1.1)special_char_wrap(word)!@Password, Password!@
Combinacombine(word, strategies)concatena qualsiasi delle precedenti
Smart (tutto-in-uno)smart_generate(user, company)stream deduplicato e limitato
AreaTest
Rilevatore lockout (finestra scorrevole, thread safety)test_lockout.py
Strategie del mutatore di passwordtest_mutator.py
Nuove strategie del mutatore (stagionale, caratteri speciali)test_mutator_extended.py
Rotatore proxy (health-check, declassamento)test_proxy.py
Dataclass Result e SessionReporttest_result.py
Mock protocollo SSHtest_protocols_ssh.py
Mock protocollo FTPtest_protocols_ftp.py
Mock HTTP Basic e Digesttest_protocols_http.py
WordlistDimensioneIdeale Per
rockyou.txt~14 MDizionario generale
SecLists/Passwords/VarieSpecifiche per protocollo
kaonashi.txt~64 MCopertura avanzata
Derivata da OSINTVariabileAttacchi mirati
Tipo di PasswordDizionarioModalità SmartSpray (comune)
4 caratteri~90%~95%~60%
6 caratteri~65%~75%~25%
8 caratteri misti~15%~25%~5%
10+ caratteri complessi<5%<5%<1%