
Generatore di pattern di password comuni utilizzando liste di stringhe
$ git clone https://github.com/localh0t/m4ngl3m3
$ cd m4ngl3m3
$ ./main.py
usage: main.py [-h] [-fy FROM_YEAR] [-ty TO_YEAR] [-sy] [-nf NUMBERS_FILE]
[-sf SYMBOLS_FILE] [-cf CUSTOM_FILE] [-sbs] [-sap]
[-mm MUTATION_METHODS]
MUTATION_MODE STRINGS_FILE OUTPUT_FILE
Common password pattern generator using strings list
positional arguments:
MUTATION_MODE Mutation mode to perform: (prefix-mode |
suffix-mode | dual-mode)
STRINGS_FILE File with strings to mutate
OUTPUT_FILE Where to write the mutated strings
optional arguments:
-h, --help show this help message and exit
-fy FROM_YEAR, --from-year FROM_YEAR
Year where our iteration starts (default:
2015)
-ty TO_YEAR, --to-year TO_YEAR
Year where our iteration ends (default:
2020)
-sy, --short-year Also add shorter year form when iterating
(default: False)
-nf NUMBERS_FILE, --numbers-file NUMBERS_FILE
Numbers prefix/suffix file (default:
./files/numbers/numbers_set2.txt)
-sf SYMBOLS_FILE, --symbols-file SYMBOLS_FILE
Symbols prefix/suffix file (default:
./files/symbols/symbols_set2.txt)
-cf CUSTOM_FILE, --custom-file CUSTOM_FILE
Custom words/dates/initials/etc file
(default: None)
-sbs, --symbols-before-suffix
Insert symbols also before years/numbers/
custom (when in suffix-mode or dual-mode)
(default: False)
-sap, --symbols-after-prefix
Insert symbols also after years/numbers/
custom (when in prefix-mode or dual-mode)
(default: False)
-mm MUTATION_METHODS, --mutation-methods MUTATION_METHODS
Mutation methods to perform (comma
separated, no spaces) (valid: see
MUTATION_METHODS.md)
(default:
normal,uppercase,firstup,replacevowels)
Qui impostiamo dove vogliamo che il nostro script inizi e finisca di iterare sugli anni. Molte volte le persone includono l'anno corrente nel tentativo di aggiungere un po' di entropia. Poiché le password potrebbero essere obsolete, o gli anni inclusi potrebbero essere nel (prossimo) futuro, li aggiungiamo come intervallo. Per ambienti online, adotteremo un approccio conservativo e includeremo solo intervalli dell'ordine di (-1, +1) o (-2, +2). Per ambienti offline, l'intervallo potrebbe essere più ampio, fino a (-20, +5) o addirittura (-50, +10). Esempio di output:
password2017
[...]
password2018
[...]
password2019
Durante l'iterazione degli anni, aggiungi anche la forma più breve a due cifre. Esempio di output:
password17
[...]
password18
[...]
password19
In questo argomento selezioneremo un file contenente numeri che le persone aggiungono frequentemente alle loro password. Di default ho incluso 6 set, il più grande è il 6, e gli altri sono sottoinsiemi del precedente. I numeri inclusi nei primi set (1,2…) hanno maggiori probabilità di essere presenti rispetto a quelli solo inclusi nei set successivi (…5,6). Di nuovo, per ambienti online, utilizzeremo i primi tre set, mentre in ambienti offline potremmo usare gli ultimi. Di default, lo script usa il set numero 2. Esempio di output:
password1
[...]
password123
[...]
password1234
In questo argomento selezioneremo un file contenente simboli che le persone aggiungono frequentemente alle loro password. Di nuovo, il set numero 1 è il più corto, il set numero 6 è il più grande. I simboli inclusi nei primi set (1,2…) hanno maggiori probabilità di essere presenti rispetto a quelli solo inclusi nei set successivi (…5,6). Di default, lo script usa il set numero 2. Esempio di output:
password123!
[...]
password2018?
[...]
password1234.
Qui aggiungiamo qualsiasi altra cosa sappiamo sui nostri target (e che non è considerata la "base" della password stessa). Lascia fluire la creatività! Può includere iniziali dell'azienda, date di nascita, date speciali… fino a anni specifici, parole chiave brevi, ecc. Queste stringhe personalizzate verranno trattate allo stesso modo di anni/numeri. Esempio di output:
passwordABC
[...]
password01011980!
[...]
password.admin
In questo parametro selezioneremo come lo strumento lavorerà quando sposta le stringhe. Puoi scegliere una delle tre modalità:
File contenente stringhe da mutare. Se ad esempio stai eseguendo un penetration test e non sai da dove iniziare, ti suggerirei di usare uno strumento come CeWL per fare spidering sul sito web dell'azienda e tenere le parole più ricorrenti (includendo ovviamente il nome dell'azienda).
Semplicemente, il file in cui vogliamo scrivere le stringhe mutate.
Quando questo flag è abilitato e stiamo eseguendo lo strumento in suffix-mode o dual-mode, lo script aggiungerà anche i simboli prima di anni/numeri/personalizzati. Esempio di output:
password2018!
[...]
password!2018
[...]
Quando questo flag è abilitato e stiamo eseguendo lo strumento in prefix-mode o dual-mode, lo script aggiungerà anche i simboli dopo anni/numeri/personalizzati. Esempio di output:
!2018password
[...]
2018!password
[...]
In questo parametro definiamo quali metodi di mutazione verranno eseguiti. I metodi di mutazione sono trasformazioni di base eseguite prima di iniziare a iterare su anni/numeri/simboli/personalizzati. Puoi selezionare tutti i metodi di mutazione che desideri. Per un elenco di tutti i metodi di mutazione validi, consulta: MUTATION_METHODS.md.
Di default, m4ngl3m3! viene eseguito con i seguenti: Normal, UpperCase, FirstUp e ReplaceVowels.
Per vedere alcuni esempi di utilizzo di base, consulta: USAGE_EXAMPLES.md
Vedi: LICENSE.md