Viper is een brute-force password cracker.
Toen ik probeerde om de onveiligheid van UNIX wachtwoorden te begrijpen, zocht ik naar eenvoudig wachtwoord kraken van software als een voorbeeld. Tuurlijk, was er de beroemde Crack, maar ik vond Hale viper.pl meer leesbaar. Ik wilde de code te meten en af te drukken prestaties en tijd ramingen voor brute force-aanvallen te verbeteren, zodat ik contact Hale over mijn ideeën met inbegrip van re-het schrijven van zijn programma in de 'C' voor maximale snelheid.
Ik wilde weten hoe lang het duurt om te controleren op elke mogelijke wachtwoord combinatie van verschillende computing-platforms, voor verschillende tekensets en voor verschillende wachtwoord lengtes. De resultaten waren zeer interessant!
Maar eerst moeten we kijken naar meer details hoe wachtwoorden werken en hoe ze worden gegenereerd. Na dat, het schrijven van een password cracker is niet zo moeilijk. Het basisontwerp van een brute-force password cracker is een lus waarin we continu berekenen wachtwoord hashes van opgehoogd wachtwoord snaren van een generiek karakter set - en vergelijk het resultaat aan de echte wachtwoord hash tot ze overeenkomen. Laten we aannemen dat het wachtwoord bevat slechts kleine letters van 'a' door de 'z', zouden we hashing en vergelijken van start:
'A', 'b', 'c', 'd' ... 'w', 'x', 'y', 'z', dan
'Aa', 'ab', 'ac', 'ad' ... 'zw', 'zx', 'zy', 'zz', dan
'AAA', 'aab', 'aac', 'Aad' ... 'ZZW', 'ZZx', 'zzy', 'ZZZ'
... Nog steeds de maximale lengte van een wachtwoord, totdat we de 'winnende' combinatie. Hoe sneller het draait, hoe beter, want eenvoudige wiskunde vertelt ons hoe veel vergeten reeks combinaties we moeten controleren. Met behulp van het voorbeeld van een wachtwoord met max. 8 karakters (kleine letters), kunnen we het totale aantal combinaties (bijvoorbeeld voor 26 kleine letters van het alfabet Engels) te berekenen:
(26) + 261+
(26x26) + 262+
(26x26x26) + 263+
(26x26x26x26) + 264+
(26x26x26x26x26) + 265+
(26x26x26x26x26x26) + 266+
(26x26x26x26x26x26x26) + 267+
(26x26x26x26x26x26x26x26) 268
= 217.180.147.158 combinaties!
Software informatie:
Versie: 1.4
Upload datum: 3 Jun 15
Licentie: Gratis
Populariteit: 15
Reacties niet gevonden