Quishing: phishing ukryty w kodach QR
Kod QR omija filtry pocztowe i prowadzi na fałszywą stronę wprost z telefonu. Wyjaśniamy, jak działa quishing i jak się przed nim bronić.
- AUTOR
- Karol Rapacz / CEO Breachroad · OSCP · PNPT
- PUBLIKACJA
- 20 czerwca 2026
- CZAS CZYTANIA
- 5 min czytania
- TEMAT
- Bezpieczeństwo pracowników
Kody QR wróciły do łask — płacimy nimi, logujemy się, potwierdzamy tożsamość. Przestępcy to zauważyli. Quishing (QR + phishing) to atak, w którym złośliwy link jest ukryty w kodzie QR zamiast w klasycznym odnośniku. Prosta zmiana nośnika, a rozbraja kilka mechanizmów obrony naraz.
Dlaczego kod QR jest wygodny dla atakującego
- Omija filtry pocztowe. Wiele systemów bezpieczeństwa skanuje linki w treści e-maila. Kod QR to obrazek — link „w środku” bywa niewidoczny dla filtra.
- Przenosi atak na telefon. Skanujesz kod służbowym mailem, ale otwierasz go na prywatnym telefonie — często słabiej zabezpieczonym i poza kontrolą firmy.
- Ukrywa prawdziwy adres. Nie widzisz, dokąd prowadzi link, dopóki go nie otworzysz. Trudniej ocenić domenę „na oko”.
Typowe scenariusze
- Fałszywy e-mail z kodem QR „do potwierdzenia konta”, „odblokowania skrzynki” albo „ponownej autoryzacji MFA”.
- Naklejki w przestrzeni publicznej — podmieniony kod na parkomacie, stacji ładowania czy plakacie, prowadzący do fałszywej bramki płatności.
- Dokumenty i faktury z kodem QR do „szybkiej płatności”.
To ta sama socjotechnika co w phishingu i smishingu — zmienił się tylko kanał dostarczenia.
Jak się bronić
- Sprawdź domenę po zeskanowaniu. Większość telefonów pokazuje adres przed otwarciem — przeczytaj go i zweryfikuj, czy to prawdziwa domena, zanim klikniesz.
- Nie skanuj kodów z nieoczekiwanych e-maili i naklejek. Do logowania czy płatności wchodź przez aplikację lub ręcznie wpisany adres.
- Uważaj na kody „autoryzujące” MFA — legalne procesy rzadko każą skanować kod z e-maila, by „potwierdzić” konto.
- W firmie: uwzględnij quishing w szkoleniach i kontrolowanych kampaniach, oraz w zasadach dla urządzeń prywatnych (BYOD).
Quishing dobrze pokazuje, że obrona oparta wyłącznie na filtrowaniu treści zawsze będzie o krok za atakującym. Liczy się nawyk: zweryfikuj domenę, zanim zaufasz — niezależnie od tego, czy link przyszedł tekstem, czy jako obrazek. Jeśli chcesz sprawdzić odporność swoich pracowników, zapytaj o kontrolowaną kampanię.
Co dzieje się po zeskanowaniu kodu
Kod QR zwykle przechowuje tekst lub adres URL. Samo zeskanowanie nie dowodzi jeszcze infekcji, ale otwarcie adresu może prowadzić do strony wyłudzającej hasło, token sesji, dane karty lub zgodę OAuth. Telefon utrudnia ocenę pełnej domeny, a przejście z firmowego komputera na prywatne urządzenie może ominąć część ochrony poczty i przeglądarki.
Nie każdy kod w e-mailu jest złośliwy. O ryzyku decydują kontekst, pochodzenie, cel adresu i czynność żądana po otwarciu. Nie twórz reguły „blokuj wszystkie QR”, jeśli proces biznesowy legalnie ich używa; wyodrębnij scenariusze logowania, płatności i zmiany konta jako wysokiego ryzyka.
Procedura bezpiecznej weryfikacji
- Nie otwieraj adresu automatycznie; odczytaj pełną domenę z podglądu.
- Jeżeli kod dotyczy znanej usługi, zamknij podgląd i otwórz oficjalną aplikację lub zakładkę.
- Nie wpisuj hasła ani danych płatniczych po przejściu z nieoczekiwanego kodu.
- Przy prośbie o MFA sprawdź, czy sam inicjowałeś logowanie i czy nazwa usługi się zgadza.
- Zgłoś wiadomość wraz z oryginalnymi nagłówkami do zespołu bezpieczeństwa.
Kontrole dla organizacji
Filtr pocztowy powinien analizować obrazy i adresy zakodowane w QR, ale musi to być jedna z warstw. Zarządzana przeglądarka mobilna, DNS filtering i ochrona tożsamości ograniczają skutek kliknięcia. Szkolenia powinny używać realistycznego ekranu telefonu i uczyć weryfikacji domeny, nie rozpoznawania jednego szablonu.
W kontrolowanej kampanii mierz skanowanie, otwarcie strony i próbę podania danych osobno. Dzięki temu wiadomo, czy zawiodło rozpoznanie wiadomości, ocena domeny czy ochrona logowania.
Źródła: CISA — Recognize and Report Phishing, Microsoft Security — QR code phishing detection.


