De tekniske principper for adgangskode revner: hvordan man øger succesraten for dekryptering, og hvordan man med succes dekrypterer og gendanner adgangskoder.

Tænk som en hacker og spørg dig selv, hvor hurtigt en adgangskode kan knækkes afhængigt af dens struktur.

Når en hacker eller penetrationstester bryder et system og ønsker at få adgang til en plaintext-adgangskode fra et databasedump, skal de først knække den gemte adgangskode-hash. Mange angribere dykkede ind i konceptet: De prøvede ethvert vilkårligt kryptografisk angreb, de ønskede at prøve, og der var næsten ingen grund. Denne diskussion vil vise nogle effektive metoder til at knække adgangskoder, og hvordan man kombinerer statistisk analyse af adgangskoder med værktøjer til at skabe en tidsbegrænset tilgang til effektiv og vellykket knækning.

Hvorfor er det vigtigt?

Password cracking er en døende sag. Brugere skal oprette mere komplekse adgangskoder, og nogle back-end-udviklere er begyndt at bruge mekanismer som   Bcrypt   til at erstatte standard hash-funktioner. BCrypt-hashværdier tager længere tid at generere, så adgangskoder bliver sværere at knække. Hackere skal generere hash-værdier meget hurtigt for at knække adgangskoder effektivt, så Bcrypt er et meget kraftfuldt værktøj til at bekæmpe sådanne angreb. For at illustrere dette eksempel er adgangskodeknækkerprogrammet produceret af 25 GPU-klynger, der blev lanceret i 2012, i stand til at opnå en NTLM-hash-genereringshastighed på 350 milliarder hashes i sekundet, mens BCrypt-hash-genereringshastigheden er 71.000 hashes. Ved at bruge dette som en sammenligningsmodel kan 5 millioner NTLM-hashes genereres for hver genereret BCrypt-hash. Når de står over for BCRPYTED-algoritmen, skal hackere foretage mere beregnede gæt på adgangskoden og kan ikke stole på at bruge brute kraft på hver mulighed.

执行流程的顺序

Bemærk: Hvis angriberen ved, at længden af adgangskoden er så kort, at det ikke vil tage lang tid at brute force nøglepladsen, er der ingen grund til at tage trinvise angrebstrin.

Tidslinje

Tidseffektivitet bliver en nøglefaktor for vellykket adgangskodeknækning. Mens det ville være fint at dække hele det kritiske rum af brugerens adgangskode, er den tid, der kræves for at gøre det, normalt ikke gennemførlig. Derfor, når du cracker, er det vigtigt at prøve det mest tidsbesparende angreb først, og hvis det ikke lykkes, fortsætte med et langsommere kryptografisk angreb, der dækker mere nøgleplads. Den hurtigste metode er et simpelt ordbogsangreb baseret på almindelige brugeradgangskoder og tidligere adgangskodedump. Derfra bør du forsøge at manipulere ordbogen for at tilføje tal eller symboler til slutningen eller ændre bogstaver. Dette kaldes et hybridangreb eller et regelbaseret angreb. Dernæst kan du prøve at bruge maskinlæringsfunktioner til at generere mulige adgangskoder. Markov-kæden er et godt eksempel. Ved at kombinere almindelige elementer, der findes på engelsk for at danne ord (f.eks. "ing", "er", "qu"), kan der genereres et godt gæt på adgangskoden, som f.eks. følgende adgangskode. Selvom det er nemt at knække denne specifikke adgangskode ved hjælp af enhver metode, vil vi bruge denne adgangskode for at forenkle alle angrebsvektorer. adgangskode1234adgangskode1234

Pa +   ss   +   Word   +   1234

Endelig dækker målrettede brute force-angreb (kaldet maskeangreb) alle nøglepladser for en given adgangskode baseret på en kryptografisk struktur. Med "struktur" af en adgangskode mener jeg typen og rækkefølgen af tegn, der bruges til at oprette adgangskoden. For eksempel en "struktur" med store bogstaver efterfulgt af 7 små bogstaver efterfulgt af 4 cifre (angivet som). adgangskode1234ullllllldddd

Små bogstaver, store bogstaver, symboler, tal (l) (u) (s) (d)

Så hvis en angriber beslutter sig for at bruge strukturen til at skabe alle muligheder for en kombination af tegn, vil han eller hun til sidst finde adgangskoden. Så bliver angriberens spørgsmål: Hvilken struktur skal målrettes først, når man angriber et sæt hash-værdier? adgangskode1234

Statistisk analyse

For at hjælpe med at besvare dette spørgsmål har jeg lavet nogle statistiske analyser af populære adgangskodedumps for at se, om der er en mere almindelig adgangskodestruktur end andre, og i hvilket omfang denne struktur er korrekt. Prøvestørrelsen på mere end 34 millioner offentligt afslørede adgangskoder omfatter velkendte adgangskodedumps som RockYou, LinkedIn, phpBB og mange flere.

 

Figuren nedenfor viser frekvensen af maskestrukturen for hver unik maske. Den røde linje angiver 50% linjen, som vises efter den 13. hyppigst forekommende maske.


从示例图派生的密码掩码

Dette betyder, at de første 13 unikke maskestrukturer tegner sig for 50% af prøveadgangskoden. Strukturen af mere end 20 millioner adgangskoder i prøven er placeret i de første 13 masker. Disse resultater er ret alarmerende med hensyn til universaliteten af strukturerede adgangskoder. De øvrige 50% findes i den lange højre hale og er blevet reduceret i dette diagram. Faktisk er der kun 400 af de 260.500 unikke masker vist i denne figur. Konceptet med dette universelle strukturerede kodeord er utroligt; Det er dog ikke overraskende, når man tænker på, hvordan brugerne opretter og husker deres adgangskoder. På baggrund af de analyserede data er der nogle logiske faktorer, der hjælper med at forklare, hvordan dette er muligt. Når brugeren bliver bedt om at angive en adgangskode, der indeholder store bogstaver, bruges det som det første tegn mere end 90% af tiden. Når der bliver bedt om tal, tilføjer de fleste brugere to cifre til slutningen af deres adgangskode (sandsynligvis eksamensår). Den næste mest populære mulighed er at afslutte adgangskoden med fire cifre (måske det foregående år eller dette år). I dette tilfælde har det næste mest populære tal et tal i slutningen og tre tal i slutningen. Strukturelle fællesskaber som dette gør det muligt for en angriber at forudsige, hvad strukturen af en brugeradgangskode sandsynligvis vil være.

Statistisk blanding – Acceleration

Med denne strukturelle viden kan man sikkert antage, at brugeren sandsynligvis vil sætte sin adgangskode til TAN (tilfældige bogstaver), selvom de alle starter med 9 bogstaver og har 9 bogstaver. Derfor antager vi, at givet en kryptografisk struktur, hvis vi ser på hinanden følgende bogstaver, er det sandsynligvis et ord. Dette er en meget nyttig antagelse for crackers, da det eliminerer en masse nøgleplads. Dette bliver derefter et hybridangreb, der udnytter den statistiske signifikans af den generelle kryptografiske struktur. potatoespwivwdhpp

Effektivitet og tidsbegrænsninger

Normalt, som penetrationstestere, selvom vi bryder et sæt hashværdier, har vi måske ikke tid til at knække alle hashværdier. At ødelægge dem kan dog hjælpe med at opgradere adgangen til systemet og bringe mere nyttige resultater til kunderne. Derfor, når du knækker en adgangskode, kan det være nyttigt at bestemme, hvor meget tid der vil blive afsat til at knække et sæt hash-værdier. Ved hjælp af de strukturer, der blev fundet i den foregående analyse, kan en angriber bestemme, hvilke top 10 populære strukturer han eller hun ønsker at dække baseret på krav til adgangskodekompleksitet sorteret efter hurtigste færdiggørelsestid. Endelig kan en angriber tidsbegrænse sin metode ved ikke at bruge mere end en time på at udføre et crack. Dette blev opdaget i en nylig penetrationstest for at få hash. Nedenfor er et øjebliksbillede af resultaterne af den CPU-baserede cracker.

受损结果表

Den hurtigste udførlige struktur i dette tilfælde er, at vi definerer det som et stort bogstav efterfulgt af tre små bogstaver ("W" for "Word") og derefter fire cifre. Der er 69 adgangskoder i hash-sættet, der matcher strukturen, og min standard CPU er i stand til at krydse alle mulighederne for strukturen på et minut. Vi stoppede cracket efter 62 minutter, og cracket producerede 221 unikke crack-hash-værdier, der matchede 491 konti, hvilket resulterede i en samlet 11% lækage. Årsagen til den store forskel i antallet af knækkede adgangskoder og kontolækager er, at Office-indstillinger ofte får folk til at bruge almindelige adgangskoder. Hvis en angriber bestemmer, at en generisk adgangskode bruges i miljøet, vil alle brugere med samme adgangskode også blive truet. U (W3) dddd

Selvom hybridangreb eller regelbaserede angreb (f.eks.) kan knække flere af disse adgangskoder hurtigere, kan strukturen af angrebskoderne give os mulighed for at dække mere nøgleplads. Denne metode er et effektivt næste skridt, hvis et hurtigere angreb viser sig at være ude af stand til at ødelægge målhashen. Derudover er det vigtigt at huske på, at dette eksempel er gjort på en ret middelmådig CPU, og at udføre det samme angreb på en kraftfuld GPU kan reducere denne tid til et par sekunder. Derfor er den nøjagtige timing ikke så vigtig som den effektive implementeringsteori. best64

Statistisk analyse af

hjælper os med at angribe almindelige adgangskodestrukturer generelt; Der er dog værktøjer, der kan hjælpe med at lokalisere specifikke applikationer. Værktøjer som CeWL   kan gennemsøge ord fra websider og bruges til at generere ordlister eller ordbøger specifikt for virksomheder. Det virker, fordi virksomheder har en tendens til at bruge adgangskoder, der er relateret til deres branche, virksomhed eller job. Desuden, da vi har fastslået, at almindelige adgangskoder er populære i arbejdsmiljøet, er det også muligt at bruge adgangskoder, der allerede er knækket, som grundlag for andre adgangskoder, som kan være ens. Hvis vi f.eks. finder ud af, at "" er en brugers adgangskode, kan vi sætte "" i en ny ordliste, sætte den i regelsættet og derefter opdage, at nogen anden har adgangskoden "". Dette koncept med at bruge knækkede grundlæggende ord (som ' ') og pynte med omgivende tegn er meget effektivt, når man knækker hash-værdier dumpet fra virksomhedsmiljøet, hvilket kan spores tilbage til begrebet genbrug af adgangskode. Ifølge den penetrationstest, vi har udført, er dette bedst egnet til at knække de sidste 20% af uncracked hashværdier. AcmeCorp1234AcmeCorpAcmeCorp@2015AcmeCorp

Det er også vigtigt at trimme ordbogen, så alle de gættede adgangskoder opfylder de krav, som ansøgningen fastsætter, så der ikke spildes tid på at gætte adgangskoder, som ikke kan gættes på grund af længden eller tegnsammensætningen.

Sæt det sammen

At starte med det hurtigste angreb, der dækker mindst nøgleplads (standard ordbogsangreb) til det langsomste og største nøgleplads (ren brute force) er den mest ideelle fremgang i betragtning af den tid, der er afsat til angrebet. Derfor bør en angriber implementere en standardmetode, der tager dette i betragtning. Hvis den konto, som angriberen ønsker at hacke, er afsluttet i første fase, er der muligvis ingen grund til at fortsætte med andre angreb; Men i mange tilfælde kan et simpelt ordbogsangreb være utilstrækkeligt, hvis der er målkonti, eller angriberen vil blot ødelægge så mange konti som muligt, så det kan være nødvendigt at bruge et blandet angreb med statistisk struktur og et målrettet brute force angreb. Derfor er etablering af metoder afgørende for en vellykket crack, som kan omfatte de tidligere nævnte metoder samt nogle automatiserede processer. Nyere værktøjer, såsom   PRINCE, kan hjælpe med at lette adgangskodeknækning. Det er vigtigt at udvikle et værktøjsbælte, som f.eks. PRINCE prøver i metoden, men at forstå funktionaliteterne bag værktøjerne i stedet for udelukkende at stole på dem, vil gøre cracking mere effektiv.

Forsvar – hvordan man bekæmper statistikker

Ved at analysere ved hjælp af disse adgangskoder kan man identificere de mest populære strukturer i betragtning af den nødvendige kompleksitet. Derfor bør udviklere muligvis implementere nogle kontroller for at forhindre brugere i at bruge nogle af disse meget populære strukturer til at udjævne kurven i den foregående grafik. Problemet med denne idé er dog, at uden en simpel struktur kan brugerne have svært ved at huske deres adgangskoder. Jeg anbefaler at bruge en adgangskodemanager, der kræver dobbeltgodkendelse. Disse applikationer vil generere og gemme alle dine adgangskoder for dig, så hukommelsen er ikke et problem. De adgangskoder, de genererer, er tilfældige i strukturen og kan bruges så længe applikationen tillader det. Som jeg tidligere nævnte, er kryptering af adgangskoder en anden meget effektiv metode til at bremse udsigterne for en angriber. Endelig er implementering af strategier på kontoret, der hjælper brugerne med at forstå farerne ved at dele eller genbruge adgangskoder, et vellykket skridt i den rigtige retning, selvom brugerne ikke altid overholder dem. Selvom de sandsynligvis ikke vil overholde det hele tiden, er det en effektiv kontrol.

Konklusioner og gevinster

Password cracking kan være et vagt begreb. Efterhånden som vanskeligheden ved at knække stiger, er der behov for målrettede angreb baseret på effektivitet, og personlige knækningsmetoder bør etableres. Det er ikke værd at investere penge for i sidste ende at øge hashgenereringshastigheden. Derfor kan implementering af en metode og forenklede processer ved hjælp af statistikker og værktøjer som et angrebsmiddel lette password cracking. Udviklere kan udvikle kontrolforanstaltninger til at håndtere denne situation, og brugere kan bruge sikre adgangskodehåndtere til at minimere effektiviteten af disse angreb; Sådanne implementeringer er dog endnu ikke særlig populære. I øjeblikket er statistiske angreb på adgangskoder effektive med hensyn til antallet af knækninger og effektiviteten af tidsforbindelser. Tænk på dine egne adgangskoder og spørg dig selv, hvor hurtigt de kan knækkes baseret på adgangskodens struktur og hvilke kontroller på dit kontor, der kan få en angriber til at invadere en brugers konto.

Forrige:Hashcat hævder at være verdens hurtigste adgangskode revner værktøj. Hvordan bruger du Hashcat til at dekryptere adgangskoder?
Næste:Tutorial: Brug professionel dekryptering software til at knække adgangskoder til Excel, Word, PDF, og komprimerede arkivfiler på din egen computer.
  • Fokus på Word, Excel, PPT, PDF, RAR, ZIP, 7Z, komprimerede pakker, Office krypteret fil oplåsning og dekryptering
  • Vi giver brugerne filkomprimeret pakkeadgangskodegendannelse af høj kvalitet, PDF-oplåsning Word-adgangskodegendannelse
  • Ophavsret © Document Password Recovery Master Online dekrypteringsplatform