Maskeraanval Uitgebreide bewerking

Projectreferentiedocument Time2Crack
Ontvangers: ontwikkelaars, security onderzoekers, geavanceerde gebruikers

Inhoud

  • Overzicht
  • Historische en academische achtergrond
  • Conceptuele Stichtingen: Waarom Maskers Werk
  • Architectuur van een moderne masker aanval
  • Mask Syntax (Hashcat/JtR)
  • Sleutelruimtereductie: wiskundig principe
  • Uitvoering in Time2Crack: addMaskAttacks()
  • Datumdetectie en structurele vermindering
  • Kwalificatie van hoge trouw
  • Benchmarks en orden van grootte
  • Concrete voorbeelden van maskerkraken
  • Vergelijking met brute kracht, hybride en PCFG
  • Beperkingen van maskeraanval
  • Doeltreffende verdediging
  • Referenties

  • 1. Overzicht

    Masker aanval bestaat uit het testen van wachtwoorden die een precieze positievorm in plaats van alle mogelijke combinaties.

    Voorbeeld: in plaats van het testen van alle ruimte 8 tekens van 95 symbolen (95^8De aanvaller richt zich op een motief zoals:

  • 5 klein,
  • Twee cijfers.
  • Ofwel de Hashcat masker ?u?l?l?l?l?l?d?d.

    Het centrale idee: menselijke wachtwoorden zijn niet willekeurig. Ze zijn vaak gestructureerd (Thomas42, Marine2024, Bonjour!1Het masker gebruikt precies deze regelmaat.


    2. Historische en academische achtergrond

    2.1 Oorsprong

    De logica van maskers is oud: vanaf de eerste kraak tools, operators waargenomen dat het wachtwoord beleid produceren repetitieve formaten.

    Industrialisatie wordt geleverd met:

  • Johannes de Ripper (incrementele modi en patronen),
  • Hashcat (supergeoptimaliseerde GPU-maskermodi),
  • massale lekken (RockYou, LinkedIn, Adobe), die de meest voorkomende structuren hebben geïdentificeerd.
  • 2.2 Empirische validatie

    De offensieve/defensieve literatuur komt samen: een zeer grote fractie van echte wachtwoorden volgt eenvoudige patronen (woord + cijfers, hoofdletter + woord + jaar, enz.).

    Wheeler (USENIX 2016) en de probabilistische werken (Markov/PCFG/VROUWEN) tonen aan dat de structuur even doorslaggevend is als de brutolengte.


    3. Conceptuele Stichtingen: Waarom Maskers Werk

    3.1 Mensen genereren structuren, niet toevallig

    De meeste gebruikers bouwen geheugengeheimen:

  • bekend woord,
  • variatie van breuk,
  • digitaal achtervoegsel,
  • optioneel laatste symbool.
  • Deze strategie is voorspelbaar en zeer comprimerend in maskers.

    3.2 Complexiteitsbeleid vergroot de voorspelbaarheid

    Een regel van het type "1 kapitaal, 1 cijfer, 1 symbool" legt geen randomiteit op; hij duwt vaak naar stabiele patronen:

  • Mot123!
  • Prénom2024
  • Ville75#
  • Het masker is het ideale hulpmiddel om door deze diagrammen te bladeren tegen een zeer lage kosten.

    3.3 Vermindering van de effectieve sleutelruimte

    Voor een wachtwoord van lengte 8:

  • Totale brutokracht (95^8) 6.63e15 kandidaten;
  • masker ?u?l?l?l?l?d?d = 26 26^4 10^2 = 1.19e9 kandidaten.
  • De vermindering is een paar miljoen keer, terwijl de dekking van een gemeenschappelijk menselijk patroon.


    4. Architectuur van een moderne maskeraanval

    Type pijpleiding:

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

    2) Generatie van kandidaatmaskers -> besteld naar waarschijnlijkheid

    3) GPU-uitvoering (Hashcat -a 3) -> parallelle tests met hoge snelheid

    4) Adaptieve aanpassing -> we houden de maskers hoog, we verspreiden de zwakken

    Succes hangt minder af van het bruto aantal maskers dan van hun prioriteiten.


    5. Mask Syntax (Hashcat/JtR)

    5.1 Basisklassen

  • ?l : klein (a-z)
  • ?u : hoofdletters (A-Z)
  • ?d Aantal (0-9)
  • ?s : printbaar symbool
  • ?a : standaard gemengd alfabet (vaak ?l?u?d?s)
  • 5.2 Voorbeelden

  • ?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. Aangepaste maskers

    Hashcat maakt aangepaste tekensets mogelijk (-1, -2, enz.), bijvoorbeeld:

  • -1 ?l?uéèàç voor Latijnse talen,
  • -2 0123456789!@# voor mogelijke achtervoegsels,
  • vervolgens gecombineerd masker ?1?1?1?1?2?2.

  • 6. Keyspace reductie: wiskundig principe

    Of een masker van lengte n met positiekardinaliteiten c1, c2, ..., cn.

    De gemaskerde sleutelruimte is:

    Kmasker = Π(i)

    Tijd (begrotingsmodel):

    T = Kmask / rate

    In een naïef, ongemaskerd model:

    Kvol = cs^n

    De maskerwinst is:

    Gain = Kfull / K_mask

    Hoe sterker de positiebeperkingen (bv. cijfers aan het eind, kapitaal in het hoofd), hoe groter de winst.


    7. Implementatie in Time2Crack: addMaskAttacks()

    Time2Crack implementeert masker logica in app.js :

  • functie: addMaskAttacks(rows, full, len, cs, kbPat, seq, weak, dt, pw)
  • Categorie: cat: "mask"
  • scherm: aMask / noot nMaskPositional, nKBDetected, nSeqDetected, nDateDetected
  • 7.1. Berekening van de gemaskerde sleutelruimte

    De code telt de werkelijke gebeurtenissen van elk karaktertype in het wachtwoord:

  • hoofdletters,
  • klein,
  • nummers,
  • symbolen.
  • Vervolgens gebouwd:

    maskKS = 26^U 26 10^D 33^S (bij benadering via interne constanten)

    Deze modellen zijn een aanvaller die de structuur per type kent, niet alleen de totale lengte.

    7.2 Bijzondere gevallen

  • weak : raming via weakGuessTime(a.rate) (minimaal stroomafhankelijk bereik),
  • dt (opgemerkte datum): vermindering via detectDateAndReduce(),
  • anders: standaard positionele sleutelruimte.
  • De tijd wordt dan geschat door budgetTime(effectiveMaskGuesses, a.rate) (met masker rang factor en Unicode / datum verwerking).


    8. Datumdetectie en structurele reductie

    Time2Crack omvat een specifieke datumverwerking (hasDate, detectDateAndReduce) :

  • jaardetectie 1600-2099,
  • detectie van datumpatronen (DD/MM/YYYY, scheidingsvarianten),
  • vervanging van een enorme ruimte (10^dateChars) door een plausibele verzameling (~200 années of ~36500 dates).
  • Consequentie: een type wachtwoord Mot2024! Dit komt overeen met beledigende praktijken.


    9. Kwalificatie van hoge trouw

    Wanneer de hoge betrouwbaarheid modus actief is, ontvangt de masker categorie een extra multiplier in applyHighFidelityCalibration() :

  • als toetsenbordpatroon / volgorde / datum: extra reductiefactor,
  • Anders: voorzichtige schatting.
  • Intuïtie: Deze signalen verhogen de kans op een vroege ranking in de lijn van maskers getest.


    10. Benchmarks en orden van grootte

    Orders van omvang (profiel 12x RTX 4090):

    AlgoritmeOngeveer debietTijd voor 1ste 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 NTLM~3,46 TH/s~0.0003 s bcrypt (kosten 10)~69 kH/s4,0 uur Argon2id~800 H/s~14,5 dagen

    Lezen:

  • op hash snel, het masker is overweldigend,
  • op trage hash, het blijft zeer gevaarlijk op frequente patronen, maar de kosten worden concreet.

  • 11. Concrete voorbeelden van masker kraken

    11,1 Thomas42

  • relevant masker: ?u?l?l?l?l?l?d?d
  • Sleutelruimte: 26 26^4 10^2 (orde van grootte ~1e9)
  • op NTLM/MD5: bijna direct.
  • 11,2 summer2024

  • relevant masker: ?l?l?l?l?l?l?d?d?d?d
  • indien jaar gedetecteerd, scherpe daling (jaren plausibel < < 10^4).
  • 11.3 Marine!7

  • relevant masker: ?u?l?l?l?l?l?s?d
  • een zeer algemeen patroon in het ondernemingsbeleid.

  • 12. Vergelijking met ruwe kracht, hybride en PCFG

    AanvallenSterk puntLaag punt --------- BrutosterkteUitgebreide dekkingexponentiële kosten MaskerUitstekende efficiëntie op menselijke structurenGevoelig voor slechte maskerkeuze Hybride/regelsZeer goed op woorden + mutatiesAfhankelijk van een basiswoord PCFGWereldwijde grammatica vastleggenMeer kosten voor het trainen/werken

    In de praktijk combineren operators vaak masker + regels + probabilistisch.


    13. Beperkingen van maskeraanval

  • Afhankelijkheid van het juiste masker : een slechte set van maskers verliest snel in de opbrengst.
  • Lage generalisatie buiten structuur : op een echt willekeurig wachtwoord verdwijnt het voordeel.
  • Combinerende explosie als maskers te breed zijn : ?a Herhaald op lange lengte keert dicht bij de brute kracht.
  • Gedeeltelijke taaldekking : Unicode/diacritic alfabets vereisen aangepaste spellen.

  • 14. Doeltreffende verdediging

    14.1 Gebruikerszijde

  • een wachtwoordbeheerder gebruiken;
  • lange willekeurige wachtwoorden aanmaken (>= 16);
  • patronen volledig vermijden Mot+année, Prénom+chiffres, Majuscule+mot+symbole.
  • 14.2. Systeemzijde

  • opslag met Argon2id (of hoge kosten bcrypt),
  • Systematische MVO,
  • geblokkeerde wachtwoorden;
  • telemetrie van de verbinding en detectie van anomalieën.
  • 14.3 Beleid

  • prioriteitslengte en compromiscontrole;
  • de regels van zuiver cosmetische complexiteit verminderen die voorspelbare patronen bevorderen.

  • 15. Bibliografische referenties

    Academici

    Wheeler (2016). zxcvbn: Low-Budget Wachtwoord Sterkteschatting. 25e USENIX Security Symposium. Weir, M., Aggarwal, S., de Medeiros, B., & Glodek, B. (2009). Wachtwoord volgen Met behulp van Probabistic Context-Free Grammatica. IEEE Symposium over beveiliging en privacy. Dürmuth, M., Angelstorf, F., Horsch, J., et al. (2015). VROUWEN: Sneller wachtwoord raden met behulp van een bestelde Markov teller. EssoS. Ur, B., Kelley, P.G., Komanduri, S., et al. (2012). Hoe meet uw wachtwoord? USENIX Security.

    Industriële en technische bronnen

    Hashcat Wiki.
    Maskeraanval (-a 3). https://hashcat.net/wiki/ Hashcat (benchmarks). https://hashcat.net/hashcat/ Hive Systems (wachtwoordtabel). https://www.hivesystems.io/password-table

    Webbronnen geciteerd in de Time2Crack-toepassing

    USENIX Security 2016 (Wheeler). https://www.usenix.org/conference/usenixsecurity16/technical-sessions/presentation/wheeler
    Document gegenereerd voor Time2Crack Project Versie 1.0 Versie 2026-04-01 Broncode: app.js (functies addMaskAttacks, detectDateAndReduce, hasDate, budgetTime, applyHighFidelityCalibration)