Atak maski - kompleksowa operacja

Dokument referencyjny projektu Time2Crack
Odbiorcy: deweloperzy, badacze bezpieczeństwa, zaawansowani użytkownicy

Spis treści

  • Przegląd
  • Tło historyczne i akademickie
  • Fundacje koncepcyjne: Dlaczego Maski działają
  • Architektura nowoczesnego ataku maski
  • Składnia maska (Hashcat / JtR)
  • Ograniczenie przestrzeni klawiatury: zasada matematyczna
  • Wdrożenie w Time2Crack: addMaskAttacks()
  • Wykrywanie daty i redukcja strukturalna
  • Wysoka kalibracja wierności
  • Wskaźniki i rzędy wielkości
  • Betonowe przykłady pękania masek
  • Porównanie z siłą brutalną, hybrydą i PCFG
  • Ograniczenia ataku maski
  • Skuteczna obrona
  • Odniesienia

  • 1. Przegląd

    Atak maski składa się z testowania haseł, które następują dokładny kształt pozycyjny zamiast wszystkich możliwych kombinacji.

    Przykład: zamiast testować wszystkie spacje 8 znaków z 95 symboli (95^8), atakujący celuje w prawdopodobny motyw, taki jak:

  • 5 małych,
  • 2 cyfry.
  • Albo maska Hashcat ?u?l?l?l?l?l?d?d.

    Centralna idea: ludzkie hasła nie są przypadkowe.Thomas42, Marine2024, Bonjour!1Maska wykorzystuje dokładnie tę regularność.


    2. Tło historyczne i akademickie

    2.1 Początki

    Logika masek jest stara: z pierwszych narzędzi krakingu operatorzy zauważyli, że polityka haseł tworzy powtarzalne formaty.

    Industrializacja pochodzi z:

  • John Rozpruwacz (tryby i wzory przyrostowe),
  • Hashcat (tryb maski GPU zoptymalizowany),
  • masywne przecieki (RockYou, LinkedIn, Adobe), które zidentyfikowały najczęstsze struktury.
  • 2.2 Walidacja empiryczna

    Ofensywna / defensywna literatura zbiega się: bardzo duża część prawdziwych haseł podąża za prostymi wzorami (słowo + cyfry, kapitał początkowy + słowo + rok, itd.).

    Wheeler (USENIX 2016) oraz prace probabilistyczne (Markov / PCFG / OMEN) pokazują, że struktura jest równie decydująca jak długość brutto.


    3. Koncepcyjne fundacje: Dlaczego Maski pracy

    3.1 Ludzie generują struktury, nie przez przypadek

    Większość użytkowników buduje tajemnice pamięci:

  • znane słowo,
  • zmiany uszkodzenia,
  • przyrostek cyfrowy,
  • opcjonalny symbol końcowy.
  • Strategia ta jest przewidywalna i bardzo skomplikowana w maskach.

    3.2 Polityka kompleksowości zwiększa przewidywalność

    Reguła typu "1 kapitał, 1 cyfra, 1 symbol" nie narzuca losowości; często naciska na stabilne wzory:

  • Mot123!
  • Prénom2024
  • Ville75#
  • Maska jest idealnym narzędziem do przeglądania tych diagramów po bardzo niskich kosztach.

    3.3 Zmniejszenie efektywnej przestrzeni klawiszowej

    Hasło o długości 8:

  • Siła całkowita brutto (95^8) 6.63e15 kandydatów,
  • maska ?u?l?l?l?l?d?d = 26 26 ^ 4 10^2 = 1.19e9 Kandydaci.
  • Redukcja jest kilka milionów razy, jednocześnie pokrywając wspólny ludzki wzór.


    4. Architektura nowoczesnego ataku maski

    Typ rurociągu:

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

    2) Tworzenie kandydackich masek - > uporządkowane według prawdopodobieństwa

    3) Wykonanie GPU (Hashcat -a 3) - > badania równoległe dużych prędkości

    4) Dostosowanie adaptacyjne - > Trzymamy maski wysoko, szerzymy słabe

    Sukces zależy mniej od ilości masek niż od ich priorytetu.


    5. Składnia maski (Hashcat / JtR)

    5.1 Klasy podstawowe

  • ?l : tiny (a-z)
  • ?u : stolice (A-Z)
  • ?d : numer (0-9)
  • ?s : symbol do wydrukowania
  • ?a : standardowy alfabet mieszany (często ?l?u?d?s)
  • 5.2 Przykłady

  • ?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. Maski specjalne

    Hashcat pozwala na niestandardowe zestawy znaków (-1, -2itd.), na przykład:

  • -1 ?l?uéèàç dla języków łacińskich,
  • -2 0123456789!@# dla prawdopodobnych przyrostów,
  • następnie połączona maska ?1?1?1?1?2?2.

  • 6. Klawiatura redukcja: zasada matematyczna

    Albo maska długości n z kardynałami pozycyjnymi c1, c2, ..., cn.

    Zamaskowana przestrzeń klawiszy to:

    Kmaska = ∞ (i)

    Czas (model budżetu):

    T = Kmask / rate

    W naiwnym, niezamaskowanym modelu:

    Kfull = cs ^ n

    Zysk maski jest:

    Gain = Kfull / K_mask

    Im większe ograniczenia pozycyjne (np. cyfry na końcu, kapitał w głowie), tym większy zysk.


    7. Wdrożenie w Time2Crack: addMaskAttacks()

    Time2Crack implementuje logikę maski w app.js :

  • funkcja: addMaskAttacks(rows, full, len, cs, kbPat, seq, weak, dt, pw)
  • Kategoria: cat: "mask"
  • wyświetlacz: aMask / Uwaga nMaskPositional, nKBDetected, nSeqDetected, nDateDetected
  • 7.1. Obliczanie zamaskowanej przestrzeni klawiszowej

    Kod oblicza rzeczywiste zdarzenia każdego typu znaku w haśle:

  • drukowanymi literami,
  • malutki,
  • liczby,
  • symbole.
  • Następnie zbudowany:

    maskKS = 26^U 26 10^D 33 ^ S (zbliżenie za pomocą stałych wewnętrznych)

    To modeluje napastnika, który zna strukturę według typu, nie tylko całkowitą długość.

    7.2 Przypadki szczególne

  • weak : oszacowanie weakGuessTime(a.rate) (minimalny zakres zależny od przepływu),
  • dt (wykryta data): zmniejszenie detectDateAndReduce(),
  • w innym przypadku: standardowa klawiatura pozycyjna.
  • Czas jest następnie szacowany przez budgetTime(effectiveMaskGuesses, a.rate) (z maską rang współczynnik i Unicode / przetwarzanie daty).


    8. Wykrywanie daty i redukcja struktury

    Time2Crack zawiera konkretne przetwarzanie daty (hasDate, detectDateAndReduce):

  • wykrywanie roku 1600-2099,
  • wykrywanie wzorców daty (DD/MM/YYYY, warianty separatorów),
  • wymiana ogromnej przestrzeni (10^dateChars) przez wiarygodny zestaw (~200 années lub ~36500 dates).
  • Konsekwencja: hasło typu Mot2024! Jest to zgodne z praktyką ofensywną.


    9. Wysoka kalibracja wierności

    Gdy tryb wysokiej wierności jest aktywny, kategoria masek otrzymuje dodatkowy mnożnik w applyHighFidelityCalibration() :

  • jeżeli wzór / sekwencja / data klawiatury: dodatkowy współczynnik redukcji,
  • W przeciwnym razie: zachowawcze szacunki.
  • Intuicja: Sygnały te zwiększają prawdopodobieństwo wczesnego rankingu w linii testowanych masek.


    10. Wskaźniki i rzędy wielkości

    Porządek wielkości (profil 12x RTX 4090):

    AlgorytmPrzybliżone natężenie przepływuCzas na 1. 9 kandydatów ----:---: MD5- 2,03 TH / s0, 0005 s SHA-1- 610 GH / s- 0,0016 s SHA- 256- 272 GH / s0, 0037 s NTLM- 3, 46 TH / s0, 0003 s bcrypt (koszt 10)- 69 kH / s- 4,0 h Argon2id- 800 H / s- 14,5 dni

    Czytanie:

  • Na haszu szybko, maska jest przytłaczająca,
  • na powolne hash, pozostaje bardzo niebezpieczne na częstych wzorców, ale koszty stają się konkretne.

  • 11. Betonowe przykłady pękania maski

    11, 1 Thomas42

  • odpowiednia maska: ?u?l?l?l?l?l?d?d
  • Klawiatura: 26 26^4 10 ^ 2 (rząd wielkości ~ 1e9)
  • na NTLM / MD5: prawie natychmiast.
  • 11, 2 summer2024

  • odpowiednia maska: ?l?l?l?l?l?l?d?d?d?d
  • jeżeli wykryto rok, ostre zmniejszenie (lata wiarygodne < < 10^4).
  • 11, 3 Marine!7

  • odpowiednia maska: ?u?l?l?l?l?l?s?d
  • bardzo powszechny wzór polityki korporacyjnej.

  • 12. Porównanie z Surowymi Siłami, Hybrydami i PCFG

    AtakSilny punktNiski punkt --- Moc bruttoKompleksowy zakreskoszt wykładniczy MaskaDoskonała wydajność struktur ludzkichWrażliwy na zły wybór maski Hybrydy / zasadyBardzo dobrze na słowach + mutacjeZależy od podstawowego słowa PCFGPrzechwytywanie gramatyki globalnejBardziej kosztowne szkolenie / eksploatacja

    W praktyce operatorzy często łączą maski + zasady + prawdopodobieństwo.


    13. Ograniczenia ataku maski

  • Zależność od prawej maski : zły zestaw masek szybko traci wydajność.
  • Niskie uogólnienie struktury zewnętrznej : na naprawdę losowe hasło, przewaga znika.
  • Eksplozja zespołowa, jeśli maski są zbyt szerokie : ?a Powtórzone na długie powroty blisko brutalnej siły.
  • Częściowy zakres językowy : Alfabety Unicode / diakrytyczne wymagają niestandardowych gier.

  • 14. Skuteczna obrona

    14.1 Strona użytkownika

  • używać menedżera haseł,
  • generuje długie, losowe hasła (> = 16),
  • całkowicie unikać wzorców Mot+année, Prénom+chiffres, Majuscule+mot+symbole.
  • 14.2. Strona systemowa

  • przechowywanie za pomocą Argon2id (lub wysokiej ceny bcrypt),
  • Systematyczne MFA,
  • blokowanie uszkodzonych haseł,
  • telemetria połączenia i wykrywania anomalii.
  • 14.3 Polityka

  • długość priorytetowa i kontrola kompromisowa,
  • zmniejszyć zasady czysto kosmetycznej złożoności sprzyjającej przewidywalnym wzorcom.

  • 15. Odniesienia bibliograficzne

    Źródło akademickie

    Wheeler, D.L. (2016). zxcvbn: Szacunkowa moc hasła w budżecie. 25. USENIX Sympozjum Bezpieczeństwa. Weir, M., Aggarwal, S., de Medeiros, B., & Globek, B. (2009). Hasło Śledzenie Korzystanie Probabilistic Context- Free Grammars. Sympozjum IEEE na temat bezpieczeństwa i prywatności. Dürmuth, M., Angelstorf, F., Horsch, J., et al. (2015). OMEN: Szybsze Password Guessing Using an Ordered Markov Enurator. ESSOS. Ur, B., Kelley, P. G., Komanduri, S., et al. (2012). Jak Twoje hasło mierzy? USENIX Security.

    Źródła przemysłowe i techniczne

    Hashcat Wiki.
    Atak maski (-a 3). https: / / hashcat.net / wiki / Hashcat (poziomy odniesienia). https: / / hashcat.net / hashcat / Hive Systems (Tabela Hasło). https: / / www.hivesystems.io / password- table

    Źródła internetowe cytowane w aplikacji Time2Crack

    USENIX Security 2016 (Wheeler). https: / / www.usenix.org / conference / usenixsecurity16 / technical- sessions / presentation / wheeler
    Dokument wygenerowany dla Time2Crack Project - Wersja 1.0 - 2026- 04- 01 Kod źródła: app.js (funkcje addMaskAttacks, detectDateAndReduce, hasDate, budgetTime, applyHighFidelityCalibration) *