Hybrider Angriff — Umfassende Operation
Referenzdokument des ProjektsTime2Crack
Empfänger: Entwickler, Sicherheitswissenschaftler, Fortgeschrittene
Inhalt
addHybridAttacks()1. Überblick
Hybrid-Angriff ist die Rißmethode, die kombiniert ein Wörterbuchwortliste mit eine Reihe von TransformationsregelnAnstatt jedes Wort im Wörterbuch zu testen, wie es ist (reiner Wörterbuch-Angriff), erzeugt es auf der Fliege alle plausiblen Varianten jedes Wortes — Kapitalisierungen, Charaktersubstitutionen, Präfix/Suffix-Additionen, Inversionen — und testet sie systematisch.
Warum ist es so effektiv? Die Menschen wählen "Passwort" nicht als Passwort, sie wählen "Password1", "p@ssw0rd", "PASSWORD123" oder "Passwort!". Diese Varianten scheinen stärker zu sein, weil sie nicht in der rohen Wörterbuchliste sind – aber sie gehören zu den ersten, die von jedem modernen Hybrid-Cracking-Tool erzeugt werden.Hybrid-Angriff ist historisch die verantwortliche Methode für die Mehrheit der realen "mittleren" Passwort-Crackings - diejenigen, die stark scheinen, ohne stark zu sein. die ersten 8 bis 10 Regeln, die auf ein aktuelles Wort angewendet werden, genügen, um das mittlere Passwort zu knacken Bevölkerung.
InTime2CrackDer Hybridangriff modelliert:
2. Historischer und akademischer Hintergrund
2.1 Ursprung: John the Ripper und Mutation Regeln
Der Hybridangriff wird formell mit John the Ripper (Solar Designer, 1996), das erste öffentliche Werkzeug, um eine Wortliste mit einem konfigurierbaren Regelmotor zu kombinieren. Vor John the Ripper, das Wörterbuch angriffe getestet rohe Wörter; John stellte den Begriff vor, dass jedes Wort eine Familie von Kandidaten erzeugt.
Chronologie der Meilensteine : JahrVeranstaltung -------------- 1979Morris & Thompson: Benutzer ersetzen Zahlen für Buchstaben, um ihre Passwörter "sicher" 1996John the Ripper 1.0: erste öffentliche Regelmaschine, JtR-Syntax (:, c, u, r, d...
2000Alec Muffett dokumentiert, dass 80% der realen Risse durch Wordlist + Rubel geht, nicht brutale Kraft
2006Hashcat 0.01: Migration auf GPU, Regeln gehen von 1M→1000M Kandidaten/Sekunde
2009RockYou: 14.3M klare Passwörter erlauben empirische Kalibrierung der effektivsten Regeln
2012Gosney (Passwordscon): 8 GPU GTX 580, best64 Regeln, knack 90% LinkedIn in < 6 Tagen
2013Löfstrand: publiziert "best64.rule", 64 Regeln für 85-90% der aktuellen menschlichen Transformationen
2014Ma et al. (IEEE S&P): erste akademische Studie Quantifizierung der Wirksamkeit nach Regel Rang
2016Hashcat Open Source: integrierte Best64, MD5 Geschwindigkeit 2 TH/s auf 8× GTX 1080
2019Hashcat 6.0: OneRuleToRuleThemAlle Spiel (52k Regeln) erzeugt von ML auf Korpus von Passwörtern
2023NSA Advisory: empfiehlt ausdrücklich, Unternehmenskennwörter mit Hybridwerkzeugen zu testen
2.2 Gründung empirischer Studien
Klein (1990) — Analyse von 15.000 Unix-Passwörtern. Erkennt, dass 24,2 % pro reines Wörterbuch knackbar sind, aber dass 32% zusätzlich mit einfachen Transformationen (Kapitalisierung, Addition der letzten Ziffer) knackbar sind. Weir et al. (2009, IEE S&P) — Das Modell auslösenPCFGaber gültig durch die Art, dass die Hashcat-Regeln 78% der in RockYou beobachteten Transformationen abdecken. Demonstriert, dass die Passwörter "Password1" und "P@ssw0rd" zu den Top 100 Kandidaten gehören, die von best64 auf dem Wort "Password" generiert werden. Ma et al. (2014, IEEE S&P) — Die am meisten zitierte Studie über die Wirksamkeit von Hybridregeln.- Artikel 1
: → mot brut) : knacken 18% der diktbasierten Passwörter
2.3 LinkedIn Flug als Schulfall
Das 2012 LinkedIn-Leck (6,5 Millionen nicht gesalzene SHA-1s) zeigt die Kraft des Hybriden perfekt. In 72 Stunden hatte die Hashcat-Gemeinschaft geknackt:
Die Post-Crack-Analyse ergab, dass "linkedin1", "Linkedin1", "l!nked!n" und "LINKEDIN" — alle Varianten von "linkedin" — zusammen Zehntausende von kompromittierten Konten vertreten.
3. Konzeptionelle Stiftungen: Warum der Hybrid funktioniert
3.1 Das menschliche Verhalten von "sicher"
Wenn ein System Regeln der Komplexität (Majuscule, Nummer, Symbol) verhängt, erzeugen die Benutzer nicht zufällig — sie vorhersehbare Transformationen aufwendige Wörter anwenden :
Menschliche StrategieBeispielVerwandte Hybrid-Regel ------------------------------------------------ Kapitalisierung des ersten Briefes"Sunshine" → "Sunshine"c (Hauptstadt zuerst)
Alle"Sunshine" → "SUNSHINE"u (alle Fälle)
Am Ende eine Ziffer hinzufügen"sunshine" → "sunshine1"$1 (Beiträge "1")
Jahr"sunshine" → "sunshine2024"$2 $0 $2 $4
Ersetzen Sie e→3"sunshine" → "suns3ine"s e 3 (Substitute e bis 3)
Ersetzen Sie a→@"Passwort" → "p@ssword"s a @
Reverse Wort"sunshine" → "enihsnus"r (Reverse)
Doppelwort"sun" → "sunsun"d (duplikat)
Hinzufügen!"sunshine" → "sunshine!"$!
Mehrere Kombinationen"Passwort" → "P@ssw0rd1"c s a @ s o 0 $1
Diese Transformationen scheinen kreativ an den Benutzer. genau die ersten, die der Angreifer versucht Sie entsprechen den von der Sicherheitspolitik auferlegten Einschränkungen.
3.2 Das Konzept des effizienten reduzierten Raums
Ein 10-Charakter-Passwort mit Buchstaben+digits+symbolen hat eine rohe Schlüsselspace-Kraft von 94^10, 5,4 × 10^19 Kombinationen.
Aber wenn dieses Passwort ist "Password1!" - eine triviale Transformation von "Passwort" - es ist unter dem 500 erste Kandidaten Der Angreifer fährt nicht 5,4 × 10^19 Kombinationen: er reist 500.
Dies ist die grundlegende Reduktion des Hybridangriffs: der reale Raum der menschlichen Wahlen ist astronomische kleiner als der theoretische Raum der möglichen Zeichen.
3.3 Das Gesetz der Macht der Transformation
Wie rohe Passwörter einem Machtgesetz (Zipf) folgen, folgen auch die Transformationen, die Menschen anwenden, einer sehr konzentrierten Verteilung.
Diese Konzentration ermöglicht eine Reihe von 64 gut gewählten Regeln (best64) eine Deckung von 79-85% erreichen, wo 64 zufällige Regeln nur 10-15% erreichen würde.
3.4 Interaktion mit der Popularität des Grundwortes
Je häufiger das Basiswort, desto früher ist das abgeleitete Passwort in der Prioritätsliste des Angreifers. Der Angreifer bestellt seine Kandidaten in abnehmender Wahrscheinlichkeit:
Candidats générés par l'attaquant (ordre de test) :
Passwort (gross, häufigstes Wort)
Passwort (vorerst kapitalisieren)
Passwort1 ($1)
PASSWORD (alle Fälle)
Passwort! ($!)
p@ssword (substituiert a→@)
passw0rd (substituiert o→0)
Passwort 1 (c + $1)
P@ssword (c + s a @)
Passwort123 ($12$3)
...
p@ssW0rd! (Kombinationskomplex)
"password" ist das häufigste Wort → seine Derivate werden zuerst getestet. "papillon" ist weniger häufig → seine Derivate werden viel später getestet. Diese Priorisierung ist der zentrale Mechanismus, der die drei verschiedenen Schlüsselbereiche inTime2Crack.
4. Architektur eines modernen Hybridangriffs
4.1 Allgemeine Pipeline
Phase 1 : Sélection de la wordlist
├── Passwords fuités triés par fréquence (RockYou, HIBP, Collections)
├── Dictionnaire linguistique (fr.txt, en.txt, de.txt...)
├── Wordlists thématiques (prénoms, villes, marques, séries TV)
└── Wordlists contextuelles (domaine cible, noms d'employés, termes métier)
Phase 2: Auswahl der Regeln Spiel
- - best64.rule (ausgewogene Referenz, 64 Regeln)
OneRuleToRuleThemAll.rule (52.000 Regeln, ML-generiert)
D3ad0ne.rule (34.000 Regeln, empirisch)
- JtR-Regeln (generalized.rule, specific.rule, extra.rule)
- - Benutzerdefinierte Regeln (angepasst auf die Ziel-Domain)
Phase 3: Erweiterung (Wörterliste × Regeln)
Für jedes Wort w in der Wortliste:
Für jede Regel r in ruleset:
Antragsteller = Antrag(r, w)
Werbeartikel ♥ Wenn Kandidat
Werbeartikel ♥ queuevonKandidaten.push(Kandidaten)
--Order: (w1, Regel1), (w1, Regel2)... (w2, Regel1)...
oder: (w1, Regel1), (w2, Regel1)... nach Strategie
Phase 4: Haching und Vergleich (GPU)
- Senden durch Charge von ~10M Kandidaten an die GPU
- - Parallele Berechnung von Hashs (SIMD, 168 GH/s für MD5)
- Vergleich mit Ziel Hash(en)
Wenn Spiel: FINDED — log(candidate, hash, rule)
Phase 5: Bericht
- - Cracked Kandidaten + Regel verwendet + Rang in Liste
4.2 Hashcat-Betriebsarten
Hashcat implementiert den Hybriden auf zwei verschiedene Arten:
Modus -a 0 (Wortliste + Regeln) : Für jedes Wort der Wortliste gelten alle Regeln, das ist der klassische Hybrid-Modus.hashcat -a 0 -m 0 hashes.txt rockyou.txt -r best64.rule
Modus -a 6 (Wortliste + Maske) : kombiniert eine Wortliste mit einer Positionsmaske. Erzeugt alle Kombinationen mot + suffixemaskiert.
hashcat -a 6 -m 0 hashes.txt wordlist.txt ?d?d?d?d
Test "sunshine0000", "sunshine0001", ..., "sunshine9999"
Modus -a 7 (Maske + Wortliste) : inverse — maskiertes Präfix + Wort.
hashcat -a 7 -m 0 hashes.txt ?d?d wordlist.txt
Test "00sunshine", "01sunshine", ..., "99sunshine"
Time2Crackvor allem Modell der Modus -a 0 (Überweisungsregeln), die die überwiegende Mehrheit der tatsächlich dokumentierten Hybridangriffe abdeckt.
4.3 Reihenfolge der Kandidaten und Priorisierungsstrategie
Die Reihenfolge, in der Kandidaten getestet werden, ist kritisch.
Strategiewort-first (default hashcat): Alle Regeln werden auf W1 angewendet, bevor Sie auf W2 wechseln.(W1, R1), (W1, R2), ..., (W1, Rn), (W2, R1), (W2, R2)...
Vorteil: Wenn W1 sehr wahrscheinlich ist (z.B. "Passwort"), entdecken Sie schnell seine Varianten.
Regelerste Strategie : Alle Wortlisten werden für R1 ausgeführt, bevor sie zu R2 gehen.
(W1, R1), (W2, R1), ..., (Wm, R1), (W1, R2), (W2, R2)...
Vorteil: die effektivste Regel (: → mot brut) wird zuerst auf alle Wörter angewendet. Viel effektiver für verschiedene Korpus.
In der Praxis verwendet hashcat Word-first standardmäßig, aber erfahrene Operatoren wählen nach dem Zielprofil.
5. Satz von Mutationsregeln
5.1 Syntax der Hashcat-Regeln
Die Hashcat-Regeln werden in einer Mindestsprache ausgedrückt, in der jedes Zeichen eine Operation auf dem Kandidatenstring darstellt:
Fallmodifikatoren :: — Identität (Bruchwort, keine Transformation)l — alle unterschreiten ("PASSWORD" → "Passwort")u — Großbuchstaben alles ("Passwort" → "PASSWORD")c — Kapitalisieren Sie zuerst die Ruhe von Kleinbuchstaben ("PASSWORD" → "Passwort")C — Unterkoffer zuerst, Oberkofferruhe ("Passwort" → "pASSWORD")t — Schaltbox aller Zeichen ("Passwort" → "pASSWORD")TN — Schaltkästchen von Zeichen zu Position Nr — Reverse ("Passwort" → "drowssap")d — Duplikate ("Passwort" → "Passwort"f — Reflektieren (Wort + umgekehrt) ("sun" → "sunnos"){ — Links drehen ("Passwort" → "asswordp")} — Rechts drehen ("Passwort" → "dpasswor")[ — Erstes Zeichen entfernen ("Passwort" → "Schlagwort")] — Entfernen Sie den letzten Charakter ("Passwort" → "passwor")$X — Zeichen X anhängen ("Passwort" + $1 → "password1"^X — Vorzeichen X ("Passwort") + ^1 → "1Passwort"iNX — Zeichen X in Position N einfügensXY — Ersetzen Sie alle X um Y ("Passwort" + s a @ → "p@ssword"SNX — Ersetzen des Zeichens auf Position N durch X'N — Truncat an Position N (Passwort + '4 → "pass"DN — Zeichen löschen bei Position N - Die Regel nur anwenden, wenn die Länge < N >N — nur anwenden, wenn die Länge > N=N — die Regel nur anwenden, wenn Länge = N5.2. Kompositregeln
Regeln können auf einer einzigen Linie gekettet werden, um komplexe Transformationen zu schaffen:
c $1 → "Password1" (capitalize + append 1)
c $! $1 → "Password!1" (capitalize + append ! + 1)
s a @ s e 3 → "p@ssw3rd" (substitute a→@ et e→3)
r $1 → "1drowssap" (reverse + append 1)
u $2 $0 $2 $3 → "PASSWORD2023" (uppercase + append year)
Energie ist in der Zusammensetzung: 64 einfache Regeln erzeugen Tausende von verschiedenen Transformationen durch Kombination.
5.3 Hauptregeln
Best64.rule (Löfstrand, 2013) — 64 Regeln, die empirisch auf RockYou ausgewählt wurden, um die Rißrate zu maximieren. Eine Reihe von Fragen (NotSoSecure, 2019) — 52.218 Regeln, die durch automatisches Lernen auf gekracktem Passwort corpus erzeugt werden. Crack Rate größer als best64 von ~8% auf moderne corpus, zu den Kosten einer Berechnungszeit ~800× länger. d3ad0ne.rule — 34.096 Gemeinschaftsregeln, die sich auf Muster beziehen, die nicht unter Best64 fallen ( Akzente, erweiterte Zeichen, nicht-englische Muster). leben.rule — 99 000+ Regeln, die am erschöpfendsten sind. Allgemeines2.rule (JtR) — automatisch durch statistische Analyse bereits gekrackter Passwörter erzeugt.6. Best64 Regeln: das Referenzspiel
Best64 ist der Satz von 64 Standard-Referenzregeln in der akademischen Literatur und Industrie. Hier sind die wichtigsten Regeln und ihre empirische Rechtfertigung:
6.1 Die 20 effektivsten Regeln (in der Reihenfolge der Leistung)
RangArtikelTransformation% Passworte abgedeckt (Mai 2014) --------------------------------------------- 1:Bruttowertschöpfung~18% ~
2.cErstes Kapital~11%
3uAlle Oberkörper~6% ~
ANHANG$1Anhang "1"~5% ~
5.lAlle~4% ~
6$!Append "!"~3 %
7s a @A→@~2.8% ~
8)c $1Kapitalisieren + "1"~2.5% ~
ANHANG$2Anhang "2"~2.1%
10.rReverse~1.9%
11)$! + cKapitalisieren + "!"~1.7%
12s o 0o→0~1.6%
13)dDuplikat~1.4% ~
14s e 3E→3~1.3%
15$1 $2 $3Anhang "123"~1.2%
ANHANGc $1 $2 $3Kapitalisieren + "123"~1.1%
17$0Anhang "0"~1.0% ~
183^1Prep "1"~0.9% ~
19s i 1I→1~0.8%
20c $! $1Kapitalisieren + "!1"~0.7%
Berechnungsregeln 1-10 : ~55% der dict-basierten Passwörter
Berechnungsregeln 1-20 : ~68% der dict-basierten Passwörter
Berechnungsregeln 1 bis 64 : ~79% der dict-basierten Passwörter
6.2 Warum sind diese Regeln so wirksam?
Jede Top-10-Regel entspricht einer gemeinsamen Sicherheitspolitik:
c)$1)$!)c $1 oder c $1 $2 $3Passwortrichtlinien erhöhen die Sicherheit nicht wirklich, wenn Benutzer vorhersehbare Transformationen implementieren – sie bewegen nur Passwörter in die zweite oder dritte Regel von best64.
7. Vollständige Besteuerung von Transformationen
7.1 Kategorie 1: Falltransformationen
Am häufigsten. Nutzen Sie die Verpflichtung, ein Kapital zu haben:
c Änderungen)7.2 Kategorie 2: Digitale Suffixes und Prefixes
Nutzen Sie die Verpflichtung, eine Figur zu haben:
7.3 Kategorie 3: Leet-Substitutionen
Systematischer Austausch von Buchstaben mit ähnlichen Zahlen oder Symbolen:
SubstitutionEmpirische Frequenz ------------------------------ Ein →23% der Passwörter mit @ E → 331% der Passwörter mit 3 i → 119% der Passwörter mit 1 o → 027% der Passwörter mit 0 s → $14% der Passwörter mit $ I → 18% t → 76% g → 94%Kombinierte Substitutionen ("P@ssw0rd") erscheinen komplex, werden aber in einigen Regeln erzeugt: c s a @ s o 0Sie gehören zu den 500 erste Kandidaten Auf "Passwort".
7.4 Kategorie 4: Symbolische Suffixes
Nutzen Sie die Verpflichtung, einen besonderen Charakter zu haben:
7.5 Kategorie 5: Strukturelle Transformationen
Weniger häufig, aber nützlich für einige Profile:
7.6 Kategorie 6: Compoundtransformationen (erweiterte Ebene)
Komplexe Regeln kombinieren mehrere Operationen:
c $1 s a @ → "P@ssword1" (capitalize + append 1 + substitute a→@)
u $! $1 $2 $3 → "SUNSHINE!123" (uppercase + append !123)
r c $1 → "Drowssap1" (reverse + capitalize + append 1)
s e 3 s a @ c $! → "P@ssw3rd!" (multiple substitutions + capitalize + !)
Diese Transformationen scheinen sehr komplex, bleiben aber durch eine gute Reihe von Regeln nachweisbar.
8. Häufigkeit Priorität: Das Herz der Effektivität
8.1. Die Frequenz des Grundwortes bestimmt die Priorität
Ein intelligenter Angreifer wendet die Regeln nicht gleichmäßig auf alle Wörter an.
Diese Strategie wird in Hashcat über die Sortierung der Wortliste durch abnehmende Frequenz in Verbindung mit der Wort-ersten Strategie umgesetzt. Es erklärt, warum "Password1" (aus "Passwort", das Wort #1) in Millisekunden gekrackt wird, während "Soleil1" (aus "Sun", Wort ~5000 aus dem französischen Wörterbuch) einige Sekunden dauern kann.
8.2 Median Position im Suchraum
Die Schlüsselmaßnahme ist die mittlere Anzahl von Kandidaten getestet, bevor das Ziel-Passwort zu finden. Ma et al. (2014) liefert empirische Messungen:
DrittensBeispielMedian Bewerber vor der Suche ----------------------------------- TOP100"password1", "P@ssword"~450–500 Gemeinsames Dikt (top-10k)"Sunshine1", "Sunshine!"5 000–15 000 Weniger häufig"Paillon2024"~50 000–200,000 Ohne Wörterbuch"Xk7#mP9q"N/A (unanwendbarer Hybrid)Diese Messungen sind die direkte Grundlage derTime2Crack:
const HYBRIDKEYSPACECOMMON = 500; // Ma et al. 2014 — médiane top-100
const HYBRIDKEYSPACEDICT = 8000; // Ma et al. 2014 — median current diktator
HYBRIDKEYSPACEFULL = 128e6; // Gosney 2012 — best64 × 2M erschöpfende Worte
8.3 Bedingungen, die für den Hybriden erforderlich sind
Hybrid-Angriff erfordert das Passwort zu sein aus einem Wörterbuchwort strukturell abnehmbar.Time2Crackerkennt diese Bedingung über hybridVuln :
const hybridVuln = dictWord || (common && /[a-z]/i.test(pw));
dictWord = true : das Passwort ist oder leitet von einer Sprachwortlistecommon && lettre : das Passwort erscheint in COMMON (HIBP top-400) und enthält Buchstaben — so fast sicher abgeleitet von einem Wortwenn dictWord weder hybridVuln are true — das Passwort enthält keine nachweisbare Wörterbuchwurzel — hybrid attack returns null Ein rein zufälliges Passwort wie "xK9#mQ7@" ist nicht anfällig für Hybriden.
9. Implementierung inTime2Crack: addHybridAttacks()
9.1 Vollständiger annotierter Code
function addHybridAttacks(rows, hybridVuln, weak, common, dictWord) {
if (hybridVuln || weak) {
// Sélection du keyspace selon la popularité du mot de base :
// common → mot dans HIBP top-400 → position ~500 dans la liste de l'attaquant
// dictWord → mot dans la wordlist → position ~8000
// sinon (hybridVuln sans dictWord ni common) → scan exhaustif ~128M
const hybridKS = common ? HYBRIDKEYSPACEGEMEINSAME
DiktWord?KEYSPACEDIKT
: HYBRIDKEYSPACEFULL;
für (const a von ALGOS) {
Zeilen.push({
atk: t("aHybrid",
a.name,
Preis: a.rate,
// budgetTime : der Schlüsselraum ist die Zahl der Vermutungen — keine Teilung um 2
// (im Gegensatz zu BrutTime werden hier KandidatInnen mit Wahrscheinlichkeit bestellt)
trocken: schwach? schwachGuessTime(a.rate): budgetTime(hybridKS, a.rate),
Anmerkung: schwach ? t("nWeakPassword") : t("nDictMut")
Katze: "Hybrid",
})
}
} auch
// Passwort ohne Strukturwörter → hybrid unanwendbar
Zeilen.push({
atk: t("aHybrid",
Hash: "(alle)",
Rate: 0,
trocken: null, // N/A in der Tabelle
Anmerkung: t(nStructUnrecog),
Katze: "Hybrid",
})
}
}
ANHANG budgetTime vs bruteTime
Die Unterscheidung zwischen den beiden Funktionen ist grundlegend:
// bruteTime : l'attaquant ne sait pas où est le mot de passe dans l'espace.
// Il teste en moyenne la moitié avant de le trouver. → keyspace/2
function bruteTime(keyspace, rate) {
const ls = Math.log(keyspace / 2) - Math.log(rate);
return Math.exp(ls);
}
// budgetTime: der Angreifer testet Kandidaten in absteigender Reihenfolge der Wahrscheinlichkeit.
// Keyspace ist die Anzahl der Kandidaten, die vor der Suche erwartet werden (median position).
// Keine Teilung durch 2 — der Median ist bereits in die Ma 2014 Konstanten integriert.
Budget-Funktion Zeit(Gäste, Rate) {
const ls = Math.log(guesses) - Math.log(rate);
zurückgibt Math.exp(ls);
}
Für den Hybriden, budgetTime ist richtig, weil die 500/8000/128M Kandidaten empirische Schätzungen der mediale Position, nicht Gesamtraum zu reisen.
9.3 Beziehung mit isDictWord()
Nachweis dictWord welche Bedingungen die Wahl des hybriden Schlüsselraums durch isDictWord() :
function isDictWord(pw) {
if (!DICTWORDS || !DICT(WORDS.size) Rückgabe falsch;
const l = pw.normalize("NFC").toLowerCase();
// Direkter Test: Ist das Passwort, wie es im Wörterbuch ist?
wenn (DICT)
WORDS.has(l)) return true;
// Geprüfter Test: "s0le1l" → "sun" im Diko?
dl = deLeet(pw)
wenn (dl!)WORDS.has(dl) kehren wahr zurück;
// Test Substring: "sunshine123" enthält "sunshine" im Dico?
für (const w von DICTWORDS) {
wenn (l.includes(w) &&w.length >=4) die Rückkehr wahr ist;
}
Rückgabe falsch;
}
Dieser Nachweis bestimmt nicht nur, ob der Hybrid anwendbar ist, sondern auch der Schlüsselraum (common vs dict) wird verwendet, um Zeit zu berechnen.
10. Die drei Hybrid-Schlüsselräume und ihre Rechtfertigung
10.1 HYBRIDKEYSPACEGEMEINSAME = 500
Hintergrund Das Passwort ist in COMMON – die Hardcode-Liste HIBP top-~400. Dies sind einige der häufigsten Passwörter in der Welt ("Passwort", "letmein", "sunshine", "iloveyou"...). Begründung Ma et al. (2014) empirisch gemessen, dass die mediane Position eines Top-1000-Passworts in einer Hybrid-Liste nach Wahrscheinlichkeit sortiert ist ~450 Kandidaten. Die Zahl 500 ist eine leicht konservative Schätzung bis zu ~400 Rank. Auslegung : ein Angreifer, der Best64 auf eine Wortliste anwendet, sortiert nach Frequenztests im Durchschnitt 500 Kandidaten, bevor er das Passwort gefunden hat. Bei 2.000 GH/s (MD5, 12× RTX 4090), 500 Kandidaten = 0,25 Picosekunden. Praktisch sofort. Beispiel : "Sunshine1" → "Sunshine" ist in COMMON → HYBRIDKEYSPACEGEMEINSAME = 500 →budgetTime(500, 2027e9) 0,25 Nanosekunden.
10.2 HYBRIDKEYSPACEDICT = 8.000
Hintergrund Das Passwort wird von einem Wort aus der Sprachwortliste abgeleitet, aber nicht von COMMON. Dies sind häufige Wortschatzwörter ("sun", "mountain", "paillon"...) mit Transformationen. Begründung Ma et al. (2014) messen eine mediane Position von 2.000 bis 15.000 abhängig von der Popularität des Wortes in RockYou. Der empirische Median ist ~8.000. Dieser Schlüsselraum spiegelt wider, dass der Angreifer das Wort und seine Varianten nach der Ausschöpfung der häufigeren Kandidaten testet. Auslegung : 8.000 Kandidaten bei 2.000 GH/s (MD5) = 4 Nanosekunden. Immer nah-instantan für schnelle Hashs. Für bcrypt (69 kH/s): 8.000 / 69 000 0,12 Sekunden. Beispiel : "Soleil2024" → "Sun" in fr.txt → HYBRIDKEYSPACEDICT = 8.000 → ein paar Nanosekunden auf MD5, 0.12s auf bcrypt.10.3 HYBRIDKEYSPACEFULL = 128,000,000
Hintergrund :hybridVuln ist wahr (Passwort hat eine Wörterbuchstruktur), aber weder common weder dictWord Der Angreifer muss die gesamte Wortliste mit allen Regeln durchsuchen.
Begründung : Gosney (Passwordscon 2012) dokumentiert eine Wordlist von 3.5M Wörtern × best64 (64 Regeln) = 224M Kandidaten insgesamt. In der Praxis machen realistische Wordlists 2M Wörter und die partielle Best64-Läufe stoppen bei ~128M Kandidaten, bevor sie zu breiteren Regeln klettern.
Formel : 2000000 mots × 64 règles = 128000000 candidats
Auslegung : 128M Kandidaten bei 2000 GH/s (MD5) 64 Mikrosekunden. Auf bcrypt (69 kH/s): ~31 Minuten.
11. Hochsicherheitskalibrierung
11.1 Rolle des hohen Treuemodus
Wenn High Loyalty Modus (HF) aktiviert istTime2Crack, wird ein zusätzlicher Multiplikator auf die berechneten Zeiten angewendet, um die Genauigkeit zu verfeinern. Bei Hybridangriff berücksichtigt dieser Multiplikator Faktoren, die nicht von den grundlegenden Schlüsselbereichen erfasst werden.
HF-Multiplikatoren für Hybrid
In applyHighFidelityCalibration() :
case "hybrid":
// Mots très courants : crackés encore plus tôt que la médiane Ma 2014
// car les attaquants modernes trient word-first + règle-first simultanément.
// Réduction de 30% sur les temps déjà courts.
m = context.common ? 0.7
: kontext.dictWord ? 0.8
- 1,0;
Bruch
Begründung :
common : moderne Werkzeuge (Hashcat mit --markov-threshold) die Regeln durch empirische Wirksamkeit voreingestellt. Die besten Kandidaten kommen noch früher an.dictWord : weniger Wirkung, weil die Position in der Wortliste weniger konzentriert ist. Reduktion von 20%.hybridVuln nur (FULL-Schlüsselraum): keine Reduktion — Vollschlüsselraum ist bereits eine konservative Schätzung.11.3 Interaktion mit dem monotonen Wächter
Der monotone Wächter stellt sicher, dass kein spezialisierter Angriff behauptet zu sein schneller dass die Rohkraft auf den alphabetischen Unterstrich des Passworts:
// Pour chaque row non-brute :
const floorAlpha = bruteTime(Math.pow(26, alphaOnly.length), algo.rate);
if (row.sec < floorAlpha) row.sec = floorAlpha;
Für kurze Wörter (z.B. "cat" = 3 Buchstaben, Boden = 26^3/Rate
12. Beziehung zu abgeleiteten Angriffen
12.1Hybride vs. Reines Wörterbuch
KriterienReines WörterbuchHybride) ----------------------------- getestete KandidatenKorrigieren Sie WordsWörter + alle ihre Varianten Cover (RockYou)~18% ~~79-85% (mit best64) Schlüsselbereich (200k Wörter)200 000200 000 × 64 = 12,8M AnwendungsbereichPasswort = exaktes WortPasswort abgeleitet von einem Wort Vulnerables Beispiel"sunshine" (exakt)"Sunshine1!", "sunsh1ne" Resistentes Beispiel"Sunshine1""xK9#mQ7@" (keine Wurzel)12.2Hybride vs Regelbasierte
Der regelbasierte AngriffTime2Crackist konzeptuell ähnlich, aber mit einem viel breiteren Satz von Regeln:
const RULEKEYSPACE = 250000000; // vs 128M für Vollhybrid
Der Unterschied: der best64 Modell-Hybrid (64 Regeln, Fokus auf gemeinsame menschliche Transformationen). Die regelbasierten Angriffsmodelle breitere Spiele wie d3ad0ne (34k Regeln) oder OneRuleToRuleThemAll (52k Regeln), verwendet, wenn best64 scheitert.
12.3Hybride vsPCFG
PCFG(Probabilistic Context-Free Grammar, Weir 2009) model die grammatische Struktur des Passworts, um Kandidaten zu generieren.
KriterienHybride)PCFG -------------------- AnsatzGrundwort + TransformationsregelnGlobale grammatische Struktur KraftVorhandene Wörter mutiertStrukturen Typ "word+Digits" Beispiel"Sunshine" → "Sunshine1"Erkennt die Struktur "Caps+lower+digit" ErgänzungAuslöser aufdictWordTrigger auf detektierte Struktur
Schlüsselbereich (Time2Crack)500 / 8k / 128MpcfgKeyspace(pw) dynamisch berechnet
PCFGkann Passwörter ohne root Wörterbuch angreifen, wenn ihre Struktur ist üblich (z.B. "Thelonious8" → kein Wort des Diko, sondern Struktur Capitalize+lower+digit sehr vorhersehbar).
12.4Hybride vs Morphological (morph)
Der morphologische Angriff testet sprachliche Varianten (Flexionen, Variationen). Es ist eine Verallgemeinerung des Hybriden für Sprachen mit reicher Morphologie:
Der Hybrid arbeitet auf der Oberfläche des Wortes (Charaktertransformationen), die morphologische Funktion auf der lexischen Struktur (Derivation, Biegung) und sie sind komplementär.
13. Benchmarks nach Hash-Algorithmus
13.1 Zeit für die drei hybriden Schlüsselbereiche (12× RTX 4090)
AlgorithmenPreis (H/s)GEMEINSAME (500)DICT (8k)FULL (128M) ------------------------------------------------- MD52 027 GH/s0,25 ps3,9 n63 μs SHA-1610 GH/s0,82 ps13 n210 μs SHA-256272 GH/s1.84 S.29 n470 μs NT2 ARBEITSLOSIGKEIT3,462 GH/s0,14 ps2.3 n37 μs bcrypt (Kosten 10)69 kH/s7.2 ms0,12 s31 min Argon2id800 H/s0,625 s10 %44 Stunden Lesung : Für MD5 und NTLM wird sogar der FULL-Schlüsselraum (128M-Kandidaten) in wenigen Dutzend Mikrosekunden gekrackt. Der Hash-Algorithmus ist für gemeinsame Wörter fast irrelevant. Argon2id ist der einzige Algorithmus, der auch bei gemeinsamen Wörtern deutlich widersteht: 0,625 Sekunden für ein COMMON-Wort, 10 Sekunden für einen DiktWord. Diese Zeiten bleiben kurz im absoluten Wert, stellen aber eine Verlangsamung von x10^12 vs MD5 dar - große Angriffe wirtschaftlich unbrauchbar.13.2 Auswirkung des Angriffsprofils
Time2Crackbietet zwei Profile (Experienced 12 GPU, Professional 100 GPU). Für den Hybriden ist die Profildifferenz direkt proportional:
ProfilGPUsMultiplikatorFULL bcrypt --------------------------------- Erfahrene12× RTX 40901 ×31 min Beruf~100 GPU~8×~4 minFür MD5, SHA-1, NTLM: Das Profil ändert die Zeit von Mikrosekunden zu Nanosekunden – ohne praktische Auswirkungen sind beide sofort.
14. Konkrete Beispiele für Hybrid-Cracking
14.1 Beispiel 1: "Password1" (COMMON)
Analyse :isCommon("Password1") → falsch (nicht genau HIBP)isDictWord("Password1") → true ("Passwort" in DICTWORDS im unteren Fall)COMMON.has("password") → true → common = true: (gross Wort "Passwort" → nein), c ("Passwort" → nein), c $1 "Password1" → FIND, Zeile ~8)
14.2 Beispiel 2: "Sun2024" (DICT)
Analyse :isCommon("Soleil2024") → falschisDictWord("Soleil2024") → true ("sun" in fr.txt)COMMON.has("soleil") → fälschlich → common = false, dictWord = truec $2 $0 $2 $4 ("Sun2024") in der Zeile ~3 ihrer Regeln → Gesamtposition ~15 003.
14.3 Beispiel 3: "p@pillon!" (DIKT mit Substitutionen)
Analyse :isDictWord("p@pillon!") : de-leetification → "paillon" → in fr.txt → dictWord = trues a @ $! → "p@pillon!" in Zeile ~12. Gesamtposition: ~180,000. Immer gut in HYBRIDKEYSPACEDICT.
14.4 Beispiel 4: "xK9#mQ7@" (resistent)
Analyse :isDictWord("xK9#mQ7@") → falsch (kein Wurzelwörterbuch)isCommon("xK9#mQ7@") → falschhybridVuln = falsesec = null → Hybrid nicht anwendbarDieses Passwort kann nicht durch Hybridangriff geknackt werden. Es hat keine Wörterbuchwurzel. Der Angreifer muss zu reiner Brutkraft zurückgreifen, um diePCFGoder zu statistischen Angriffen (Markov, Neural).
14.5 Beispiel 5: "LinkedInB3st!"
Analyse :isDictWord("LinkedInB3st!") : "linkedin" → Wortliste en.txt + deLeet("b3st") → "best" → dictWord = trueInteressanter Fall: Das Passwort enthält zwei Wurzeln ("linkedin" und "best" via de-leetification). Hybrider Angriff ist anwendbar, weil mindestens eine Wurzel erkannt wird. In der Praxis wäre hier ein Combinatorangriff (zwei Wörter verklebt) noch wirksamer.
15. Hybride Angriffsgrenzen
15.1 Eigene Grenzen
Abhängigkeit von der Qualität der Wortliste : Wenn das Grundwort nicht in der Wortliste ist, kann der Hybrid nicht funktionieren. Ein Passwort auf Basis eines sehr spezialisierten Begriffs (neologism, obskurer technischer Begriff, Wort einer seltenen Sprache) kann widerstehen, wenn es von allen gemeinsamen Wortlisten fehlt. unvollständige Erfassung von Transformationen : sogar OneRuleToRuleThemAll mit 52k Regeln deckt nicht 100% der vorstellbaren Transformationen ab. Einige sehr seltene Transformationen (Base64 Teilcodierungen, erfundene Muster) entkommen den Regeln. Kombinationsexplosion mit langen Wortlisten Bei 2.000 GH/s (MD5) dauert es ~250 Sekunden – aber mit bcrypt (69 kH/s), ~230.000 Jahre. Die Skalierbarkeit des Hybrids wird durch die Länge der Wortliste und die Langsamkeit des Hash-Algorithmus eingeschränkt.15.2 Was?Time2Cracknicht erfasst
Inhaltsverzeichnis : ein Angreifer, der ein bestimmtes Unternehmen anvisiert, wird eine Wortliste mit dem Namen des Unternehmens erstellen, Produkte, Mitarbeiternamen, Geschäftsbedingungen. "Renault2024!" würde sofort von einem Angreifer auf Renault gespalten werden — aberTime2Crackdiesen Kontext nicht modelliert (dies ist die Rolle des "Targeted OSINT"-Angriffs). Multipass-Verbundregeln Einige Passwörter widerstehen am besten64, geben aber Wege zu Zwei-Pass-Regeln (ca. eine Regel, dann eine andere Regel auf das Ergebnis anwenden).Time2Cracknur Modell ein Regelpass. Cache-Effekte und Erinnerung : hashcat unterhält eine Tabelle von Kandidaten, die bereits getestet wurden, um Duplikate zu vermeiden, die den Lauf in der Praxis beschleunigen.Time2Crack(Konservierungsmittel).15.3 Fälle, in denen der Hybrid überschätzt wird
Time2Crackkann Hybridgeschwindigkeit in zwei Fällen überschätzen:
16. Wirksame Verteidigung
16.1 Was der Hybridisierung widersteht
Hybrid-Angriff scheitert, wenn das Passwort nicht von einem vorhandenen Wörterbuchwort ableitetEffektive Strategien:
Zufällige Passwörter "xK9#mQ7@vP2!" enthält keine Wörterbuchwurzel. Keine Hybrid-Regel kann sie erzeugen. Passwort-Generatoren : Passwort-Manager (Bitwarden, 1Password, KeePass) erzeugen zufällige Strings. Kein Wurzelwörterbuch → hybrid unanwendbar. Passphrasen von wirklich zufälligen Worten : "Tabouret-marmot-ginger-flash" — vier zufällige Wörter. Hybrid-Angriff im klassischen Modus erzeugt keine Kombinationen von 4 Wörtern (das ist die Rolle des Kombinators). Passphrase widersteht dem Standard-Hybrid.16.2 Was ist NICHT Widerstand gegen Hybriden
Die häufigsten "starken" Strategien widerstehen nicht:
StrategieBeispielWiderstand --------------------------- Kapitalisierung des ersten BriefesSonnenscheinArtikelc, Zeile 2
Eine Ziffer hinzufügen"sunshine1"Artikel $1, Zeile 4
Symbol hinzufügen"Sunshine!"Artikel $!, Zeile 6
Ersetzen Sie e→3"Suns3ine"Artikel s e 3, top-20
Alle kombinieren"Suns3ine!"Eine zusammengesetzte Regel, top-100
Wählen Sie ein seltenes Wort"Papillon123"
Doppelwort"Sunsun"Artikel d, top-30
Reverse"enihsnus"Artikel r, top-15
Schlussfolgerung Jede Strategie, die auf "Worte ein Wort + ändern" basiert, ist gegenüber dem Hybriden verletzlich. Die Ausnahme ist eine so komplexe und seltene Modifikation, dass es nicht von einer Regel abgedeckt ist - aber wenn der Benutzer sich an diese komplexe Transformation erinnern muss, endet er in der Regel etwas vorhersehbares.
16.3. Resistente Hash Algorithmen
Auch wenn ein Passwort für den strukturellen Hybrid anfällig ist, kann der Hash-Algorithmus den Angriff wirtschaftlich unberechenbar machen:
AlgorithmenZeit für DICT (8k Vermutungen)Angriff auf die Praxis ------------------------------------------------ MD5 / NTLM< 1 NanosekundenSofort SHA-256~30 NanosekundenSofort bcrypt kostet 10~0.12 SekundenTrivial bcrypt kostet 14~32 SekundenFetisch Argon2id (Standard)~10 SekundenFetisch Argon2id (starker Parameter)~100 SekundenLangsam, aber möglich Argon2id mit hohen Parametern (t=4, m=65536) ist der einzige Algorithmus, der den Hybriden auch bei schwachen Passwörtern wirklich teuer macht.16.4 Praktische Empfehlungen
17. Referenzen
Wissenschaftliche Publikationen
Klein, D.V. "Foiling the Cracker": Eine Umfrage von und Verbesserungen an, Passwort-Sicherheit Proceedings of the USENIX Security Workshop, 1990. — Erste empirische Studie, die die Auswirkungen von Mutationsregeln auf die Rißabdeckung quantifiziert. Weir, M., Aggarwal, S., de Medeiros, B., & Glodek, B. (2009) Passwort-Tracking mit probabilistischen kontextfreien Grammatiken IEEE Symposium über Sicherheit und Datenschutz (S&P), 2009. — ModellbauPCFGund gültig durch die Art, dass die Hashcat-Regeln 78% der menschlichen Transformationen in RockYou beobachtet. Ma, J., Yang, W., Luo, M., & Li, N. (2014) Eine Studie über probabilistische Passwortmodelle IEEE Symposium über Sicherheit und Datenschutz (S&P), 2014. — Direkte Referenzstudie fürTime2Crack: empirische Messung der medianen Positionen (500 für Top-100, 2000–15000 für aktuelles Dikt) in einem Hybrid-Scan, der mit der Wahrscheinlichkeit auf 10M reale Passwörter bestellt wird. Durmuth, M., Chaabane, A., Perito, D., & Castelluccia, C. (2015) Wenn Datenschutzsitzungen Sicherheit: Leveraging personenbezogene Daten für das Passwort-Tracking ESORICS 2015. — Vergleich von JtR gegen Hashcat vs.PCFG. Enthält die besten64 ÜbergängePCFG12% auf RockYou. Veras, R., Collins, C., & Thorpe, J. (2014) Auf den semantischen Mustern von Passwörtern und deren Sicherheitswirkung NDSS 2014. — Sprachanalyse semantischer Muster. Ur, B., Bees, J., Segreti, S. M., Bauer, L., Christin, N., & Cranor, L. F. (2015) Haben die Wahrnehmungen von Password Security Match Reality der Nutzer? ACM CHI 2015. „P@ssw0rd“ erhält eine subjektive Partitur von „starken“ aber in < 1s geknackt. Wheeler, D.L. (2016) zxcvbn: Low-Budget Passwortstärkeschätzung 25. USENIX Security Symposium, 2016. — Force-Schätzbibliothek, die die Mutationsregelerkennung integriert. Referenz für die Durchführung von Erkennungsheuristiken.Industrielle Konferenzen und Präsentationen
Gosney, J (2012) 8x Nvidia GTX 580 Cluster Hashcat Benchmarks / LinkedIn crack session Passwordscon 2012, Oslo. — Dokumentieren Sie den LinkedIn-Crack: best64 + Wordlist 3.5M = 224M Kandidaten, 90% in 6 Tagen geknackt.KEYSPACEFULL = 128M. Löfstrand, K. (2013) best64.rule — Empirische Auswahl von 64 Hashcat-Regeln Intern, veröffentlicht auf GitHub. — Set von 64 Regeln empirisch auf RockYou ausgewählt, um die Rißrate zu maximieren. Steube, J. (2016–präsent) Hashcat erweiterte Passwortwiederherstellung http://hashcat.net/hashcat/ — Offizielle Modedokumentation -a 0, -a 6, -a 7. Syntax der Regeln. Offizielle GPU-Benchmarks auf 12× RTX 4090. NotSoSecure (2019) OneRuleToRuleThemAll — ML-generierter Hashcat-Regelsatz https://github.com/NotSoSecure/passwordRißbildungVorschriften — 52 218 Regeln, die durch automatisches Lernen auf Korpus geknackter Passwörter erzeugt werden.Referenzwerkzeuge
John the Ripper (Solar Designer, 1996–präsent) http://www.openwall.com/john/ — Pioneer of the wordlist+rules hybrid. JtR syntax verwendet immer parallel zu Hashcat. Hashcat (Steube, 2009–präsent) http://hashcat.net/hashcat/ — Referenz-GPU-Implementierung. Moden -a 0/6/7 für Hybrid. best64 integriert. RockYou Wortliste (2009) 14,3M klare Passwörter. Standard-Kalibrierung für alle Hybrid-Regelsätze. Sekundarbereich (Daniel Miessler, 2012–präsent) https://github.com/danielmiessler/SecLists — Sammlung von Wortlisten nach Sprache, Domäne, Thema.Time2Crack.Webquellen, die in der Anmeldung genannt werdenTime2Crack
Chick3nman (Hashcat Benchmarks/Regeln). http://gist.github.com/Chick3nman/32e662a5bb63bc4f51b847bb4222fd — Verwandte QuelledescHybrid (app.js) für die Größenordnung der angewandten Mutationsregeln.
IEEE Xplore (hybrid reference).
https://ieeexplore.ieee.org/document/6956583
— Verwandte Quelle descHybrid (app.js) über die empirische Wirksamkeit mutierter Passwörter.
Im Rahmen des Projekts generiertes DokumentTime2Crack— 2026 Siehe auch: BRUTEFORCEATTACKAUSSCHUSSATTACKAUSSCHUSSATTACKAUSGABEN