Brute force

Metoda łamania haseł lub kluczy przez systematyczne sprawdzanie wszystkich możliwych kombinacji aż do trafienia poprawnej. Skuteczność zależy od długości i złożoności hasła.

Brute force (atak siłowy) to metoda łamania haseł, kluczy lub innych sekretów polegająca na sprawdzaniu kolejnych kombinacji znaków, aż któraś okaże się trafiona. Żadnej finezji, żadnego sprytu — czysta moc obliczeniowa i cierpliwość. Jeśli hasło to abc, atakujący prędzej czy później sprawdzi aaa, aab, aac… aż dojdzie do abc. To podejście „spróbujmy wszystkiego”, które działa zawsze — pytanie tylko, czy zajmie sekundę, czy miliardy lat.

Jak to działa

Siła i słabość brute force to ta sama rzecz: liczba kombinacji rośnie wykładniczo z długością hasła i wielkością alfabetu. Hasło 4-znakowe z samych małych liter to ~457 tysięcy kombinacji — komputer przejdzie je natychmiast. Dorzuć wielkie litery, cyfry i symbole oraz zwiększ długość do 12 znaków, a robi się z tego liczba z dziesiątkami zer. Dlatego w praktyce rzadko atakuje się „wszystko” na ślepo.

Stąd wariacje: atak słownikowy (próbujesz listy popularnych haseł zamiast losowych ciągów) oraz hybryda (słownik plus reguły, np. dopisz 123 albo zamień a na @). Atak bywa online (wysyłasz próby na żywy serwer, gdzie hamują cię limity i blokady) albo offline (wykradłeś bazę hashy i łamiesz je na własnym GPU bez żadnych ograniczeń — tu brute force jest naprawdę groźny).

Przykład z praktyki

Do łamania offline klasykiem jest Hashcat. Mając plik z hashami i listę haseł rockyou.txt, odpalasz atak słownikowy na hashe typu MD5:

hashcat -m 0 -a 0 hashes.txt rockyou.txt

Do ataków online na usługi (SSH, FTP, formularze logowania) używa się z kolei Hydry:

hydra -l admin -P rockyou.txt ssh://10.0.0.5

To narzędzia pentesterskie — używasz ich na systemach, na które masz pisemną zgodę. Na cudzych serwerach to po prostu przestępstwo.

Częste mity i na co uważać

  • „Skomplikowane hasło wystarczy” — długość bije złożoność. Tr0ub4dor&3 łamie się szybciej niż czterowyrazowa fraza typu poprawny-kon-bateria-zszywka.
  • „Hashowanie chroni przed brute force” — chroni dopiero, gdy używasz wolnej funkcji jak bcrypt, scrypt czy argon2 z solą. Zwykłe MD5/SHA-256 GPU przemiela miliardami na sekundę.
  • Po stronie obrony: rate limiting, blokada konta po kilku próbach, MFA i CAPTCHA potrafią zabić atak online w zarodku.

Pojęcia powiązane: atak słownikowy, rainbow tables, hashowanie i solenie, MFA, rate limiting, credential stuffing.