Skip to content
KitploitKITPLOIT
StrumentiBlog
Log in
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.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
HashcatRosetta — Analizzatore e interprete di regole Hashcat - Una Stele di Rosetta per decodificare la sintassi delle regole di hashcat | Kitploit
Strumenti/GitHubGitHub/bandrel/hashcatrosetta
Password CrackingAttacchi alle PasswordAnalisi HashScripting e AutomazioneUtilità e FrameworkApprendimento e FormazioneSicurezza dell'IA
GitHubbandrel/hashcatrosetta

HashcatRosetta

Analizzatore e interprete di regole Hashcat - Una Stele di Rosetta per decodificare la sintassi delle regole di hashcat

Vedi Repository
71123 giorni faNon ancora revisionato

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
 _   _           _               _   ____                _   _        
| | | | __ _ ___| |__   ___ __ _| |_|  _ \ ___  ___  ___| |_| |_ __ _ 
| |_| |/ _` / __| '_ \ / __/ _` | __| |_) / _ \/ __|/ _ \ __| __/ _` |
|  _  | (_| \__ \ | | | (_| (_| | |_|  _ < (_) \__ \  __/ |_| || (_| |
|_| |_|\__,_|___/_| |_|\___\__,_|\__|_| \_\___/|___/\___|\__|\__\__,_|
                                                                  
    Decodifica la Stele di Rosetta delle Regole di Password Cracking

HashcatRosetta

Un progetto Python progettato per analizzare i file di output della modalità debug 4 e 5 di hashcat al fine di identificare le regole più efficienti e tracciare i pattern di frequenza delle baseword utilizzate durante gli attacchi di password cracking.

Funzionalità

  • Analizza i file di debug di hashcat (--debug-mode 4 e --debug-mode 5) con estrazione automatica di baseword e regole
  • Attribuisce i candidati alle wordlist di origine (modalità 5) per statistiche per-wordlist
  • Traccia l'efficienza delle regole tramite molteplici metriche:
    • Frequenza di applicazione (regole applicate più comunemente)
    • Diffusione delle baseword (regole applicate al maggior numero di baseword uniche)
    • Generazione di candidati (regole che producono il maggior numero di candidati unici)
  • Monitora i pattern delle baseword con log dettagliati delle occorrenze e statistiche
  • Genera report dettagliati con analisi di regole e baseword
  • Esporta l'analisi in formato JSON o CSV per ulteriori elaborazioni
  • Interfaccia a riga di comando per analisi e reportistica semplificate

Installazione

Utilizzo con uv (consigliato)

Se utilizzi uv, puoi eseguire senza installazione:

# Clone the repository
git clone https://github.com/bandrel/HashcatRosetta.git
cd HashcatRosetta

# Run as a module (recommended)
uv run python -m hashcat_rosetta --help

# Or use the installed command
uv run hashcat-rosetta --help

Da sorgente

uv tool install git+https://github.com/bandrel/HashcatRosetta.git

Con dipendenze di sviluppo

Gli strumenti di sviluppo si trovano nel gruppo di dipendenze dev.

# With uv (installs the dev group by default)
uv sync

# With pip (25.1+)
pip install -e . --group dev

Avvio Rapido

Analisi dei File di Debug

Analizza un file di debug di hashcat (mostra il riepilogo per impostazione predefinita):

hashcat-rosetta debug_output.txt

Mostra le regole principali per frequenza:

hashcat-rosetta debug_output.txt --rules --top 10 --metric frequency

Mostra le regole principali per altre metriche:

hashcat-rosetta debug_output.txt --rules --metric basewords
hashcat-rosetta debug_output.txt --rules --metric candidates

Mostra le baseword che appaiono più volte:

hashcat-rosetta debug_output.txt --basewords --top 10

Mostra le wordlist principali (solo modalità debug 5):

hashcat-rosetta debug_output.txt --wordlists --top 10

Mostra statistiche dettagliate per-wordlist (baseword uniche, candidati e regole):

hashcat-rosetta debug_output.txt --wordlists --top 10 --detail

L'output di --wordlists rispecchia quello di --rules: un'intestazione Top N Wordlists seguita da righe numerate Wordlist: <name> (<count>). Quando un file in modalità 5 viene analizzato senza flag di output, il riepilogo predefinito include anche una sezione Wordlist Statistics.

Forza una modalità debug specifica invece di rilevarla automaticamente:

hashcat-rosetta debug_output.txt --debug-mode 5 --wordlists

Mostra un'analisi dettagliata delle baseword:

hashcat-rosetta debug_output.txt --basewords --top 10 --detail --min-occurrences 2

Esporta il report di analisi completo:

hashcat-rosetta debug_output.txt --export report.json --format json
hashcat-rosetta debug_output.txt --export report.csv --format csv

Spiegazione delle Regole

Spiega cosa fa una regola di hashcat passo dopo passo:

hashcat-rosetta --explain "c$1" --baseword admin
hashcat-rosetta --explain "u$!" --baseword myword

Generazione di Mask con Linguaggio Naturale

Genera mask di hashcat da descrizioni in inglese utilizzando un LLM locale:

hashcat-rosetta --mask "The word 'Summer' followed by six digits."

Output:

Mask Suggestions for: 'The word 'Summer' followed by six digits.'
======================================================================

1. Summer?d?d?d?d?d?d
   literal "Summer", then 6 × digit → 1,000,000 candidates
   Why: matches the literal word followed by a 6-digit number

Salva la mask generata in un file:

hashcat-rosetta --mask "The word 'Summer' followed by six digits." -o masks.hcmask

Genera mask da altre descrizioni:

hashcat-rosetta --mask "a capitalized season, two digits, and a special char"
hashcat-rosetta --mask "year 2020-2025 followed by exclamation or question mark"

La funzionalità di generazione delle mask utilizza un server Ollama locale che esegue un endpoint chat compatibile con OpenAI. Per impostazione predefinita, si connette a http://localhost:11434 e utilizza il modello gemma3:27b (vedi sotto). Questi possono essere configurati tramite variabili d'ambiente o flag CLI:

# Using environment variables
OLLAMA_HOST=http://192.168.1.100:11434 OLLAMA_MODEL=llama2:70b \
  hashcat-rosetta --mask "your description here"

# Using CLI flags (override environment variables)
hashcat-rosetta --mask "your description" --ollama-host http://custom.host:11434 --model llama2

Nota sulla sicurezza: Le descrizioni delle mask vengono inviate solo all'endpoint Ollama che configuri (localhost per impostazione predefinita, o ovunque punti --ollama-host/OLLAMA_HOST) — mai a un provider cloud. L'SDK OpenAI viene utilizzato puramente come client HTTP verso quell'endpoint; nessun dato o chiave API viene mai trasmesso a api.openai.com.

Perché gemma3:27b?

Il default è scelto da scripts/benchmark_mask_models.py, che esegue un set fisso di 14 prompt in stile --mask — inclusi back-reference a charset personalizzati e prompt di recall di categoria (libri della Bibbia, riferimenti a versetti biblici, capitali europee) — contro ogni modello candidato installato localmente e valuta ogni risposta in tre modi:

  • Gate deterministico. Ogni prompt ha un checker scritto a mano (keyspace corretto, conteggi di token corretti, nessun suggerimento duplicato, ecc.). Un hard fail significa che la risposta del modello non poteva nemmeno essere parsata in una mask valida (JSON errato, server non responsivo); un soft fail significa che è stata parsata correttamente ma non soddisfaceva la richiesta (conteggio cifre errato, charset personalizzato non vocale, ...). I prompt con soft fail vengono comunque giudicati, non esclusi silenziosamente.
  • Cross-check del keyspace. Il keyspace di ogni suggerimento validato è verificato indipendentemente rispetto a mp64 di hashcat-utils (maskprocessor), quando installato — questo è lo stesso controllo che generate_masks() stesso esegue su ogni suggerimento in produzione, quindi un hard fail del benchmark qui significa anche che l'uso reale di --mask lo avrebbe rifiutato.
  • Giudice LLM. Un modello su un host separato (gemma3:12b su una seconda macchina, scelto specificamente perché non è esso stesso un candidato — evita il bias di auto-valutazione) assegna a ogni risposta un punteggio da 1 a 5 per quanto soddisfa la richiesta originale. Le richieste vengono inviate con il thinking abilitato, poiché un modello lento costa comunque il tempo di round-trip in ogni caso.

Il default raccomandato è il modello più piccolo con zero hard fail e un punteggio medio del giudice ≥ 4. I tre finalisti portati avanti dai round precedenti, rieseguiti contro il set completo di 14 prompt:

Scarica lo strumento