RSMangler
Prend une wordlist et génère des permutations mutilées : leetspeak, changements de casse, ajout de nombres/années, pour construire des wordlists ciblées de devinette de mot de passe. Takes a wordlist and generates mangled permutations — leetspeak, case changes, appended numbers/years — for building targeted password-guessing wordlists.
↗ https://github.com/digininja/RSManglerOverview
RSMangler is a Ruby wrapper around John the Ripper’s mangling rule concepts, applying a broad set of transformations (leetspeak substitution, case flipping, year/number appending, pluralization, reversal, doubling) to an input wordlist and emitting every permutation. It’s typically paired with a targeted base wordlist — company names, employee names from OSINT, seasons/years — to build a small, high-hit-rate list for password spraying or offline cracking rather than relying on a massive generic list.
Common Usage
Mangle a base wordlist and print results to stdout
rsmangler --file base_words.txt
Write mangled output to a file
rsmangler --file base_words.txt --output mangled.txt
Combine multiple base word files
rsmangler --file names.txt --file seasons.txt --output combined.txt
Restrict output to realistic password lengths
rsmangler --file base_words.txt --min-length 8 --max-length 16 --output mangled.txt
Example
# Base word: "Summer"
# RSMangler produces variants such as:
# Summer2026, summer2026, Summer!, $ummer, Summ3r
# Summer123, SUMMER, rem mus (reversed), Summers
Tips
- Chain a small OSINT-derived name/season/company list through RSMangler before feeding it to a password spray tool — far more effective than brute-forcing with rockyou.txt against AD lockout policies
- Output can grow very large fast; use
--min-length/--max-lengthto keep it aligned with the target’s known password policy - Disable specific rule categories (e.g.
--not-leet,--not-years) when you know they don’t apply, to cut down noise
Help / Man page
Usage: rsmangler [options] file1 file2 ...
Specific options:
-f, --file FILE Read words from FILE (can be used multiple times)
-o, --output FILE Write output to FILE instead of stdout
-p, --min-length INT Minimum length of output words
-x, --max-length INT Maximum length of output words
--not-leet Disable leetspeak substitution
--not-years Disable year appending
--not-mixcase Disable case mangling
--not-pluralize Disable pluralization
--not-reverse Disable word reversal
--not-double Disable word doubling
-h, --help Show this help
Vue d’ensemble
RSMangler est un wrapper Ruby autour des concepts de règles de mangling de John the Ripper, appliquant un large ensemble de transformations (substitution leetspeak, inversion de casse, ajout d’années/nombres, pluralisation, inversion, doublement) à une wordlist d’entrée et produisant chaque permutation. Il est typiquement associé à une wordlist de base ciblée (noms d’entreprise, noms d’employés issus d’OSINT, saisons/années) pour construire une petite liste à fort taux de succès pour le password spraying ou le cracking hors-ligne, plutôt que de s’appuyer sur une liste générique massive.
Utilisation courante
# Mutiler une wordlist de base et afficher les résultats sur stdout
rsmangler --file base_words.txt
# Écrire la sortie mutilée dans un fichier
rsmangler --file base_words.txt --output mangled.txt
# Combiner plusieurs fichiers de mots de base
rsmangler --file names.txt --file seasons.txt --output combined.txt
# Restreindre la sortie à des longueurs de mot de passe réalistes
rsmangler --file base_words.txt --min-length 8 --max-length 16 --output mangled.txt
Exemple
# Mot de base : "Summer"
# RSMangler produit des variantes telles que :
# Summer2026, summer2026, Summer!, $ummer, Summ3r
# Summer123, SUMMER, rem mus (inversé), Summers
Conseils
- Chaîner une petite liste de noms/saisons/entreprises issue d’OSINT via RSMangler avant de l’injecter dans un outil de password spraying : bien plus efficace que le brute-force avec rockyou.txt face aux politiques de verrouillage AD
- La sortie peut grossir très rapidement ; utiliser
--min-length/--max-lengthpour rester aligné avec la politique de mot de passe connue de la cible - Désactiver des catégories de règles spécifiques (par ex.
--not-leet,--not-years) quand on sait qu’elles ne s’appliquent pas, pour réduire le bruit
Aide / Page de manuel
Usage: rsmangler [options] file1 file2 ...
Specific options:
-f, --file FILE Read words from FILE (can be used multiple times)
-o, --output FILE Write output to FILE instead of stdout
-p, --min-length INT Minimum length of output words
-x, --max-length INT Maximum length of output words
--not-leet Disable leetspeak substitution
--not-years Disable year appending
--not-mixcase Disable case mangling
--not-pluralize Disable pluralization
--not-reverse Disable word reversal
--not-double Disable word doubling
-h, --help Show this help