Mask Attack — Umfassende Operation

Referenzdokument des ProjektsTime2Crack
Empfänger: Entwickler, Sicherheitswissenschaftler, Fortgeschrittene

Inhalt

  • Überblick
  • Historischer und akademischer Hintergrund
  • Konzeptionelle Stiftungen: Warum Masken arbeiten
  • Architektur eines modernen Maskenangriffs
  • Mask Syntax (Hashcat/JtR)
  • Keyspace Reduktion: mathematisches Prinzip
  • UmsetzungTime2Crack: addMaskAttacks()
  • Datumserkennung und strukturelle Reduktion
  • Hochsicherheitskalibrierung
  • Benchmarks und Größenordnungen
  • Konkrete Beispiele für Maskenriss
  • Vergleich mit Brutkraft, Hybrid undPCFG
  • Einschränkungen des Maskenangriffs
  • Effektive Verteidigung
  • Referenzen

  • 1. Überblick

    Maskenangriff besteht aus dem Test von Passwörtern, die einem präzise Positionsform statt aller möglichen Kombinationen.

    Beispiel: Statt alle Raum 8 Zeichen aus 95 Symbolen zu testen (95^8), zielt der Angreifer auf ein wahrscheinliches Motiv wie:

  • 5 winzig,
  • 2 Ziffern.
  • Entweder die Hashcat Maske ?u?l?l?l?l?l?d?d.

    Die zentrale Idee: menschliche Passwörter sind nicht zufällig. Sie sind oft strukturiert (Thomas42, Marine2024, Bonjour!1Die Maske nutzt genau diese Regelmäßigkeit aus.


    2. Historischer und akademischer Hintergrund

    2.1 Ursprung

    Die Logik der Masken ist alt: aus den ersten Cracking-Tools beobachteten die Operatoren, dass die Passwortrichtlinien repetitive Formate erzeugen.

    Industrialisierung kommt mit:

  • John the Ripper (inkrementale Modi und Muster),
  • Hashcat (superoptimierte GPU-Maske-Modi),
  • massive Lecks (RockYou, LinkedIn, Adobe), die die häufigsten Strukturen identifiziert haben.
  • 2.2 Empirische Validierung

    Die offensive/defensive Literatur konvergiert: ein sehr großer Anteil an realen Passwörtern folgt einfachen Mustern (Wort + Ziffern, Haupt- + Wort + Jahr, etc.).

    Wheeler (USENIX 2016), und die probabilistischen Werke (Markov/PCFG/OMEN), zeigen, dass die Struktur so entscheidend ist wie die Bruttolänge.


    3. Konzeptionelle Stiftungen: Warum Masken funktionieren

    3.1 Menschen erzeugen Strukturen, nicht zufällig

    Die meisten Benutzer bauen Speichergeheimnisse:

  • bekanntes Wort,
  • Variation des Bruchs,
  • digitales Suffix,
  • optionales Endsymbol.
  • Diese Strategie ist in Masken vorhersehbar und sehr komprimierbar.

    3.2 Komplexitätspolitiken verbessern die Vorhersagbarkeit

    Eine Regel des Typs "1 Hauptstadt, 1 Ziffer, 1 Symbol" verhängt keine Zufallskraft; sie drängt oft auf stabile Muster:

  • Mot123!
  • Prénom2024
  • Ville75#
  • Die Maske ist das ideale Werkzeug, um diese Diagramme mit sehr niedrigen Kosten zu durchsuchen.

    3.3 Reduzierung des effektiven Schlüsselraums

    Für ein Passwort der Länge 8 :

  • Bruttowertschöpfung insgesamt (95^8) 6.63e15 Kandidaten,
  • Maske ?u?l?l?l?l?d?d = 26 26^4 10^2 = 1.19e9 Kandidaten.
  • Die Reduktion ist mehrere Millionen Mal, während ein gemeinsames menschliches Muster bedeckt.


    4. Architektur eines modernen Maskenangriffs

    Art der Pipeline:

    1) Profilage de la cible / du corpus
       -> structures fréquentes (L8D2, L6D4, U1L5D2, etc.)
    

    2) Generation der Kandidatenmasken -> geordnet nach Wahrscheinlichkeit

    3) GPU Ausführung (Hashcat -a 3) -> Paralleltests mit hoher Geschwindigkeit

    4) Anpassungsanpassung -> wir halten die Masken hoch, wir verbreiten die Schwachen

    Der Erfolg hängt weniger von der großen Menge an Masken ab als von ihrer Priorisierung.


    5. Maske Syntax (Hashcat/JtR)

    5.1 Basisklassen

  • ?l : klein (a-z)
  • ?u : Kapitale (A-Z)
  • ?d : Nummer (0-9)
  • ?s : druckbares Symbol
  • ?a : Standard gemischtes Alphabet (oft) ?l?u?d?s)
  • 5.2 Beispiele

  • ?u?l?l?l?l?d?d - > Thomas42
  • ?l?l?l?l?l?l?d?d?d?d - > summer2024
  • ?u?l?l?l?l?l?l?s?d - > Marine!7
  • 5.3. Benutzerdefinierte Masken

    Hashcat erlaubt benutzerdefinierte Zeichensätze (-1, -2, etc.), beispielsweise:

  • -1 ?l?uéèàç für lateinische Sprachen,
  • -2 0123456789!@# für wahrscheinliche Suffixe,
  • dann kombinierte Maske ?1?1?1?1?2?2.

  • 6. Schlüsselraumreduktion: mathematisches Prinzip

    Oder eine Maske der Länge n mit Positions-Kardinalitäten c1, c2, ..., cn.

    Der maskierte Schlüsselbereich ist:

    KMaske = D(i)

    Zeit (Budgetmodell):

    T = Kmask / rate

    In einem naiven, unmaskierten Modell:

    Kvoll = cs^n

    Die Maske gewinnt:

    Gain = Kfull / K_mask

    Je stärker die Positionsbeschränkungen (z.B. Ziffern am Ende, Kapital im Kopf) sind, desto größer ist der Gewinn.


    7. Implementierung inTime2Crack: addMaskAttacks()

    Time2Crackdie Maskenlogik in app.js :

  • Funktion: addMaskAttacks(rows, full, len, cs, kbPat, seq, weak, dt, pw)
  • Kategorie: cat: "mask"
  • Anzeige: aMask / Anmerkung nMaskPositional, nKBDetected, nSeqDetected, nDateDetected
  • 7.1. Berechnung des maskierten Schlüsselraums

    Der Code zählt die tatsächlichen Ereignisse jedes Zeichentyps im Passwort:

  • Großbuchstaben,
  • winzig,
  • Zahlen,
  • Symbole.
  • Dann gebaut:

    maskKS = 26^U 26 10^D 33^ (Annäherung über interne Konstanten)

    Dies modelt einen Angreifer, der die Struktur nach Typ kennt, nicht nur die Gesamtlänge.

    7.2 Sonderfälle

  • weak : Schätzung über weakGuessTime(a.rate) (kleiner strömungsabhängiger Bereich),
  • dt (Datum erkannt): Reduktion über detectDateAndReduce(),
  • ansonsten: Standard-Positionsschlüsselraum.
  • Die Zeit wird dann von budgetTime(effectiveMaskGuesses, a.rate) (mit Masken-Rankfaktor und Unicode/Datum-Verarbeitung).


    8. Datumserkennung und strukturelle Reduktion

    Time2Crackeine bestimmte Datumsverarbeitung (hasDate, detectDateAndReduce)

  • Jahresnachweis 1600-2099,
  • Erfassung von Datumsmustern (DD/MM/YYYY, Trennvarianten),
  • Ersatz eines riesigen Raumes (10^dateChars) durch einen plausiblen Satz (~200 années oder ~36500 dates)
  • Folgen: ein Typ-Passwort Mot2024! Dies entspricht der Offensive-Praxis.


    9. Hochsicherheitskalibrierung

    Wenn der High-Fidelity-Modus aktiv ist, erhält die Maskenkategorie einen zusätzlichen Multiplikator in applyHighFidelityCalibration() :

  • wenn Tastaturmuster / Sequenz / Datum: zusätzlicher Reduktionsfaktor,
  • Ansonsten: konservative Schätzung.
  • Intuition: Diese Signale erhöhen die Wahrscheinlichkeit eines frühen Rankings in der Zeile der getesteten Masken.


    10. Benchmarks und Größenordnungen

    Größenordnungen (Profil 12x RTX 4090):

    AlgorithmenCa.Zeit für 1. 9 Kandidaten ------ MD5~2.03 TH/s~0.0005 s SHA-1~610 GH/s~0.0016 s SHA-256~272 GH/s~0.0037 s NT2 ARBEITSLOSIGKEIT~3.46 TH/s~0.0003 s bcrypt (Kosten 10)~69 kH/s~4.0 h Argon2id~800 H/s~14.5 days

    Lesung:

  • auf Hash schnell, die Maske ist überwältigend,
  • auf langsamen Hash, es bleibt sehr gefährlich bei häufigen Mustern, aber die Kosten werden konkret.

  • 11. Konkrete Beispiele für Maskenrisse

    1.1.1 Thomas42

  • relevante Maske: ?u?l?l?l?l?l?d?d
  • Schlüsselbereich: 26 26^4 10^2 (Betrag der Größenordnung ~1e9)
  • auf NTLM/MD5: fast sofort.
  • 11.2 summer2024

  • relevante Maske: ?l?l?l?l?l?l?d?d?d?d
  • wenn festgestelltes Jahr, starke Reduktion (Jahre plausible <<) 10^4)
  • ANHANG Marine!7

  • relevante Maske: ?u?l?l?l?l?l?s?d
  • ein sehr häufiges Muster in der Unternehmenspolitik.

  • 12. Vergleich mit Brutkraft, Hybrid undPCFG

    AngriffStarker PunktNiedriger Punkt ------ BruttowertschöpfungUmfassende Abdeckungexponentielle Kosten MaskAusgezeichnete Effizienz bei menschlichen StrukturenSensibil für schlechte Maskenwahl Hybride/RuheSehr gut auf Wörtern + MutationenAbhängig von einem Grundwort PCFGglobale Grammatik erfassenMehr kostenaufwendig zu trainieren / zu betreiben

    In der Praxis kombinieren Betreiber oft Maske + Regeln + probabilistisch.


    13. Einschränkungen von Maskenangriff

  • Abhängigkeit von der richtigen Maske : ein schlechter Satz von Masken verliert schnell in der Ausbeute.
  • Niedrige Verallgemeinerung außerhalb der Struktur : auf einem wirklich zufälligen Passwort verschwindet der Vorteil.
  • Kombinierende Explosion, wenn Masken zu breit : ?a Wiederholt auf lange Länge kehrt nahe der brutalen Kraft zurück.
  • Teilsprachliche Erfassung : Unicode/diacritic alphabets erfordern benutzerdefinierte Spiele.

  • 14. Wirksame Verteidigung

    14.1 Benutzerseite

  • einen Passwort-Manager verwenden,
  • lange zufällige Passwörter erzeugen (>= 16),
  • völlig vermeiden Muster Mot+année, Prénom+chiffres, Majuscule+mot+symbole.
  • 14.2. Systemseite

  • Speicherung mit Argon2id (oder hoher Kosten-Bry),
  • Systematic MFA,
  • Blockieren von Kompromisskennwörtern,
  • Telemetrie der Verbindung und Erkennung von Anomalien.
  • 14.3 Politik

  • Prioritätslänge und Kompromisskontrolle,
  • die Regeln der rein kosmetischen Komplexität zu reduzieren, die vorhersehbare Muster bevorzugen.

  • 15. Bibliographische Referenzen

    Wissenschaftliche Quellen

    Wheeler, D.L. (2016). zxcvbn: Low-Budget-Passwortstärkeschätzung. 25. USENIX Security Symposium. Weir, M., Aggarwal, S., de Medeiros, B., & Glodek, B. (2009). Passwort-Tracking unter Verwendung probabilistischer kontextfreier Grammatik. IEEE Symposium über Sicherheit und Datenschutz. Dürmuth, M., Angelstorf, F., Horsch, J., et al. (2015). OMEN: Schnelleres Passwort-Guessing mit einer BestellungMarkovEnumerator. ESSoS. Ur, B., Kelley, P. G., Komanduri, S., et al. (2012). Wie misst Ihr Passwort? USENIX Security.

    Industrielle und technische Quellen

    Hashcat Wiki.
    MaskAngriff (-a 3). http://hashcat.net/wiki/ Hashcat (Benchmarks). http://hashcat.net/hashcat/ Hive Systems (Passworttabelle). https://www.hivesystems.io/password-table

    Webquellen, die in der Anmeldung genannt werdenTime2Crack

    USENIX Security 2016 (Wheeler). https://www.usenix.org/conference/usenixsecurity16/tech-sessions/presentation/wheeler
    ProjektdokumentTime2Crack— Version 1.0 — 2026-04-01 Quellcode: app.js (Funktionen) addMaskAttacks, detectDateAndReduce, hasDate, budgetTime, applyHighFidelityCalibration)*