Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
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
Strumenti/GitHubGitHub/iphelix/pack
Password CrackingAttacchi alle PasswordAnalisi HashUtilità e Framework
GitHubiphelix/pack

pack

PACK (Kit di Analisi e Cracking delle Password)

Vedi RepositorySito web
890174317 anni faRevisionato da Kitploit

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

Kit di Analisi e Cracking delle Password di Peter Kacherginsky (iphelix)

PACK (Password Analysis and Cracking Toolkit) è una collezione di utilità sviluppate per aiutare nell'analisi di liste di password al fine di migliorare il cracking delle password attraverso il rilevamento di pattern di maschere, regole, set di caratteri e altre caratteristiche delle password. Il toolkit genera file di input validi per la famiglia di cracker di password Hashcat.

NOTA: Il toolkit stesso non è in grado di craccare le password, ma è progettato per rendere più efficiente il funzionamento dei cracker di password.

Selezione delle liste di password per l'analisi

Prima di poter iniziare a usare il toolkit dobbiamo stabilire un criterio di selezione delle liste di password. Poiché intendiamo analizzare il modo in cui le persone creano le loro password, dobbiamo ottenere un campione il più grande possibile di password trapelate. Una lista eccellente è basata sulla compromissione di RockYou.com. Questa lista fornisce una collezione sia ampia che diversificata, che dà buoni risultati per password comuni usate da siti simili (es. social network). L'analisi ottenuta da questa lista potrebbe non funzionare per organizzazioni con politiche specifiche sulle password. Pertanto, la selezione del campione di input dovrebbe essere il più vicino possibile al tuo target. Inoltre, cerca di evitare di ottenere liste basate su password già craccate, poiché ciò genererà un bias statistico delle regole e delle maschere utilizzate dal singolo(i) che ha craccato la lista e non dagli utenti reali.

StatsGen

L'analisi più basilare che si possa fare è semplicemente ottenere la lunghezza più comune, il set di caratteri e altre caratteristiche delle password nella lista fornita. Nell'esempio seguente, useremo 'rockyou.txt' contenente circa 14 milioni di password. Lancia statsgen.py con la seguente riga di comando:

$ python statsgen.py rockyou.txt

Di seguito è riportato l'output del comando precedente:

                       _
     StatsGen #.#.#   | |
      _ __   __ _  ___| | _
     | '_ \ / _` |/ __| |/ /
     | |_) | (_| | (__|   < 
     | .__/ \__,_|\___|_|\_\
     | |                    
     |_| [email protected]


[*] Analisi delle password in [rockyou.txt]
[+] Analisi 100% (14344390/14344390) delle password
    NOTA: Le statistiche seguenti sono relative al numero di password analizzate, non al numero totale di password

[*] Lunghezza:
[+]                         8: 20% (2966037)
[+]                         7: 17% (2506271)
[+]                         9: 15% (2191039)
[+]                        10: 14% (2013695)
[+]                         6: 13% (1947798)
...

[*] Set di caratteri:
[+]             loweralphanum: 42% (6074867)
[+]                loweralpha: 25% (3726129)
[+]                   numeric: 16% (2346744)
[+]      loweralphaspecialnum: 02% (426353)
[+]             upperalphanum: 02% (407431)
...

[*] Complessità delle password:
[+]                     digit: min(0) max(255)
[+]                     lower: min(0) max(255)
[+]                     upper: min(0) max(187)
[+]                   special: min(0) max(255)

[*] Maschere semplici:
[+]               stringdigit: 37% (5339556)
[+]                    string: 28% (4115314)
[+]                     digit: 16% (2346744)
[+]               digitstring: 04% (663951)
[+]                 othermask: 04% (576324)
...

[*] Maschere avanzate:
[+]          ?l?l?l?l?l?l?l?l: 04% (687991)
[+]              ?l?l?l?l?l?l: 04% (601152)
[+]            ?l?l?l?l?l?l?l: 04% (585013)
[+]        ?l?l?l?l?l?l?l?l?l: 03% (516830)
[+]            ?d?d?d?d?d?d?d: 03% (487429)
...

NOTA: Puoi ridurre il numero di outlier visualizzati includendo il flag --hiderare che non mostrerà elementi con occorrenza inferiore all'1%.

Ecco cosa possiamo imparare immediatamente dalla lista sopra:

  • La maggior parte delle password ha lunghezza da 6 a 10 caratteri.
  • La maggioranza delle password ha un set di caratteri loweralphanumeric.
  • Non c'è una complessità minima o massima evidente della password.
  • Le password analizzate tendono a seguire una maschera semplice "stringa seguita da cifre".

L'ultima sezione, "Maschere avanzate", contiene le maschere più frequenti nel formato Hashcat. I singoli simboli possono essere interpretati come segue:

?l - un singolo carattere minuscolo
?u - un singolo carattere maiuscolo
?d - una singola cifra
?s - un singolo carattere speciale

Ad esempio, la primissima maschera, "?l?l?l?l?l?l?l?l", corrisponderà a tutte le password alfabetiche minuscole. Data la dimensione del campione, sarai in grado di craccare circa il 4% delle password. Tuttavia, dopo aver generato l'output iniziale, potresti essere interessato a utilizzare filtri per restringere i dati delle password.

Uso dei filtri

Vediamo come gli utenti di RockYou tendono a selezionare le loro password usando la maschera semplice "stringdigit" (una stringa seguita da numeri):

$ python statsgen.py ../PACK-0.0.3/archive/rockyou.txt --simplemask stringdigit -q --hiderare

[*] Analisi delle password in [rockyou.txt]
[+] Analisi 37% (5339556/14344390) delle password
    NOTA: Le statistiche seguenti sono relative al numero di password analizzate, non al numero totale di password

[*] Lunghezza:
[+]                         8: 23% (1267260)
[+]                         7: 18% (981432)
[+]                         9: 17% (939971)
[+]                        10: 14% (750938)
[+]                         6: 11% (618983)
[+]                        11: 05% (294869)
[+]                        12: 03% (175875)
[+]                        13: 01% (103047)
[+]                        14: 01% (65958)

[*] Set di caratteri:
[+]             loweralphanum: 88% (4720184)
[+]             upperalphanum: 06% (325941)
[+]             mixedalphanum: 05% (293431)

[*] Complessità delle password:
[+]                     digit: min(1) max(252)
[+]                     lower: min(0) max(46)
[+]                     upper: min(0) max(31)
[+]                   special: min(0) max(0)

[*] Maschere semplici:
[+]               stringdigit: 100% (5339556)

[*] Maschere avanzate:
[+]          ?l?l?l?l?l?l?d?d: 07% (420318)
[+]            ?l?l?l?l?l?d?d: 05% (292306)
[+]        ?l?l?l?l?l?l?l?d?d: 05% (273624)
[+]          ?l?l?l?l?d?d?d?d: 04% (235360)
[+]              ?l?l?l?l?d?d: 04% (215074)
...

La parte superiore dell'output specifica la percentuale di password totali analizzate. In questo caso, craccando solo le password che corrispondono alla maschera "stringdigit" è possibile recuperare solo circa il 37% del totale, come già mostrato nell'output originale. Successivamente, sembra che solo l'11% di questo tipo di password utilizzi caratteri diversi dal minuscolo. Quindi sarebbe saggio concentrarsi solo su stringhe minuscole che corrispondono a questa maschera. Infine, nella sezione "Maschere avanzate" possiamo vedere che la maggior parte delle password "stringdigit" è composta da una stringa seguita da due o quattro cifre. Con le informazioni ottenute dall'output sopra, possiamo iniziare a creare un'immagine mentale dei pattern di generazione delle password degli utenti target.

Ci sono alcuni altri filtri disponibili per lunghezza della password, maschera e set di caratteri:

Lunghezza: --minlength e/o --maxlength

Maschera semplice: --simplemask [numeric, loweralpha, upperalpha, mixedalpha, loweralphanum, ecc.]

Set di caratteri: --charset [digit, string, stringdigit, digitstring, digitstringdigit, ecc.]

Scarica lo strumento