Hlavní navigace

Nový John the Ripper umí lámat hesla také na FPGA

Autor: Royce Williams
Petr Krčmář

Nová a dlouho očekávaná verze nástroje John the Ripper 1.9.0-jumbo-1 přináší po letech spoustu čerstvých novinek. Mimo jiné umí lámat hesla na FPGA, na kterých je možné dosáhnout vyššího výkonu než na GPU.

Doba čtení: 3 minuty

Sdílet

John the Ripper je zřejmě nejstarším stále vyvíjeným nástrojem pro lámání hesel z dostupných hašů. První verze vyšla už v roce 1996 a dnes tento užitečný nástroj naleznete na mnoha různých platformách. Mezi uživateli je oblíbený zejména pro svou konfigurovatelnost, velké množství podporovaných algoritmů a jednoduché použití.

Hodí se zejména při penetračních testech, kdy se s jeho pomocí může ověřit kvalita uživatelských hesel používaných v systému. John umí použít dodaný slovník a využít jej jako základ k hádání hesel. Vytváří také různé kombinace těchto slov, přičemž umí nasadit i časově náročný útok hrubou silou, kdy jednoduše zkouší všechny kombinace použitých znaků.

Aktualizace jádra

Alexandr Peslyak nyní oznámil vydání dlouho očekávané a odkládané verze 1.9.0-jumbo-1, na jejíž přípravě čtyři a půl roku pracovalo na 80 vývojářů, kteří celkem poslali více než 6000 commitů. Nová verze přinesla celou řadu novinek a na rozdíl od předchozího vydání autoři zveřejnili také jejich seznam.

Bylo aktualizováno samotné jádro aplikace, kterému se zjednodušil a zrychlil parser, takže si nyní lépe poradí s obrovskými soubory s hesly. Upraven byl také benchmark, který ve výchozím stavu počítá všechny kandidáty až do sedmi znaků (kromě několika výjimek jako WPA, kde je minimum osm). Implementace DES používá více sad instrukcí SIMD, jako například AVX2 a AVX-512 na x86. John také na více místech těží z výhod AES-NI, pokud je podpora zapnutá.

Podpora FPGA

Velkou novinkou je podpora FPGA, tedy programovatelných hradlových polí. To jsou integrované obvody obsahující různé logické bloky, které mohou být naprogramovány až u uživatele. Tím mohou vznikat různá zapojení a v takto vytvořeném hardware je pak možné například implementovat hašovací funkce.

Konkrétně přibyla podpora pro desku ZTEX 1.15y boards. To jsou starší desky původně určené k těžbě kryptoměn. Každá z nich nese čtyři FPGA Spartan-6 LX150. Původní cena v roce 2011 byla 999 eur, ale postupně klesala až na 349 eur v roce 2015, kdy byl prodej ukončen. Dnes je možné je získat z druhé ruky originální desky nebo jejich klony.

John the Ripper podporuje celkem sedm hašovacích funkcí, některé jsou pravděpodobně v FPGA implementovány poprvé: bcrypt, descrypt (včetně rozšíření bigcrypt), sha512crypt+Drupal7, sha256crypt, md5crypt (včetně variant Apache apr1 a AIX smd5) a phpass.

Například výkon bcrypt je přibližně 119k c/s (hašů za sekundu) při 27 W příkonu. To podle autorů snadno překonává dnešní nejvýkonnější grafické karty z hlediska výkonu, ceny i příkonu. Výkon descrypt (~970m c/s za 34 W), sha512crypt+Drupal7 a for sha256crypt je srovnatelný se současnými GPU. Naopak výkon md5crypt a phpass je horší než u grafických čipů.

John podporuje také použití více FPGA najednou v clusteru. Testováno bylo 16 zmíněných desek, tedy celkem 64 FPGA sdílejících jednu linku USB k Raspberry Pi.


Autor: Royce Williams

FPGA cluster

Podpora grafických karet

Byla ukončena podpora CUDA, protože o ni byl velmi malý zájem. Vývojáři se zaměřují na OpenCL, které je lépe portovatelné a díky větší péči běží také lépe než původní CUDA. Vývojáři se zaměřují na novější karty Nvidia a AMD.

John se také chová lépe při zjištění přehřátí jádra grafické karty. Místo ukončení procesu dojde k jeho uspání, dokud teplota neklesne pod stanovenou hranici. Funguje to na kartách Nvidia a na starších kartách AMD. Pro ty novější zatím podpora monitoringu teploty nefunguje.

Přibyla podpora uložení hašovacích tabulek přímo v paměti grafické karty pro rychlé porovnání vypočtených hašů s těmi lámanými. Zatím to bylo vyzkoušeno na 320 milionů hašů SHA-1, což zabralo 10 GB grafické a 63 GB systémové paměti. Při načtení do běžné paměti stejná tabulka potřebovala jen 25 GB, ale výsledek byl výrazně pomalejší.

Mnoho dalšího

Výše uvedené novinky obsahují jen to nejzajímavější, všechny najdete v oznámení o vydání. Další novinky se týkají formátů CPU, formátů souborů, celé řady výkonnostních optimalizací či vylepšení utilit (například wpapcap2john) pro získávání dat. Další informace včetně binárních balíčků a zdrojových kódů naleznete na domovském webu.