Nejdostupnější způsob na prolomení hesla je stáhnout si GUI program pro Windows 10 (Windows 11), naklikat v menu předvolby a spustit crackování hesla. Brzo ale zjistíte, že většina hesla hádajících aplikací (pro operační systém od Microsoftu) je pomalá nebo placená. Výkonnou grafickou kartu s vlastní GPU k dispozici nemáte. Nabízí se další možnosti. Home Lab s VPS instalovaným Linuxem nebo pro každého dostupná varianta v podobě Linux Live CD. Není hned potřeba stahovat masivní Kali Linux live CD. Stačí lehký linux Kubuntu, kde v případě, že distribuce potřebné nástroje neobsahuje v základu, tyto lze doinstalovat i v live enviromentu..
Obsah
Teorie
Proměnné, výpočet možností. Počet všech v hesle použitelných znaků na počet variací. Speciálních znaků použitelných v hesle je 32
~ ` ! @ # $ % ^ & * ( ) _ - + = { [ } ] | \ : ; " ' < , > . ? /
Písmen bez diakritiky je 26 x 2 = 52. Dvojnásobek platí pouze v případě, že heslo je case sensitive, což je obvykle vždy :)
a b c d e f g h i j k l m n o p q r s t u v w x y z
Čísel je 10
0 1 2 3 4 5 6 7 8 9
V součtu tedy celkem 94 pro heslo použitelných znaků. Výpočítat počet možností hesla o délce 8 znaků, ze všech možných znaků lze umocněním 8 na 94
894
Prolomení hesla Windows
PassFab Zip je jeden ze tří sympatických programů na prolomení zapomenutého hesla ve Windows. Je tradičně pomalý a nad to placený. Na sebelepším běžném počítači se k rychlosti 50 000 hesel za sekundu ani nepřiblíží..

HashCat GUI je bezplatný a open source port pro OS Windows. Hezký ale rovněž pomalý

Obnovení hesla Linux
Existuje několik prověřených aplikací (cracker-ng, crunch, john, zip2john, hash cat..) s možností kombinací. Na GitHub najdete rovněž řadu zajímavých sólo projektů. Pro účel textu použijeme oblíbený John the Ripper s relativně novou vychytávkou.
John the Ripper je na funkce bohatý a rychlý cli program. Kombinuje několik režimů crackování v jednom a je plně konfigurovatelný pro řadu situací. Umí definovat i vlastní režim crackování pomocí vestavěného kompilátoru podporujícího podmnožinu jazyka C. John je také k dispozici pro několik různých platforem, což umožňuje používat na všech platformách stejný postup (cracker) Umí navázat na relaci která byla zahájena na jiné platformě.
John s automatickou detekcí podporuje unixové typy hashů DES, bigcrypt, BSDI extended DES, FreeBSD MD5, Kerberos/AFS včetně Windows LM (založený na DES) a tripcody založené na DES. Při spuštění na linuxových distribucích s glibc 2.7+ John 1.7.6+ navíc podporuje (a automaticky detekuje) SHA-crypt hashe (které ve skutečnosti používají poslední verze Fedory a Ubuntu), s volitelnou paralelizací OpenMP s gcc 4.2+
Instalace a použití
Pomocí (Debian, Ubuntu, Kubuntu, Kali..) apt lze instalovat pouze verzi 1.8.0. Download aktuální John the Ripper 1.9.0 Jumbo Bleeding verze.. Konfigurace a kompilace..
git clone "https://github.com/magnumripper/JohnTheRipper.git" cd JohnTheRipper/src ./configure make -s clean sudo make -sj4
Nápověda
./john/run/zip2john Usage: ./john/run/zip2john [options] [zip file(s)] -s Scan archive from the beginning, looking for local file headers. This is less reliable than going by the central index, but might work better with corrupted or split archives. Options for 'old' PKZIP encrypted files only: -a <filename> This is a 'known' ASCII file. This can be faster, IF all files are larger, and you KNOW that at least one of them starts out as 'pure' ASCII data. -o <filename> Only use this file from the .zip file. -c This will create a 'checksum only' hash. If there are many encrypted files in the .zip file, then this may be an option, and there will be enough data that false positives will not be seen. Up to 8 files are supported. These hashes do not reveal actual file data. -m Use "file magic" as known-plain if applicable. This can be faster but not 100% safe in all situations.
Vytvoření hashe
Vytvořený hash soubor-s-hash.txt ze souboru soubor.zip je používán i v dalších příkazech níž
./john/run/zip2john soubor.zip > soubor-s-hash.txt
Získání hesla pomocí útoku na hash. Bez definovaného wordlistu použije appka vlastní wordlist password.lst, který je uložený ve složce /john/run/
./john/run/john soubor-s-hash.txt Using default input encoding: UTF-8 Loaded 126 password hashes with 126 different salts (ZIP, WinZip [PBKDF2-SHA1 256/256 AVX2 8x]) Loaded hashes with cost 1 (HMAC size) varying from 95 to 124197 Will run 4 OpenMP threads Proceeding with single, rules:Single Press 'q' or Ctrl-C to abort, 'h' for help, almost any other key for status Almost done: Processing the remaining buffered candidate passwords, if any. 0g 0:00:01:54 DONE 1/3 (2022-07-17 08:21) 0g/s 97678p/s 97706c/s 97706C/s Predis1900..Phtml1900 Proceeding with wordlist:./john/run/password.lst
Vizualizace

Libovolné zmáčknutí klávesnice (třeba enter) v aktivním terminálu ukáže v řádku progres.
01. Typ šifrování, které se snaží prolomit. 02. Počet úspěšně uhodnutých hesel 03. Doba, která uplynula od spuštění 04. Procento dokončení pro daný průchod 05. Aktuální průchod / počet průchodů celkem 06. g/s = počet úspěšných hádání za sekundu 07. p/s = testovaná hesla za sekundu 08. c/s = šifry (hashe hesel) vypočtené za sekundu 09. c/s = šifry testované za sekundu (ve verzích nižších než 1.8.0 to bylo "c/s") 10. Aktuální slovo, které zkouší.
Dovětek
Součástí instalace John je wordlist jménem password.lst. Obsahuje cca 1 800 000 často používaných hesel. Samo sebou si můžete vygenerovat vlastní wordlist nebo použít jednořádkový příkaz s definovaným slovníkem který umožňuje jak john tak i fcrackzip či zipcracker-ng (poslední dvě appky rovněž nejsou instalované v základu lehkých linux distribucí a lze je doinstalovat)
fcrackzip -c 1 -b -l 1-8 --verbose -u soubor.zip & >> nalezene-heslo.txt &
zipcracker-ng -f soubor.zip -fp 12345678
Nebo si pomocí crunch (není instalovaný v základu) vygenerovat všechny hesla (třeba jen) o délce 1 až 8 znaků ze všech (0 až 9) čísel
crunch 1 8 1234567890 -o wordlist.txt zipcracker-ng -f soubor.zip -w wordlist.txt
To samé s john
crunch 1 8 1234567890 -o wordlist.txt ./john/run/john --wordlist=wordlist.txt soubor-s-hash.txt
Existuje řada způsobů a formátů a je nad možnosti jednoho článku obsáhnou všechny. Dobrý začátek je póchopení formátů
john --list=formats
nebo když používáte stažený a kompilovaný program ve vlastní složce
./vlastni/složka/john --list=formats descrypt, bsdicrypt, md5crypt, md5crypt-long, bcrypt, scrypt, LM, AFS, tripcode, AndroidBackup, adxcrypt, agilekeychain, aix-ssha1, aix-ssha256, aix-ssha512, andOTP, ansible, argon2, as400-des, as400-ssha1, asa-md5, AxCrypt, AzureAD, BestCrypt, BestCryptVE4, bfegg, Bitcoin, BitLocker, bitshares, Bitwarden, BKS, Blackberry-ES10, WoWSRP, Blockchain, chap, Clipperz, cloudkeychain, dynamic_n, cq, CRC32, cryptoSafe, sha1crypt, sha256crypt, sha512crypt, Citrix_NS10, dahua, dashlane, diskcryptor, Django, django-scrypt, dmd5, dmg, dominosec, dominosec8, DPAPImk, dragonfly3-32, dragonfly3-64, dragonfly4-32, dragonfly4-64, Drupal7, eCryptfs, eigrp, electrum, ENCDataVault-MD5, ENCDataVault-PBKDF2, EncFS, enpass, EPI, EPiServer, ethereum, fde, Fortigate256, Fortigate, FormSpring, FVDE, geli, gost, gpg, HAVAL-128-4, HAVAL-256-3, hdaa, hMailServer, hsrp, IKE, ipb2, itunes-backup, iwork, KeePass, keychain, keyring, keystore, known_hosts, krb4, krb5, krb5asrep, krb5pa-sha1, krb5tgs, krb5-17, krb5-18, krb5-3, kwallet, lp, lpcli, leet, lotus5, lotus85, LUKS, MD2, mdc2, MediaWiki, monero, money, MongoDB, scram, Mozilla, mscash, mscash2, MSCHAPv2, mschapv2-naive, krb5pa-md5, mssql, mssql05, mssql12, multibit, mysqlna, mysql-sha1, mysql, net-ah, nethalflm, netlm, netlmv2, net-md5, netntlmv2, netntlm, netntlm-naive, net-sha1, nk, notes, md5ns, nsec3, NT, NT-long, o10glogon, o3logon, o5logon, ODF, Office, oldoffice, OpenBSD-SoftRAID, openssl-enc, oracle, oracle11, Oracle12C, osc, ospf, Padlock, Palshop, Panama, PBKDF2-HMAC-MD4, PBKDF2-HMAC-MD5, PBKDF2-HMAC-SHA1, PBKDF2-HMAC-SHA256, PBKDF2-HMAC-SHA512, PDF, PEM, pfx, pgpdisk, pgpsda, pgpwde, phpass, PHPS, PHPS2, pix-md5, PKZIP, po, postgres, PST, PuTTY, pwsafe, qnx, RACF, RACF-KDFAES, radius, RAdmin, RAKP, rar, RAR5, Raw-SHA512, Raw-Blake2, Raw-Keccak, Raw-Keccak-256, Raw-MD4, Raw-MD5, Raw-MD5u, Raw-SHA1, Raw-SHA1-AxCrypt, Raw-SHA1-Linkedin, Raw-SHA224, Raw-SHA256, Raw-SHA3, Raw-SHA384, restic, ripemd-128, ripemd-160, rsvp, RVARY, Siemens-S7, Salted-SHA1, SSHA512, sapb, sapg, saph, sappse, securezip, 7z, Signal, SIP, skein-256, skein-512, skey, SL3, Snefru-128, Snefru-256, LastPass, SNMP, solarwinds, SSH, sspr, Stribog-256, Stribog-512, STRIP, SunMD5, SybaseASE, Sybase-PROP, tacacs-plus, tcp-md5, telegram, tezos, Tiger, tc_aes_xts, tc_ripemd160, tc_ripemd160boot, tc_sha512, tc_whirlpool, vdi, OpenVMS, vmx, VNC, vtp, wbb3, whirlpool, whirlpool0, whirlpool1, wpapsk, wpapsk-pmk, xmpp-scram, xsha, xsha512, zed, ZIP, ZipMonster, plaintext, has-160, HMAC-MD5, HMAC-SHA1, HMAC-SHA224, HMAC-SHA256, HMAC-SHA384, HMAC-SHA512, dummy, crypt 419 formats (149 dynamic formats shown as just "dynamic_n" here)
PKZIP
Starší zaheslované .zip archivy jsou archivovány starší verzi kompileru i algoritmu. Není to tak dávno, co byl naprosto běžně používaný šifrovací algoritmus PKZIP. Než jej po roce 2014 začal nahrazovat AES. Podívat se na šifrovací algoritmus souboru nezabere mnoho času, umí to třeba program 7zip. Plain text útok na PKZIP je popsán třeba zde.
Užitečné
Github projekt John the Ripper
Starší HashCat GUI na sourceforge.net
Novější HashCat Launcher na GitHub (Windows exe)
Jak penetrují Script kiddies.