Password Profiling

Password profiling is the practice of analyzing and identifying patterns in passwords, making it easier to guess or crack them.

Passwort-Profiling und die Erstellung von Wortlisten

Passwort-Profiling ist ein zentraler Bestandteil von Penetrationstests und bezieht sich auf die Analyse und Identifikation von Mustern in Passwörtern, um diese leichter zu erraten oder zu knacken. Die Erstellung eigener Wortlisten (Dictionaries) ist dabei ein wichtiger Schritt, insbesondere bei Brute-Force-Angriffen oder Passwort-Cracking. Individuell erstellte Wortlisten, die auf Informationen über das Ziel basieren, können die Erfolgschancen erheblich steigern.


Standard-Passwörter und schwache Passwörter

Standard-Passwörter

Viele IoT-Geräte und Systeme behalten oft ihre Standard-Passwörter bei. Diese sind öffentlich zugänglich und können leicht missbraucht werden. Nützliche Quellen:

Schwache Passwörter

Schwache Passwörter sind leicht zu erraten. Listen solcher Passwörter finden sich hier:


Tools für Passwort-Profiling und Wortlistengenerierung

Crunch

Crunch ist ein leistungsfähiges Tool zur Erstellung von Wortlisten durch Kombination von Zeichen.

  • Beispiel:

    crunch 6 6 abc123 -o wordlist.txt  # Generiert alle Kombinationen aus "abc123" mit einer Länge von 6
    crunch 6 6 -t a@@%%% -o patternlist.txt  # Nutzt Muster: 1. Zeichen "a", 2-3 Kleinbuchstaben, 4-6 Zahlen

CeWL (Custom Wordlist Generator)

CeWL erstellt Wortlisten aus Webseiteninhalten, indem es Wörter extrahiert.

  • Beispiel:

    cewl http://example.com -w wordlist.txt -m 5 -e  # Extrahiert Wörter ab 5 Zeichen und E-Mails

    Optionen:

    • -d: Tiefe der Durchsuchung angeben.

    • --offsite: Durchsucht auch externe Links.

CUPP (Common User Password Profiler)

CUPP erstellt Wortlisten basierend auf Informationen über das Ziel.

  • Beispiel:

    python3 cupp.py -i  # Interaktiver Modus
    python3 cupp.py -l  # Große Wortlisten herunterladen

Wister

Wister generiert kombinierte Wortlisten aus benutzerdefinierten Wörtern.

  • Beispiel:

    python3 wister.py -w "jane doe 2022 summer madrid" -c 1 2 3 -o wordlist.lst

    Optionen:

    • -w: Eingabewörter

    • -c: Maximale Kombinationstiefe

Pydictor

Ein vielseitiger Generator mit regulären Ausdrücken.

  • Beispiel:

    python3 pydictor.py -base chars -len 6 8 -o dict.txt

Bearbeitung von Wortlisten

Kombination und Filterung

  • Kombination mehrerer Listen:

    cat file1.txt file2.txt > combined_list.txt
  • Entfernen von Duplikaten und Sortieren:

    sort combined_list.txt | uniq > cleaned_list.txt

Dynamische Erweiterung

  • Mentalist: Erstellung komplexer Listen durch Nodes (z. B. Substitution, Anhängen).

  • BEWGor: Mutiert bestehende Listen, z. B. durch Groß-/Kleinschreibung oder Suffixe.

    python BEWGor.py -i input_list.txt -o output_list.txt
  • RSMangler: Erweiterung kleiner Listen mit Jahren, Suffixen usw.

    python rsmangler.py -l input_list.txt -o output_list.txt

Praktische Anleitung zur Erstellung zielgerichteter Wortlisten

1. Informationssammlung

  • Tools:

    • theHarvester: E-Mail-Adressen und Domänen

    • Maltego: Beziehungen zwischen Personen und Organisationen

    • Google Dorks: Spezifische Suchanfragen

  • Daten:

    • Namen, Geburtstage, Unternehmensinfos, Jahreszahlen

    • Webseitenbegriffe (Blogposts, Schlagworte)

2. Wortliste generieren

  • Verwende CeWL, um Wörter von Webseiten zu extrahieren.

  • Kombiniere mit Wister und ergänze manuell relevante Begriffe.

3. Zusammenführen und Filtern

  • Führe generierte Listen zusammen:

    cat list1.txt list2.txt | sort | uniq > final_wordlist.txt

4. Testlauf

  • Effektivität der Liste mit Cracking-Tools prüfen:

    hydra -l user -P final_wordlist.txt <target>

Analyse von Wortlisten

Pipal

Pipal liefert Statistiken über Wortlisten.

  • Beispiel:

    ./pipal.r wordlist.txt -o output.txt

Die Kombination aus Passwort-Profiling, zielgerichteter Informationssammlung und der Nutzung spezialisierter Tools ermöglicht es, effektive Wortlisten zu erstellen und Sicherheitslücken gezielt aufzudecken.

Last updated