VÀlja antud uue versioon vanimast toetatavast paroolide leidmise programmist John the Ripper 1.9.0-jumbo-1. (Projekt on arenenud alates 1996. aastast.) projekti lehel Allalaadimiseks on saadaval nii lÀhtekood kui ka valmis kogumid Windowsile.
Tuleb mĂ€rkida, et alates versiooni 1.8.0-jumbo-1 vĂ€ljaandmisest on möödunud 4,5 aastat, mille jooksul on tehtud ĂŒle 6000 muudatuse (git commits) enam kui 80 arendajalt. Selle aja jooksul on arendajad soovitanud kasutada praegust vĂ€ljaannet GitHubis,mille seisundit on hoidnud stabiilsena vaatamata tehtud muudatustele, tĂ€nu jĂ€tkuva integreerimise, mis sisaldab iga muudatuse (pull request) eelkontrolli paljudel platvormidel. Uue versiooni eripĂ€ra on FPGA (programmable logic devices) toe ilmumine koos CPU, GPU ja Xeon Phi-ga.
Plaadile ZTEX 1.15y,mis sisaldavad 4 FPGA kiipi ja olid algselt peamiselt mĂ”eldud Bitcoin'i kaevandamiseks, on nĂŒĂŒd rakendatud 7 tĂŒĂŒpi paroolide hĂ€shtimist: bcrypt, klassikaline descrypt (sealhulgas bigcrypt), sha512crypt, sha256crypt, md5crypt (sealhulgas Apache apr1 ja AIX smd5), Drupal7 ja phpass (kasutatakse, sealhulgas WordPressis). MĂ”ned neist on FPGA-s esindatud esmakordselt. bcrypt'i puhul saavutatud jĂ”udlus on ~119k c/s 2^5 iteratsiooni (â$2b$05â) juures, tarbides seejuures umbes 27 vatti, mis ĂŒletab oluliselt uusimate GPUde tulemusi arvestades plaadi, seadmete hinda ja vatti. Samuti toetatakse klastreid sellistest plaatidest, mida on testitud kuni 16 plaadi (64 FPGA) puhul, mida juhitakse ĂŒhe Raspberry Pi 2-ga. Toetatakse John the Ripper'i tavalist funktsionaalsust, sealhulgas kĂ”iki paroolide leidmise reĆŸiime ja suure hulga hĂ€shtide samaaegset laadimist. Töö kiirusel on rakendatud maski kasutamine (reĆŸiim ââmaskâ, sealhulgas koos teiste reĆŸiimidega) ja arvutatud hĂ€shtide vĂ”rdlemine FPGA-le laaditutega. Rakenduse vaatenurgast on paljudes disainides (nt sha512crypt ja Drupal7) rakendatud plokid, mis koosnevad mitme pĂ”hijuhtmega protsessorituumadest (soft CPU cores), mis suhtlevad krĂŒptograafiliste tuumadega. Selle funktsionaalsuse vĂ€ljatöötamist juhtis Denis Burikin koos teiste jumbo arendajatega.
Teised olulised muudatused:
- Toetada suure hulga lisahatĆĄitaipoode, krĂŒpteerimise meetodeid jne, sealhulgas nii klassikalisi paroolide hash'e (nĂ€iteks uute QNX-i versioonide puhul) kui ka krĂŒptorahakotte, krĂŒpteeritud arhiive ja krĂŒpteeritud failisĂŒsteeme (nĂ€iteks Bitlocker ja FreeBSD geli), samuti uute formaatide erinevuste toetamine, mis varem olid toetatud (nĂ€iteks on lisatud bcrypt-pbkdf tugi OpenBSD softraid'i jaoks) ja palju muud. Kokku on lisatud 80 formaati CPU-le ja 47 OpenCL-ile (ning vĂ€ike arv vanu on eemaldatud, kuna need on uutega integreeritud ja vananenud). Kokku on nĂŒĂŒd 407 formaati CPU-l (vĂ”i 262, kui mitte arvestada âdĂŒnaamilisiâ formaate, mida saab konfigureerimisfailidest seadistada) ja 88 OpenCL-ile.
- CUDA keele toetamisest loobumine OpenCL-i kasuks, mis ei takista NVIDIA GPU-de tĂ€ielikku kasutamist (ja isegi aitab, tĂ€nu arenduse fookustamisele ja optimeerimisele igas formaadis GPU jaoks ĂŒhe rakenduse suunas, mitte kahe rakenduse suunas nagu varem).
- Uute SIMD kĂ€skude komplektide tugi â AVX2, AVX-512 (sealhulgas teise pĂ”lvkonna Xeon Phi jaoks) ja MIC (esimese pĂ”lvkonna jaoks) â samuti universaalsema ja tĂ€ieliku SIMD kasutamise rakendused paljude formaatide implementeerimistes, sealhulgas varasemate kĂ€skude komplektide rakendamine kuni AVX ja XOP x86(-64) ja
NEON, ASIMD ja AltiVec ARM, Aarch64 ja POWER jaoks, vastavalt. (Osaliselt GSoC 2015 raames.) - KĂŒsimuste ja OpenCL-i jaoks arvukad optimeerimised, et tĂ”husamalt hakkama saada suure hulga hash'idega korraga (nĂ€iteks testiti 320 miljoni SHA-1 hash'i koormust GPU-l), samuti hash'ide arvutamise kiirus. Osa neist optimeerimisest on universaalne, osa katab erinevaid formaatide alamsĂŒsteeme ning paljusid on spetsiifilisi konkreetsetele formaatidele.
- (Auto-)selle parameetrite automaatne seadistamine, et luua optimaalseid parameetreid vaadeldavate paroolide jaoks CPU-l ("âtune=auto âverbosity=5") ning optimaalsed ĂŒlesande suurused OpenCL-i jaoks (sisseehitatud vaikesĂ€tetena), sealhulgas arvestades NVIDIA GTX 10xx seeria ja uuemate GPU-de aeglast tĂ€itmist tĂ€isvĂ”imsusel. Kasutatakse tegelikult koormatud hash'e ja vaadeldavate paroolide reaalseid pikkusi (kui teada ette) sellise automaatse seadistuse jaoks.
- DĂŒnaamiliste vĂ€ljendite kompilaatori lisamine, mis on otse kĂ€sureal mÀÀratud ja rakendavad uusi hĂŒbriidseid hash-tĂŒĂŒpe, nĂ€iteks "âformat=dynamic=âsha1(md5($p).$s)â", mis arvutatakse CPU-l SIMD-i abil. Selliste vĂ€ljendite koostisosadena toetatakse kĂŒmneid kiireid hashesid (alates levinud MD5-st kuni mÔÔdukalt eksootiliste Whirlpool-ini), alamsĂ”nade ĂŒhendamist, kodeerimist ja dekodeerimist, tĂ€hemĂ€rkide registreerimise muutmist, viiteid paroolile, soolale, kasutajanimele ja stringi konstantidele.
- Soovimatute erinevuste kĂ”rvaldamine hashcat-st, sealhulgas varasemalt hashcat-le spetsiifiliste reeglite toetamine (wordlist rule commands), ĂŒleminek OpenCL seadmete nummerdamisele 1.-st, sama paroolide pikkuse (tavaliselt 7) rakendamine jĂ”udluse testimisel.
- Uued kontrollitud paroolide genereerimise reĆŸiimid (cracking modes), sealhulgas PRINCE hashcat-ist (moodustab "fraase", ĂŒhendades mitu sĂ”na kasvava kogupikkuse jĂ€rjekorras), subsets (valib paroolid, mis ei sisalda piisavalt erinevaid mĂ€rke, isegi kui need tulevad suurest vĂ”imalikest kogumist) ja hybrid external (lubab vĂ€liseid reĆŸiime, mida kirjeldatakse C-sarnastes konfigureerimisfailides, luua palju kontrollitud parooli igasuguste "sĂ”nade", mis tuginevad teiselt reĆŸiimist, pĂ”hjal). Samuti mitu uut eelmÀÀratud vĂ€list reĆŸiimi.
- LisavĂ”imalused mitme reĆŸiimi samaaegseks kasutamiseks (ĂŒhe kohal teise peal â stacking), samuti reeglite komplektide (wordlist rules stacking) selliseks kasutamiseks.
- Parandused maski reĆŸiimide jaoks (maski jĂ€rkjĂ€rguline venitamine mÀÀratud pikkuste vahele, maski rakendamine OpenCL seadme vĂ”i FPGA plaadi kĂŒljelt) ja single crack (loogiline kĂ€itumine seadmetes, mis arvutavad suurt arvu hashesid paralleelselt, millega ei jĂ€tkunud paroolidele kontrollimisel varem ja samuti mĂ€lu raiskamise piirangud).
- Palju tĂ€iustusi Unicode'i ja teiste kodeeringute toe osas erinevates alamsĂŒsteemides.
- Palju tÀiustusi programmide *2john (mille abil muudetakse erineva formaadiga faile
johniga kasutamiseks), eriti wpapcap2john (töötleb WiFi liiklust). - Palju uusi kÀsurea valikuid, seadeid john.conf failis, configure-skripti valikuid ja nendega sobivaid uusi vÔimalusi, millest kaugel ei ole kÔik siin mainitud.
- Koodi kvaliteedi tĂ”stmine tĂ€nu sisseehitatud toe toele silumisversioonide, sealhulgas AddressSanitizer (varem olemas) ja UndefinedBehaviorSanitizer (lisatud), sisseehitatud formaadi fuzzimise lisamisele (GSoC 2015 raames), pidevale integreerimise rakendamisele (kĂŒmnete operatsioonisĂŒsteemi ja kompilaatori kombinatsioonide kogumine ning uuring kĂ”ikide formaatide Ă”ige toe testimiseks).
Allikas: linux.org.ru
