Atak siłowy na hasła

Automatyczne wykorzystywanie wykradzionych w innych wyciekach par login-hasło do masowego logowania na różnych serwisach, licząc na to, że użytkownik powtarza hasła.

Credential stuffing to atak, w którym ktoś bierze gotowe pary login–hasło wykradzione w jednym wycieku i automatycznie wrzuca je do formularzy logowania w setkach innych serwisów. Cała kalkulacja opiera się na jednym smutnym fakcie: ludzie używają tego samego hasła wszędzie. Jeśli Twoje [email protected] / Lato2019! wyciekło ze sklepu z karmą dla kotów, atakujący założy, że tym samym kluczem otworzy Ci pocztę, bank i konto na portalu społecznościowym. I niestety często ma rację.

Jak to działa

Atakujący zdobywa bazę z wyciekiem (na forach czy w darknecie krążą paczki z miliardami rekordów, jak słynne „Collections”). Następnie ładuje listę do narzędzia, które po kolei testuje każdą parę na docelowym serwisie, najczęściej rozkładając ruch na tysiące adresów IP (proxy, botnety), żeby nie rzucać się w oczy. Skuteczność pojedynczego ataku bywa niska — rzędu ułamka procenta — ale przy milionach prób nawet 0,1% to tysiące przejętych kont. Tanio, automatycznie, skalowalnie.

Przykład z praktyki

Popularnym narzędziem jest OpenBullet (open source, oryginalnie do testów obciążeniowych, masowo nadużywane). Działa na tzw. configach — plikach opisujących, jak wygląda request logowania danego serwisu i po czym poznać sukces. Atakujący wczytuje combo list (plik email:haslo), podpina listę proxy i odpala bota. Z perspektywy serwera widać nagle lawinę logowań z całego świata, w większości zakończonych błędem 401. To właśnie ten wzorzec — dużo prób, niska skuteczność, rozproszone IP — zdradza atak.

Mity i na co uważać

Największe nieporozumienie siedzi już w polskiej nazwie. To nie jest klasyczny atak siłowy (brute force). Brute force zgaduje hasło do jednego konta, próbując kolejnych kombinacji. Credential stuffing nie zgaduje niczego — używa haseł, które już są prawdziwe, tylko na innym serwisie. Dlatego sama polityka „silnego hasła” Cię nie ratuje: Tr0ub4dor&3 też wyciekło.

Co realnie pomaga? Po stronie użytkownika: unikalne hasło per serwis (menedżer haseł) i MFA, które zatrzymuje atak nawet przy poprawnym haśle. Po stronie aplikacji: rate limiting, blokady po serii nieudanych logowań, CAPTCHA przy podejrzanym ruchu i sprawdzanie haseł względem znanych wycieków (np. API z haveibeenpwned). Sprawdź też, czy Twój mail nie krąży już w bazach — to dobry moment, żeby zmienić te recyklowane hasła.

Pojęcia powiązane

Brute force, password spraying, data breach, MFA/2FA, menedżer haseł, rate limiting, botnet, OpenBullet.