Blog 24/7

credential stuffing

TAB. 1Hasłopo angielsku
Po angielskucredential stuffing
Którą formą pisaćpo angielsku Polski odpowiednik istnieje, ale w praktyce nikt tak nie pisze. Zostaw angielski, polski trzymaj jako synonim.
KategoriaAtaki i socjotechnika

Credential stuffing to zautomatyzowane logowanie do serwisu parami login–hasło pochodzącymi z wycieków z innych serwisów. MITRE opisuje tę technikę jako użycie danych logowania ze zrzutów po naruszeniach niezwiązanych kont, by dostać się do kont docelowych dzięki pokrywaniu się haseł [2]. Atak działa, bo ludzie powtarzają to samo hasło w kontach prywatnych i służbowych [2]. W odróżnieniu od zgadywania, atakujący nie szuka hasła; sprawdza, czy hasło znane z innego miejsca pasuje także tutaj.

Jak działa

Punktem wyjścia jest wyciek danych z dowolnego serwisu. Pary login–hasło z wielu wycieków łączy się w combolisty (combolist). Jeśli w wycieku były tylko skróty, poprzedza to łamanie haseł. Następnie program, często rozproszony na wiele adresów, próbuje logować się każdą parą w atakowanym serwisie. Przebieg pokazuje schemat poniżej.

RYS. 1Od wycieku do przejętego konta

OWASP wskazuje czynnik, który ułatwia ten atak: wiele stron używa adresu e-mail jako nazwy użytkownika, a większość osób ma jeden adres do wszystkich kont, więc para e-mail i hasło jest bardzo skuteczna w atakach credential stuffing [1].

Credential stuffing to jedna z czterech podtechnik ataku siłowego w klasyfikacji MITRE [2]. Różnica względem klasycznego ataku siłowego (brute-force) i password spraying polega na tym, co atakujący zmienia między próbami [1]. Porównanie odmian i dopasowanych do nich liczników prób zawiera artykuł o ochronie przed atakami brute force.

W WordPressie

Ostrzeżenie OWASP dotyczy każdej strony, na której użytkownicy logują się adresem e-mail. Każda strona z kontami klientów, na przykład sklep albo serwis członkowski, jest potencjalnym celem, a konto administratora celem najcenniejszym. Dokumentacja WordPressa zaleca silne, unikatowe hasła, menedżer haseł, uwierzytelnianie dwuskładnikowe (two-factor authentication, 2FA) dla administratorów, ograniczanie liczby prób logowania i przegląd nieudanych logowań w logach [8].

Ten sam mechanizm może uderzyć w cały ekosystem. Zespół katalogu wtyczek WordPress.org napisał 29 czerwca 2024 roku, że atakujący, wykorzystując hasła ujawnione w wyciekach z innych serwisów, dodali złośliwy kod do kilku wtyczek w katalogu [7]. Opis odpowiada definicji credential stuffing, a przejęte konto autora wtyczki stało się narzędziem ataku na łańcuch dostaw (supply chain attack); szczegóły incydentu i zmiany w WordPress.org opisuje tamten artykuł.

Zagrożenia i skutki

Bezpośrednim skutkiem jest przejęcie konta, a dalej to, na co konto pozwala: zakupy, wypłaty, zmiana danych kontaktowych albo publikacja treści. Serwis traci zaufanie użytkowników, choć jego własna baza mogła nigdy nie wyciec.

Sam atak ma skutki uboczne. MITRE zauważa, że credential stuffing może powodować liczne nieudane uwierzytelnienia i blokady kont, zależnie od polityki serwisu [2]. Duża liczba prób obciąża też serwer, podobnie jak inne złośliwe boty.

Trudność polega na tym, że pojedyncza próba wygląda jak zwykłe logowanie: poprawny login, czasem poprawne hasło. Atak nie musi przekraczać limitu prób na jednym koncie, bo każdą parę sprawdza się zwykle raz. Dlatego sam licznik na koncie, wymagany przez NIST na poziomie nie więcej niż 100 kolejnych nieudanych prób [3], nie wystarcza. Potrzebna jest analiza ruchu jako całości.

Jak się bronić

OWASP za najskuteczniejszą obronę uważa uwierzytelnianie wieloskładnikowe (multi-factor authentication, MFA) i przytacza analizę Microsoftu, według której MFA zatrzymałoby 99,9% przejęć kont [1]. Drugi składnik może być wymagany zawsze albo tylko przy podejrzanym logowaniu, na przykład z nowego urządzenia, z nietypowej lokalizacji albo przez znany serwer proxy [1]. Gdy MFA nie da się wprowadzić, OWASP proponuje utrudnienia strukturalne: nieprzewidywalne nazwy użytkowników zamiast adresów e-mail, logowanie w kilku krokach i wymóg wykonania JavaScriptu, który komplikuje pracę prostych narzędzi [1]. Może też celowo spowalniać podejrzane żądania albo podnosić ich koszt obliczeniowy [1]. Pozostałe warstwy zestawia tabela.

WarstwaCo robiOgraniczenie
CAPTCHAodsiewa część automatów [1]uciążliwa dla ludzi
blokowanie adresów IPzatrzymuje prostsze ataki [1]łatwe do obejścia [1]
fingerprinting przeglądarkirozpoznaje powtarzalne urządzenia [1]wymaga analizy i progów
sprawdzanie haseł z wyciekówodrzuca hasła znane z naruszeń [3]nie chroni już użytych haseł
powiadomieniainformują o nietypowym logowaniu [1]działają po fakcie

OWASP zastrzega, że blokowanie adresów IP może wystarczyć na mniej zaawansowane ataki, ale nie powinno być jedyną ani główną obroną [1]. Zaleca obronę warstwową i monitorowanie, czy warstwy działają [1]. Ważnym sygnałem jest logowanie z poprawnym hasłem, które nie przeszło weryfikacji drugiego składnika: OWASP zaleca wtedy powiadomić użytkownika, by zmienił hasło [1]. MITRE dodaje reset haseł kont, o których wiadomo, że zostały skompromitowane [2].

NIST wymaga, by nowe hasło było porównywane z listą haseł popularnych, przewidywalnych i ujawnionych, w tym z haseł z wycieków [3]. OWASP jako przykład takiego źródła podaje usługę Pwned Passwords [1]. Jej API działa w modelu k-anonimowości: przyjmuje tylko pierwszych 5 znaków skrótu SHA-1 hasła i nie wymaga klucza [6].

GET https://api.pwnedpasswords.com/range/5BAA6

Po stronie użytkownika podstawą są unikatowe hasła dla każdego serwisu. Takie hasło może wyciec razem z serwisem, ale nie otworzy żadnego innego konta.

Historia i przykłady

Niebezpiecznik 28 listopada 2022 roku opisał przejęcia kont w serwisie Lotto.pl. Według wpisu ktoś sięgnął do baz z wyciekami z różnych serwisów, wziął z nich loginy i hasła, a następnie sprawdził, czy te same dane pozwalają zalogować się na lotto.pl [4]. Po incydencie serwis wprowadził między innymi ograniczenie liczby prób logowania i szersze użycie CAPTCHA [4].

Ten sam serwis 8 lipca 2025 roku opisał przypadek klienta domu maklerskiego XTB, który stracił około 150 000 złotych po przejęciu konta [5]. Przyczyną było hasło użyte wcześniej w innym serwisie, które wyciekło, a na koncie nie było włączone uwierzytelnianie dwuskładnikowe [5]. W obu opisanych przypadkach hasła pochodziły z wycieków z innych serwisów, a nie z atakowanego.

TAB. 2

Przypisy

8
  1. [1] Credential Stuffing Prevention Cheat Sheet · OWASP
  2. [2] Brute Force: Credential Stuffing (T1110.004) · MITRE ATT&CK
  3. [3] NIST SP 800-63B-4: Digital Identity Guidelines — Authentication and Authenticator Management · NIST
  4. [4] Lotto.pl informuje o masowych przejęciach kont użytkowników · Niebezpiecznik
  5. [5] [AKTUALIZACJA 2] Łukasz stracił 150 000 złotych, bo ktoś przejął jego konto w XTB · Niebezpiecznik
  6. [6] Have I Been Pwned API v3 — Pwned Passwords · Have I Been Pwned
  7. [7] Password Reset Required for Plugin Authors · WordPress.org
  8. [8] Brute Force Attacks — Advanced Administration Handbook · WordPress.org
TAB. 3

Hasła w tym artykule

15
TAB. 4

Linkują tutaj

39

Wszystkie kategorie → · Hasło w słowniku →

Blog 24/7
05.11CISA i FBI wzywają do zabezpieczenia sterowników chłodzenia po atakach w Europietherecord.media05.11Midnight Blizzard atakowała iPhone'y i Androidy przez zainfekowane strony w Europie i USAsecurityweek.com05.11APT29 kradła dane z iPhone'ów i Androidów przez przejęte i podrobione stronytherecord.media05.11Grupa APT29 przejęła skrypt Plerdy i atakowała niezałatane iPhone'y i Androidythehackernews.com05.11Microsoft wykrył 7,3 mld wiadomości phishingowych w III kwartale 2026microsoft.com05.11DigiCert ujawnia wyciek danych klientów i skanów dokumentów tożsamościbleepingcomputer.com05.11CWPdoor podmienia serwer cwpsrv w Control Web Panel i otwiera tylne wejście do Linuksableepingcomputer.com05.11Brytyjskie NCSC ostrzega, że narzędzia AI zwiększyły liczbę wykrywanych luk zero-daythehackernews.com05.11Skaner RootEvidence sprawdza starą lukę w Cisco IOS i dodaje nagłówki Opt-Outisc.sans.edu05.11Włamanie do portalu grantowego Norad, zagrożone dane 20 614 użytkownikówhelpnetsecurity.com