Kiadva a John the Ripper 1.9.0-jumbo-1 legújabb verziója, amely a legrégebbi támogatott jelszómegtaláló program. (A projekt 1996 óta fejlődik.) projekt oldalán A forráskódok, valamint a Windows alá készült kész telepítőcsomagok letöltésre elérhetők.
Megjegyzendő, hogy az 1.8.0-jumbo-1 verzió megjelenése óta 4,5 év telt el, ami alatt több mint 6000 változtatást (git commit) hajtottak végre több mint 80 fejlesztőtől. Ez idő alatt a fejlesztők azt javasolták, hogy a legfrissebb kiadást a GitHubról, amely stabil állapotban maradt a végrehajtott változtatások ellenére is, köszönhetően a folyamatos integrációnak, amely magában foglalja az egyes változtatások (pull request) több platformon való előzetes ellenőrzését. Az új verzió egyik fő jellemzője a FPGA (programozható logikai áramkör) támogatásának megjelenése a CPU, GPU és Xeon Phi mellett.
A ZTEX 1.15y típusú lapokhoz, amelyek 4 FPGA chipet tartalmaznak, és eredetileg főként Bitcoin bányászatára használták, most 7 típusú jelszó-hashing valósult meg: bcrypt, klasszikus descrypt (beleértve a bigcrypt), sha512crypt, sha256crypt, md5crypt (beleértve az Apache apr1 és AIX smd5) és a Drupal7 és phpass (utóbbi különösen a WordPressben használatos). Néhány közülük FPGA-on valósult meg először. A bcrypt esetében elért teljesítmény ~119k c/s a 2^5 iterációnál („$2b$05”), körülbelül 27 watt fogyasztással, jelentősen meghaladja a legújabb GPU-k eredményeit lapra, árra és wattra számítva. Ezenkívül támogatottaka kisklara típusú lapok klaszterei, amelyeket egészen 16 lappal (64 FPGA) teszteltek, egy Raspberry Pi 2 irányításával. A John the Ripper szokásos funkciói támogatottak, beleértve a jelszókeresés összes módját, valamint nagy mennyiségű hash egyidejű betöltését. A munka sebességének növelése érdekében bevezetésre került a maszk alkalmazása ("--mask" mód, beleértve a más módokkal való kombinálást) és a számított hashek összehasonlítása a FPGA oldalán betöltöttekkel. A megvalósítás szempontjából számos tervezésben (például a sha512crypt és Drupal7 ) többszálú processzormagok (soft CPU core) blokkjait alkalmazták, amelyek kölcsönhatásban állnak a kriptográfiai magokkal. E funkciók fejlesztését Denis Burikin végezte a jumbo más fejlesztőivel való koordinációban.Más fontos változások:
Egyéb fontosabb változások:
- Támogatás számos további hash-típus, titkosítás stb. számára, beleértve a klasszikus jelszóhash-eket (például az új QNX-verzióktól), valamint a kriptovaluta tárcákat, titkosított archívumokat és titkosított fájlrendszereket (például Bitlocker és FreeBSD geli), valamint a korábban támogatott új típusú formátumok, például a bcrypt-pbkdf OpenBSD softraid számára való támogatását, és még sok mást. Összességében 80 új formátum került hozzáadásra CPU-ra és 47 OpenCL-re (és egy kis régi formátum került eltávolításra, mivel integrálva lettek az új és elavult verziókba). Az összes formátum most 407 CPU-n (vagy 262, ha a
- A CUDA nyelv támogatásáról való lemondás az OpenCL javára, ami egyáltalán nem zavarja a NVIDIA GPU-k teljes körű használatát (sőt, elősegíti, mivel a fejlesztés és optimalizálások a két megvalósítás helyett most egyetlen GPU-formátumra összpontosítanak).
- Új SIMD utasításkészletek támogatása — AVX2, AVX-512 (beleértve a második generációs Xeon Phi-t) és MIC (az első generációra) — valamint a SIMD szélesebb körű és teljesebb kihasználása számos formátum megvalósításában, beleértve a korábban támogatott utasításkészleteket, egészen AVX-ig és XOP-ig x86(-64) és
NEON, ASIMD és AltiVec ARM, Aarch64 és POWER architektúrákon. (Részben a GSoC 2015 keretében.) - Számos optimalizálás CPU-ra és OpenCL-re, mind a hash-ek egyidejű kezelésének hatékonyságának növelésére (például 320 millió SHA-1 hash GPU-ra történő betöltésének ellenőrzésével), mind a hash-k számításának sebességének növelésére. Ezen optimalizálások egy része univerzális, más része különböző formátumok részhalmazait célozza, és sok esetben egyes formátumokra jellemző.
- (Automatikus) beállítása az ellenőrzött jelszavak optimális pufferezésének CPU-n ("—tune=auto —verbosity=5") és az OpenCL optimális feladati méreteinek (alapértelmezés szerint bekapcsolva), beleértve a GPU teljes órajeleinek lassú elérését a NVIDIA GTX 10xx sorozatból és újabb modellekből. A valós hash-ek és a valós jelszóhosszak (amikor előre ismertek) felhasználása e beállításhoz.
- Dinamik kifejezések "—format=dynamic='sha1(md5($p).$s)'" pontosságú új hibridek, amelyek közvetlenül a parancssoron adhatók meg, a CPU-n számítva SIMD segítségével. Az ilyen kifejezések alkotóelemei közé tartozik több tucat gyors hash (az elterjedtektől, mint az MD5, a mérsékelten egzotikusakig, mint a Whirlpool), részstringek összefűzése, kódolás és dekódolás, karakterek kis- és nagybetűssé alakítása, jelszavak, sók, felhasználónevek és karakterlánc konstanták hivatkozásai.
- A hashcat-től való nem kívánt eltérések kiküszöbölése, beleértve a hashcat-specifikus szabályok (szólistás szabályparancsok) támogatását, az OpenCL eszközök számának 1-től való kezdését, valamint a teljesítménytesztek során alapértelmezés szerint használt jelszóhosszak (általában 7) alkalmazását.
- Új módok a ellenőrzött jelszavak előállítására (cracking modes), beleértve a hashcat PRINCE módját (mely „kifejezéseket” alkotva több szót kapcsol össze a teljes hosszúság növekvő sorrendjében), részhalmazokat (jelentkező jelszavakat kiválasztva a kevés különböző karakterrel, még akkor is, ha ezek a karakterek egy nagy lehetséges tartományból származnak) és hibrid külső (lehetővé téve a külső, C-szerű nyelven leírt módszereket, hogy sok ellenőrzött jelszót alkossanak minden egyes alap „szóból”, amely más módból származik). Továbbá, néhány előre definiált külső mód is.
- Újabb lehetőségek több mód egyidejű alkalmazására (egymásra építve - stacking), valamint a szavakkal kapcsolatos szabályok (wordlist rules stacking) ilyen módon történő felhasználására.
- Fejlesztések a maszk üzemmódban (a maszk fokozatos kiterjesztése a megadott hossztartományon, a maszk alkalmazása az OpenCL-eszköz vagy FPGA oldalon) és egyetlen crack (értelmes viselkedés olyan eszközökön, amelyek párhuzamosan számítanak nagy számú hash-t, amely korábban nem elegendő ellenőrzött jelszót jelentett ebben a módban, valamint a memóriahasználat korlátozásával).
- Sok fejlesztés a Unicode és más karakterkódolások támogatásában különböző rendszerekben.
- Sok fejlesztés a *2john programokkal kapcsolatban (különböző formátumú fájlok átalakítására
a john felhasználásához), különösképpen a wpapcap2john (WiFi forgalom feldolgozására). - Sok új parancssori opció, beállítás a john.conf fájlban, configure-script opciók és a hozzájuk tartozó új lehetőségek, amelyek közül nem mindet sikerült itt említeni.
- A kód minőségének javítása a beépített hibakeresési build támogatásának köszönhetően az AddressSanitizer (korábban volt) és az UndefinedBehaviorSanitizer (hozzáadva), a beépített mintavizsgáló formátumok hozzáadásával (a GSoC 2015 keretében), valamint folyamatos integráció alkalmazásával (buildelés számos operációs rendszer és fordító kombinációjához és azokban minden formátum helyes támogatásának tesztelése).
Forrás: linux.org.ru
