maskprocessor

Générateur de mots de passe haute performance basé sur des masques. Crée des wordlists à partir de masques de caractères, générant toutes les combinaisons pour un motif de mot de passe donné, à rediriger vers des crackers de mots de passe. High-performance mask-based password generator. Creates wordlists based on character masks — generates all combinations for a given password pattern, outputting them for piping into password crackers.

↗ https://github.com/hashcat/maskprocessor

Overview

maskprocessor generates words based on character masks, producing candidate passwords for offline cracking. It’s part of the hashcat toolkit and is optimized for high-speed generation — faster than using hashcat’s built-in mask attack when you need to save the candidates to a file.

Basic Usage

Generate all 4-digit PINs

mp64 ?d?d?d?d

Generate 8-char lowercase passwords

mp64 ?l?l?l?l?l?l?l?l

Generate patterns with fixed characters

mp64 Pass?d?d?d?d

Save to file

mp64 ?l?l?l?l?l?l > wordlist.txt

Mask Placeholders

# Built-in character sets:
?l = lowercase letters (abcdefghijklmnopqrstuvwxyz)
?u = uppercase letters (ABCDEFGHIJKLMNOPQRSTUVWXYZ)
?d = digits (0123456789)
?s = special characters (!@#$%^&*...)
?a = all printable ASCII (?l?u?d?s combined)
?h = hex lower (0-9a-f)
?H = hex upper (0-9A-F)
?b = all bytes (0x00-0xff)

Custom Character Sets

Define custom sets with -1, -2, -3, -4 6-char password: lowercase + digits only

mp64 -1 ?l?d ?1?1?1?1?1?1

Password: uppercase + specific specials

mp64 -1 ?u?d -2 "@#!" ?1?1?1?1?2

Company password pattern: CompanyName + 4 digits

mp64 "CompanyName?d?d?d?d"

Year-based: word + 19xx or 20xx

mp64 "password?d?d?d?d"

Common Patterns

4-digit PIN

mp64 ?d?d?d?d

6-digit PIN

mp64 ?d?d?d?d?d?d

Uppercase + 5 lowercase + 2 digits (common corporate)

mp64 ?u?l?l?l?l?l?d?d
# Word + year (password2023)
mp64 password20?d?d
mp64 admin20?d?d

Mixed case + digits + special (8 chars)

mp64 ?u?l?l?l?d?d?d?s

Integration with hashcat

Instead of using maskprocessor directly, use hashcat’s mask mode (-a 3) which is faster (GPU-accelerated):

hashcat -m 1000 hashes.txt -a 3 ?u?l?l?l?l?l?d?d

maskprocessor is useful when you need to save candidates to file or pipe to another tool

mp64 ?l?l?l?l?d?d | john --stdin --format=NT hashes.txt

Tips

  • Hashcat’s native mask attack (-a 3) is faster — use maskprocessor only when you need the wordlist file
  • Combine with --increment in hashcat to try all lengths up to N
  • For corporate environments: ?u?l?l?l?l?l?l?d covers many password policies
  • Year patterns (password20?d?d) are extremely common — prioritize them
  • Chain masks with hashcat’s -a 6 (mask+wordlist hybrid) for even better coverage
Help / Man page
mp64 [options] mask

mask characters:
  ?l  lowercase letters
  ?u  uppercase letters
  ?d  digits
  ?s  special characters
  ?a  all printable ASCII
  ?h  hex lowercase
  ?H  hex uppercase
  ?b  all bytes

options:
  -1 CS   Custom charset 1
  -2 CS   Custom charset 2
  -3 CS   Custom charset 3
  -4 CS   Custom charset 4
  -o FILE Output file
  -z      Disable output buffering

Vue d’ensemble

maskprocessor génère des mots à partir de masques de caractères, produisant des candidats de mots de passe pour le cracking offline. Il fait partie de la boîte à outils hashcat et est optimisé pour une génération à haute vitesse, plus rapide que l’attaque par masque intégrée à hashcat quand il faut sauvegarder les candidats dans un fichier.

Utilisation de base

# Générer tous les PIN à 4 chiffres
mp64 ?d?d?d?d

# Générer des mots de passe de 8 caractères en minuscules
mp64 ?l?l?l?l?l?l?l?l

# Générer des motifs avec des caractères fixes
mp64 Pass?d?d?d?d

# Sauvegarder dans un fichier
mp64 ?l?l?l?l?l?l > wordlist.txt

Espaces de caractères du masque

# Jeux de caractères intégrés :
?l = lowercase letters (abcdefghijklmnopqrstuvwxyz)
?u = uppercase letters (ABCDEFGHIJKLMNOPQRSTUVWXYZ)
?d = digits (0123456789)
?s = special characters (!@#$%^&*...)
?a = all printable ASCII (?l?u?d?s combined)
?h = hex lower (0-9a-f)
?H = hex upper (0-9A-F)
?b = all bytes (0x00-0xff)

Jeux de caractères personnalisés

# Définir des jeux personnalisés avec -1, -2, -3, -4
# Mot de passe de 6 caractères : minuscules + chiffres uniquement
mp64 -1 ?l?d ?1?1?1?1?1?1

# Mot de passe : majuscules + caractères spéciaux spécifiques
mp64 -1 ?u?d -2 "@#!" ?1?1?1?1?2

# Motif de mot de passe d'entreprise : NomEntreprise + 4 chiffres
mp64 "CompanyName?d?d?d?d"

# Basé sur l'année : mot + 19xx ou 20xx
mp64 "password?d?d?d?d"

Motifs courants

# PIN à 4 chiffres
mp64 ?d?d?d?d

# PIN à 6 chiffres
mp64 ?d?d?d?d?d?d

# Majuscule + 5 minuscules + 2 chiffres (motif d'entreprise courant)
mp64 ?u?l?l?l?l?l?d?d

# Mot + année (password2023)
mp64 password20?d?d
mp64 admin20?d?d

# Casse mixte + chiffres + spécial (8 caractères)
mp64 ?u?l?l?l?d?d?d?s

Intégration avec hashcat

Plutôt que d’utiliser maskprocessor directement, préférer le mode masque de hashcat (-a 3), plus rapide car accéléré par GPU :

hashcat -m 1000 hashes.txt -a 3 ?u?l?l?l?l?l?d?d

maskprocessor est utile quand il faut sauvegarder les candidats dans un fichier ou les rediriger vers un autre outil

mp64 ?l?l?l?l?d?d | john --stdin --format=NT hashes.txt

Conseils

  • L’attaque par masque native de hashcat (-a 3) est plus rapide : utiliser maskprocessor seulement quand il faut le fichier wordlist
  • Combiner avec --increment dans hashcat pour essayer toutes les longueurs jusqu’à N
  • Pour les environnements d’entreprise : ?u?l?l?l?l?l?l?d couvre beaucoup de politiques de mot de passe
  • Les motifs d’année (password20?d?d) sont extrêmement courants : à prioriser
  • Enchaîner les masques avec le mode hybride masque+wordlist de hashcat (-a 6) pour une couverture encore meilleure
Aide / Page de manuel
mp64 [options] mask

mask characters:
  ?l  lowercase letters
  ?u  uppercase letters
  ?d  digits
  ?s  special characters
  ?a  all printable ASCII
  ?h  hex lowercase
  ?H  hex uppercase
  ?b  all bytes

options:
  -1 CS   Custom charset 1
  -2 CS   Custom charset 2
  -3 CS   Custom charset 3
  -4 CS   Custom charset 4
  -o FILE Output file
  -z      Disable output buffering