den nya versionen av det Àldsta stödda programmet för lösenordsÄterstÀllning (projektet har utvecklats sedan 1996). Sedan lanseringen av den tidigare versionen 1.8.0-jumbo-1 har 4,5 Är gÄtt, under vilken tid över 6000 Àndringar (git commits) frÄn mer Àn 80 utvecklare har gjorts. Tack vare , dÀr varje Àndring (pull request) förhandsgranskas pÄ mÄnga plattformar, rekommenderade utvecklarna att anvÀnda , vars tillstÄnd har hÄllits stabilt trots de Àndringar som gjorts. Huvudkoden för projektet Àr under GPLv2+ licens, medan koden för vissa komponenter Àr under BSD-licensen.
En funktion av den nya versionen Àr att stöd för FPGA (utöver CPU, GPU och Xeon Phi) har lagts till. För kort , som inkluderar 4 FPGA-chips och ursprungligen frÀmst anvÀndes för Bitcoin-mining, implementeras nu 7 typer av lösenordshashar: bcrypt, klassisk descrypt (inklusive bigcrypt), sha512crypt, sha256crypt, md5crypt (inklusive Apache apr1 och AIX smd5), Drupal7 och phpass (som anvÀnds, bland annat, i WordPress). NÄgra av dem implementeras pÄ FPGA för första gÄngen.
För bcrypt uppnÄs en prestanda pÄ ~119k c/s vid 2^5 iterationer ("$2b$05"), med en strömförbrukning pÄ cirka ~27 watt, vilket avsevÀrt övertrÀffar resultaten för de senaste GPU:erna sett till kostnad per enhet, utrustning och watt. Stöds Àven kort av denna typ stöds, vilket har verifierats upp till 16 kort (64 FPGA-chips) som kontrolleras med en Raspberry Pi 2. Den vanliga funktionaliteten hos John the Ripper stöds, inklusive alla lÀgen för lösenordsÄterstÀllning och samtidig laddning av ett stort antal hashar.
För att öka prestandan har en maskeringsfunktion implementerats (lĂ€ge "âmask", inklusive i kombination med andra lĂ€gen) och jĂ€mförelse av berĂ€knade hash-vĂ€rden med de som laddats upp pĂ„ FPGA-sidan. Ur ett implementeringsperspektiv, i mĂ„nga av designerna (t.ex. för Andra viktiga förĂ€ndringar:
Andra viktiga förÀndringar:
- Stöd för ett stort antal ytterligare typer av hash-funktioner, krypteringar etc., inklusive bÄde klassiska hash-funktioner för lösenord (t.ex. frÄn nya versioner av QNX) och kryptovaluta-plÄnböcker, krypterade arkiv och krypterade filsystem (t.ex. Bitlocker och FreeBSD geli), samt stöd för nya typer av format som tidigare har stötts (t.ex. har stöd för bcrypt-pbkdf för OpenBSD softraid lagts till) och mycket mer. Totalt har 80 format lagts till för CPU och 47 för OpenCL. Det totala antalet format Àr nu 407 för CPU (eller 262 utan att ta med "dynamiska" format som kan konfigureras frÄn konfigurationsfiler) och 88 för OpenCL.
- ĂvergĂ„ng frĂ„n stöd för CUDA-sprĂ„ket till förmĂ„n för OpenCL, vilket inte hindrar full anvĂ€ndning av GPU:er frĂ„n NVIDIA (och till och med hjĂ€lper, tack vare fokus pĂ„ utvecklingen och optimeringar pĂ„ en implementation av varje format under GPU istĂ€llet för tvĂ„ som tidigare).
- Stöd för nya SIMD-instruktionsuppsĂ€ttningar â AVX2, AVX-512 (inklusive för andra generationen Xeon Phi) och MIC (för första generationen) â samt mer allsidig och fullstĂ€ndig anvĂ€ndning av SIMD i implementationerna av mĂ„nga format, inklusive tillĂ€mpningen av tidigare stödda instruktionsuppsĂ€ttningar Ă€nda tillbaka till AVX och XOP pĂ„ x86(-64) och
NEON, ASIMD och AltiVec för ARM, Aarch64 och POWER, respektive. - MÄnga optimeringar för CPU och OpenCL, bÄde för mer effektiv hantering av ett stort antal hash-algoritmer samtidigt (t.ex. testade lasten pÄ 320 miljoner hash-algoritmer SHA-1 pÄ GPU) och för att öka hastigheten pÄ hash-berÀkningarna. En del av dessa optimeringar Àr universella, andra omfattar olika delmÀngder av format, och mÄnga Àr specifika för enskilda format.
- (Auto-)instĂ€llning av optimal buffring av kontrollerade lösenord pĂ„ CPU ("âtune=auto âverbosity=5") och optimala batchstorlekar pĂ„ OpenCL (inkluderat som standard), med hĂ€nsyn till den lĂ„ngsamma tid det tar för GPU:er i serien NVIDIA GTX 10xx och nyare att nĂ„ full arbetshastighet. AnvĂ€ndning av verkligt laddade hash-vĂ€rden och verkliga lĂ€ngder pĂ„ kontrollerade lösenord (nĂ€r de Ă€r kĂ€nda i förvĂ€g) för sĂ„dan auto-instĂ€llning.
- TillĂ€gg av en kompilator för "dynamiska uttryck" som specificeras direkt i kommandoraden och implementerar nya hybrida hash-typer, till exempel "âformat=dynamic=âsha1(md5($p).$s)'", som berĂ€knas pĂ„ CPU med hjĂ€lp av SIMD. Som komponenter i sĂ„dana uttryck stöds tiotals snabba hash-funktioner (frĂ„n vanliga som MD5 till mĂ„ttligt exotiska som Whirlpool), sammanslagning av delstrĂ€ngar, kodning och avkodning, teckenregistertransformering, hĂ€nvisningar till lösenord, salt, anvĂ€ndarnamn och strĂ€ngkonstanter.
- à tgÀrdande av oönskade avvikelser frÄn hashcat, inklusive stöd för tidigare specifika hashcat-regler (wordlist rule commands), övergÄng till numrering av OpenCL-enheter frÄn 1, tillÀmpning av samma lÀngd pÄ lösenord som standard (vanligtvis lÀngd 7) vid prestandatest.
- Nya lÀgen för generering av kontrollerade lösenord (cracking modes), inklusive PRINCE frÄn hashcat (skapar "fraser" genom att kombinera flera ord i ordning av totalt lÀngd), subsets (vÀlj lösenord med otillrÀckligt antal olika tecken, Àven om dessa tecken kom frÄn en stor uppsÀttning möjliga) och hybrid external (tillÄter externa lÀgen, beskrivna i konfigurering i C-liknande sprÄk, att generera mÄnga kontrollerade lösenord baserat pÄ varje grundlÀggande "ord" frÄn ett annat lÀge). Dessutom, flera nya fördefinierade externa lÀgen.
- Ytterligare möjligheter att anvĂ€nda flera lĂ€gen samtidigt (ett ovanpĂ„ ett annat â stacking), liksom anvĂ€ndning av regeluppsĂ€ttningar (wordlist rules stacking).
- FörbÀttringar av masklÀgen (gradvis utstrÀckning av masken inom angivna lÀngdgrÀnser, tillÀmpning av masken pÄ OpenCL-enheten eller FPGA-kortet) och single crack (förnuftigt beteende pÄ enheter som berÀknar ett stort antal hash samtidigt, vilket tidigare i detta lÀge inte hade tillrÀckligt med kontrollerade lösenord, samt begrÀnsningar pÄ minnesanvÀndning).
- MÄnga förbÀttringar av stöd för Unicode och andra kodningar i olika delsystem.
- MÄnga förbÀttringar av programmen *2john (konverterar filer av olika format för
anvÀndning med john), sÀrskilt wpapcap2john (bearbetar WiFi-trafik). - MÄnga nya alternativ för kommandoraden, instÀllningar i john.conf, konfigurationsalternativ och de nya funktionerna kopplade till dem, av vilka lÄngt ifrÄn alla har nÀmnts hÀr.
- FörbÀttring av kodkvaliteten genom inbyggt stöd för debug-builds med AddressSanitizer (tidigare) och UndefinedBehaviorSanitizer (tillagd), införande av inbyggda fuzzers för format (inom ramen för GSoC 2015), och tillÀmpning av kontinuerlig integration (bygge för dussintals kombinationer av operativsystem och kompilator och testning av korrekt stöd för alla format).
KĂ€lla: opennet.ru
