pipal

Outil de statistiques et d'analyse de mots de passe. Analyse des dumps de mots de passe pour identifier motifs, mots de base, substitutions courantes, distributions de longueur et jeux de caractères afin d'améliorer l'efficacité du cracking. Password statistics and analysis tool. Analyzes password dumps to identify patterns, base words, common substitutions, length distributions, and character sets to improve cracking efficiency.

↗ https://github.com/digininja/pipal

Overview

pipal analyzes a list of passwords (from a breach dump or cracked hashes) and generates statistical reports. Understanding password patterns for a specific organization or breach helps create targeted wordlists and rules that dramatically improve cracking success rates.

Basic Usage

Analyze a password list

pipal passwords.txt

Save output to file

pipal passwords.txt > analysis.txt

Run with all analysis

pipal --top 20 passwords.txt

What pipal Analyzes

# Length distribution
# Most common passwords
# Base words (before l33t substitutions)
# Character set breakdown (lower, upper, digits, special)
# Common patterns: word+number, word+year, word+symbol
# Keyboard patterns (qwerty, 12345, etc.)
# Top N passwords and patterns
pipal cracked_passwords.txt

→ Example output: Total entries = 10000 Total unique entries = 8743 Top 10 passwords: password = 142 (1.42%) 123456 = 89 (0.89%) … Password length: 1-6: 234 (2.34%) 7: 1892 (18.92%) 8: 3021 (30.21%)

Targeted Analysis

Focus on a specific breach or company After cracking hashes from target, analyze results:

pipal cracked_domain_hashes.txt
# Look for:
# - Company name variations (companyname1, companyname!)
# - Year patterns (CompanyName2023)
# - Location-based passwords
# - Season + year patterns (Winter2023!)

Building Targeted Wordlists

Step 1: Get/crack some passwords from target

hashcat -m 1000 hashes.txt rockyou.txt -o cracked.txt

Step 2: Analyze patterns

pipal cracked.txt > analysis.txt

Step 3: Build custom wordlist from company name + patterns If analysis shows “Company2023!” is common:

echo "company" | hashcat --stdout -r /usr/share/hashcat/rules/best64.rule

Step 4: Create masks based on pipal output If most passwords are 8 chars, mixed case + digit:

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

Tips

  • Run pipal on any available breach data from the target’s industry first
  • Company name + year is the most common enterprise password pattern
  • Identify “seasonal” patterns: Summer2024!, Winter2023!, etc.
  • Use pipal output to create targeted hashcat rules for the specific organization
  • Combine with CeWL: crawl the target site for words, then apply patterns pipal reveals
Help / Man page
pipal [options] FILE

FILE        Password file to analyze (one password per line)

--top N     Show top N results (default: 10)
--output F  Save output to file
--help      Show help

Output sections:
  - Length analysis
  - Character type breakdown
  - Top passwords
  - Base word analysis
  - Suffix/prefix patterns
  - Keyboard patterns

Vue d’ensemble

pipal analyse une liste de mots de passe (issue d’une fuite de données ou de hashes crackés) et génère des rapports statistiques. Comprendre les motifs de mots de passe propres à une organisation ou une brèche spécifique aide à créer des wordlists et des règles ciblées qui améliorent considérablement le taux de succès du cracking.

Utilisation de base

# Analyser une liste de mots de passe
pipal passwords.txt

# Sauvegarder la sortie dans un fichier
pipal passwords.txt > analysis.txt

# Lancer avec toute l'analyse
pipal --top 20 passwords.txt

Ce que pipal analyse

# Distribution des longueurs
# Mots de passe les plus courants
# Mots de base (avant substitutions l33t)
# Répartition du jeu de caractères (minuscules, majuscules, chiffres, spéciaux)
# Motifs courants : mot+nombre, mot+année, mot+symbole
# Motifs clavier (qwerty, 12345, etc.)
# Top N des mots de passe et motifs
pipal cracked_passwords.txt

→ Exemple de sortie : Total entries = 10000 Total unique entries = 8743 Top 10 passwords: password = 142 (1.42%) 123456 = 89 (0.89%) … Password length: 1-6: 234 (2.34%) 7: 1892 (18.92%) 8: 3021 (30.21%)

Analyse ciblée

Concentrez-vous sur une brèche ou une entreprise spécifique. Après avoir cracké des hashes de la cible, analysez les résultats :

pipal cracked_domain_hashes.txt
# Rechercher :
# - Variations du nom de l'entreprise (nomentreprise1, nomentreprise!)
# - Motifs avec année (NomEntreprise2023)
# - Mots de passe basés sur la localisation
# - Motifs saison + année (Winter2023!)

Construction de wordlists ciblées

# Étape 1 : obtenir/cracker des mots de passe depuis la cible
hashcat -m 1000 hashes.txt rockyou.txt -o cracked.txt

# Étape 2 : analyser les motifs
pipal cracked.txt > analysis.txt

# Étape 3 : construire une wordlist personnalisée à partir du nom de l'entreprise + motifs
# (si l'analyse montre que "Company2023!" est fréquent)
echo "company" | hashcat --stdout -r /usr/share/hashcat/rules/best64.rule

# Étape 4 : créer des masks à partir de la sortie de pipal
# (si la plupart des mots de passe font 8 caractères, casse mixte + chiffre)
hashcat -m 1000 hashes.txt -a 3 ?u?l?l?l?l?l?d?d

Conseils

  • Lancez d’abord pipal sur toute donnée de brèche disponible pour le secteur de la cible
  • Le motif nom d’entreprise + année est le plus courant en entreprise
  • Identifiez les motifs « saisonniers » : Summer2024!, Winter2023!, etc.
  • Utilisez la sortie de pipal pour créer des règles hashcat ciblées pour l’organisation spécifique
  • Combinez avec CeWL : crawlez le site cible pour en extraire des mots, puis appliquez les motifs révélés par pipal
Aide / Page de manuel
pipal [options] FILE

FILE        Password file to analyze (one password per line)

--top N     Show top N results (default: 10)
--output F  Save output to file
--help      Show help

Output sections:
  - Length analysis
  - Character type breakdown
  - Top passwords
  - Base word analysis
  - Suffix/prefix patterns
  - Keyboard patterns