VENOM: Kradzież danych kadry zarządzającej z ominięciem MFA
Pięciofazowa kampania atakuje kadrę zarządzającą w ponad 20 branżach technikami adversary-in-the-middle, przejmując uwierzytelnione sesje i omijając MFA.

Kampania VENOM nie łamie MFA. Działa wewnątrz uwierzytelnionej sesji. Napastnik przejmuje token wydany już po poprawnym logowaniu z drugim składnikiem, więc hasło i kod jednorazowy przestają cokolwiek chronić. Skala tej klasy ataku nie jest niszowa: Microsoft opisał pojedynczą kampanię adversary-in-the-middle, która w trzy dni kwietnia 2026 roku dosięgła ponad 35 tys. użytkowników w 13 tys. organizacji. Wektor zamyka uwierzytelnianie odporne na phishing i unieważnienie tokenów, a nie reset hasła.
Czym jest kampania VENOM
VENOM to kampania kradzieży poświadczeń wymierzona w kadrę zarządzającą, opisana przez Arsen po ponad pięciu miesiącach obserwacji. Cele są wybierane imiennie w ponad 20 branżach, a 60% odbiorców zajmuje stanowiska C-level, prezesa lub przewodniczącego rady. Wyróżnikiem nie jest jakość podróbki strony logowania — te bywały dobre od lat — tylko to, co dzieje się po zalogowaniu.
W klasycznym phishingu łupem pada hasło. Tutaj łupem pada token: napastnik przechwytuje wynik poprawnego uwierzytelnienia, razem z zaliczonym drugim składnikiem. Kampania robi to na dwa sposoby. W wariancie adversary-in-the-middle (AiTM) fałszywa strona pośredniczy w prawdziwym logowaniu i po drodze zbiera ciasteczko sesji oraz token odświeżania. W wariancie device code ofiara loguje się na autentycznej stronie Microsoftu, a jedyną nieprawidłowością jest to, komu system wyda tokeny na końcu.
Kadra zarządzająca jest celem nie z powodu słabszej higieny bezpieczeństwa, lecz z powodu zasięgu uprawnień i wagi korespondencji. Skrzynka członka zarządu zawiera projekty umów, harmonogramy transakcji i wątki, w których polecenie przelewu nie budzi zdziwienia. To podręcznikowy spear phishing i whaling, tyle że z ładunkiem w postaci uwierzytelnionej sesji zamiast złośliwego załącznika.
Skala: to nie jest atak niszowy
Najlepiej udokumentowany przykład tej klasy ataku pochodzi z kwietnia 2026 roku. Microsoft Threat Intelligence opisał kampanię AiTM podszywającą się pod firmowy kodeks postępowania, która między 14 a 16 kwietnia dosięgła ponad 35 tys. użytkowników w ponad 13 tys. organizacji w 26 krajach. Rozkład branżowy pokazuje, że dobór celów nie był przypadkowy: ochrona zdrowia 19%, usługi finansowe 18%, usługi profesjonalne i technologie po 11%.

Zmienia się też opakowanie. W pierwszym kwartale 2026 roku Microsoft przeanalizował około 8,3 mld phishingowych wiadomości e-mail i wskazał kody QR jako najszybciej rosnący nośnik: ze 7,6 mln ataków w styczniu do 18,7 mln w marcu, czyli o 146%. W marcu 70% z nich przyszło w załącznikach PDF. Kod QR nie jest ozdobnikiem: przenosi kliknięcie z zarządzanego laptopa na prywatny telefon, poza proxy, EDR i filtry poczty. Za tym opakowaniem stoi już cały rynek, bo narzędzia do takich kampanii sprzedaje się w abonamencie; opisujemy go przy ostrzeżeniu FBI przed platformą Kali365.
Motyw finansowy stoi na końcu tego łańcucha. FBI IC3 podało za 2025 rok 3,046 mld dolarów strat z ataków typu BEC przy 24 768 zgłoszeniach, co daje około 123 tys. dolarów na zgłoszenie. Przejęta skrzynka członka zarządu jest najkrótszą drogą do takiego przelewu, bo pozwala prowadzić rozmowę z prawdziwego adresu, w prawdziwym wątku, ze znajomością prawdziwego harmonogramu płatności. W Polsce skala zjawiska widać po stronie CERT Polska: 260 783 zarejestrowane incydenty w 2025 roku, z czego 97% to oszustwa komputerowe, i blisko 250 tys. domen dopisanych do listy ostrzeżeń, o 166% więcej niż rok wcześniej. Nie każde poświadczenie zebrane w takiej kampanii trafia od razu do przelewu. Część wraca później na listach, które napastnicy odtwarzają w masowych próbach logowania tą samą parą login–hasło w innych serwisach, już bez udziału człowieka po drugiej stronie.
Pięć faz łańcucha ataku
Dostarczenie — powiadomienia SharePoint z logo ofiary
Cele otrzymują to, co wygląda jak autentyczne powiadomienie SharePoint, dynamicznie spersonalizowane z wewnętrznym brandingiem organizacji. E-mail zawiera kod QR zbudowany wyłącznie ze znaków Unicode: technika omijająca skanery obrazów w systemach e-mail. Przynęta imituje platformy, z których kadra kierownicza korzysta codziennie: SharePoint, DocuSign lub usługi kurierskie.
Zmiana urządzenia — przejście na prywatny telefon
Gdy cel skanuje kod QR, atak przenosi się na jego osobisty telefon, całkowicie omijając firmowe proxy, wykrywanie na urządzeniach końcowych i monitoring sieciowy. Adres e-mail celu jest podwójnie zakodowany w Base64 we fragmencie URL (po znaku #), co czyni go niewidocznym dla logów proxy i narzędzi inspekcji URL.
Filtrowanie botów — fałszywa weryfikacja bezpieczeństwa
Przed dotarciem do strony phishingowej odwiedzający przechodzą przez fałszywą weryfikację Cloudflare lub Microsoft Defender. Bramka ta używa analizy User-Agent, reputacji IP i zadań proof-of-work do odfiltrowania crawlerów bezpieczeństwa i sandboxów. Narzędzia automatyczne trafiają na prawdziwe strony Microsoft.
Zbieranie danych — przejmowanie sesji w czasie rzeczywistym
Ofiara widzi idealną replikę strony logowania Microsoft swojej organizacji, z logo firmowym i wstępnie wypełnionym adresem e-mail. Za kulisami proxy adversary-in-the-middle przekazuje dane uwierzytelniające do API Microsoft w czasie rzeczywistym, przechwytując tokeny sesji i tokeny odświeżania. Alternatywny przepływ Device Code powoduje, że ofiara uwierzytelnia się bezpośrednio na microsoft.com, podczas gdy tokeny są po cichu dostarczane atakującemu.
Utrzymanie dostępu — rejestracja nieautoryzowanego urządzenia MFA
Zanim przeglądarka przekieruje ofiarę na niegroźną stronę błędu, atakujący rejestruje nowe urządzenie MFA pod swoją kontrolą. W logach Entra ID pojawia się to jako zdarzenie „SoftwareTokenActivated” z nazwą „NO_DEVICE”. Od tego momentu atakujący ma trwały dostęp, który przetrwa reset hasła; tylko pełne unieważnienie sesji i tokenów w Entra ID go zablokuje.

Jak device code flow zamienia się w kradzież tokenu
Device code flow to legalny mechanizm OAuth 2.0 stworzony dla urządzeń, na których nie da się wygodnie wpisać hasła: telewizorów, konsol, narzędzi wiersza poleceń, urządzeń IoT. Urządzenie prosi dostawcę tożsamości o krótki kod, wyświetla go użytkownikowi i czeka. Użytkownik wchodzi na osobnym, zaufanym urządzeniu na stronę logowania, wpisuje kod, uwierzytelnia się normalnie, a dostawca tożsamości wydaje tokeny temu, kto o kod poprosił.
Nadużycie polega na rozerwaniu tego założenia. To napastnik inicjuje przepływ i dostaje kod, po czym przesyła go ofierze pod pretekstem dołączenia do spotkania, potwierdzenia dostępu albo weryfikacji urządzenia. Ofiara wpisuje kod na prawdziwej stronie Microsoftu, przechodzi prawdziwe MFA i widzi prawdziwy komunikat o powodzeniu. Tokeny trafiają do napastnika, bo od początku to jego urządzenie czekało na wynik. Microsoft opisał tę technikę w lutym 2025 roku przy okazji kampanii aktora śledzonego jako Storm-2372, wymierzonej między innymi w administrację publiczną, organizacje pozarządowe, obronność i energetykę.

Kluczowy jest token odświeżania. Token dostępu wygasa po godzinie, ale token odświeżania wystawia kolejne tokeny dostępu tak długo, jak pozostaje ważny, bez ponownego logowania, bez MFA i bez kontaktu z ofiarą. Napastnik odpytuje wtedy Microsoft Graph, przeszukuje skrzynkę pod kątem słów w rodzaju „hasło” czy „przelew”, pobiera pliki z OneDrive i wysyła wiadomości z konta ofiary. Reset hasła sam z siebie tego nie przerywa.
W logach Microsoft Entra ta sekwencja ma charakterystyczny kształt. Uwierzytelnienie device code zostawia najpierw wpis z kodem wyniku 50199 (przerwa na wpisanie kodu), a chwilę później wpis udany dla tego samego użytkownika, często z innego adresu IP i z aplikacji klienckiej, której dana osoba normalnie nie używa. Trzeci wpis, w dzienniku audytu, to rejestracja nowej metody uwierzytelniania. I to jest moment, w którym atak przestaje zależeć od skradzionego tokenu.
// 1. Every device code sign-in in the last 14 days. Most tenants never use
// this flow, so the baseline itself is the detection.
SigninLogs
| where TimeGenerated > ago(14d)
| where AuthenticationProtocol =~ "deviceCode"
| extend Country = tostring(LocationDetails.countryOrRegion)
| project TimeGenerated, UserPrincipalName, AppDisplayName, ResourceDisplayName,
IPAddress, Country, ResultType, CorrelationId
| order by TimeGenerated desc
// 2. The device code interrupt (50199) followed by a success for the same user
// from another address within five minutes: the shape a phished code leaves.
let lookback = 14d;
let gap = 5m;
let prompts = SigninLogs
| where TimeGenerated > ago(lookback) and ResultType == 50199
| project UserPrincipalName, PromptTime = TimeGenerated, PromptIP = IPAddress;
let grants = SigninLogs
| where TimeGenerated > ago(lookback) and ResultType == 0
| where AuthenticationProtocol =~ "deviceCode"
| project UserPrincipalName, GrantTime = TimeGenerated, GrantIP = IPAddress, AppDisplayName;
prompts
| join kind=inner grants on UserPrincipalName
| where GrantTime between (PromptTime .. PromptTime + gap)
| where PromptIP != GrantIP
| project UserPrincipalName, PromptTime, PromptIP, GrantTime, GrantIP, AppDisplayName
// 3. A new authentication method registered within an hour of a device code
// sign-in. This is the persistence step, and it survives a password reset.
let tokens = SigninLogs
| where TimeGenerated > ago(14d)
| where AuthenticationProtocol =~ "deviceCode" and ResultType == 0
| project UserPrincipalName, GrantTime = TimeGenerated, GrantIP = IPAddress;
AuditLogs
| where TimeGenerated > ago(14d)
| where LoggedByService == "Authentication Methods"
| where OperationName in ("User registered security info",
"User registered all required security info")
| where Result == "success"
| extend UserPrincipalName = tostring(TargetResources[0].userPrincipalName)
| join kind=inner tokens on UserPrincipalName
| where TimeGenerated between (GrantTime .. GrantTime + 1h)
| project TimeGenerated, UserPrincipalName, OperationName, GrantTime, GrantIPDlaczego MFA nie wystarcza — i które MFA wystarcza
Zdanie „mamy MFA” nic nie mówi o odporności na tę kampanię, bo MFA dzieli się na dwie klasy o zupełnie różnych właściwościach. CISA rozdziela je wprost: metody odporne na phishing to FIDO2/WebAuthn oraz uwierzytelnianie oparte na PKI (karty PIV/CAC). Wszystko inne (SMS, kod TOTP z aplikacji, powiadomienie push) jest podatne, bo sprowadza się do sekretu, który człowiek może przepisać lub zatwierdzić w niewłaściwym miejscu. Różnica jest mierzalna: Proofpoint odnotował w 2025 roku próby przejęcia blisko 3000 kont w ponad 900 środowiskach Microsoft 365, z potwierdzoną skutecznością przekraczającą 50%.
| Metoda uwierzytelniania | Proxy AiTM | Phishing device code | Uwaga praktyczna |
|---|---|---|---|
| SMS lub połączenie głosowe | Nie zatrzymuje | Nie zatrzymuje | Microsoft wycofuje własną dostawę SMS i głosu w Entra ID z dniem 1 lutego 2027 |
| Kod jednorazowy TOTP z aplikacji | Nie zatrzymuje | Nie zatrzymuje | Kod da się przekazać przez proxy w czasie rzeczywistym, zanim wygaśnie |
| Powiadomienie push z dopasowaniem numeru | Nie zatrzymuje | Nie zatrzymuje | Ogranicza zasypywanie zgodami, ale ofiara i tak zatwierdza logowanie, które sama zainicjowała |
| Passkey FIDO2/WebAuthn | Zatrzymuje | Nie zatrzymuje | Podpis jest związany z domeną, więc proxy nie przepuści logowania; device code omija to inną drogą |
| Uwierzytelnianie certyfikatem (PIV/CAC) | Zatrzymuje | Nie zatrzymuje | Wymaga własnego PKI i zarządzania cyklem życia certyfikatów |
Trzecia kolumna jest tą, którą najczęściej się pomija. Passkey rzeczywiście zamyka wariant AiTM, bo podpis kryptograficzny jest związany z domeną i nie da się go odtworzyć na stronie pośredniczącej. Nie zamyka wariantu device code, bo tam ofiara loguje się na prawdziwej domenie Microsoftu i przechodzi prawdziwe, odporne na phishing uwierzytelnienie. Błąd nie leży w sposobie logowania, tylko w pochodzeniu kodu. Ten wariant zamyka polityka dostępu warunkowego.

Kierunek zmian po stronie platformy jest jednoznaczny. Od 1 września 2026 roku Microsoft Entra ID czyni passkey domyślnym sposobem logowania i automatycznie włącza go użytkownikom korzystającym z SMS lub połączeń głosowych, a od 1 lutego 2027 roku wycofuje własną dostawę tych dwóch metod. Po tej dacie osoba, której jedynym drugim składnikiem jest SMS, zostanie przy logowaniu zablokowana do czasu zarejestrowania passkeya. Organizacje, które przeprowadzą tę migrację wcześniej i dobrowolnie, zrobią to taniej niż te, które zrobią to pod presją terminu.
Dlaczego socjotechnika sprawia, że to działa
Zaawansowanie techniczne to tylko połowa sukcesu. Kampania działa, ponieważ wykorzystuje głęboko zakorzenione wzorce zachowań w codziennej pracy kadry zarządzającej:
- Autorytet i rutyna: imitowane platformy odpowiadają codziennym przepływom pracy zarządu, więc wywołują reakcję nawykową, bez krytycznej oceny
- Personalizacja: domeny nadawców i stopki pochodzą od organizacji celu, co tworzy pozór komunikacji wewnętrznej
- Subtelność device code: cel wykonuje prawdziwą czynność na microsoft.com, więc żadna z wyuczonych heurystyk („sprawdź adres strony”) nie zapala się
Jak odróżnić prawdziwą prośbę o zalogowanie od tej kampanii
Sygnał rozpoznawczy jest jeden i nie wymaga wiedzy technicznej: prośba o zalogowanie lub o wpisanie kodu, której nie poprzedziło żadne Twoje działanie. Prawdziwe logowanie jest zawsze konsekwencją czynności, którą właśnie wykonałeś. Kod przychodzący „do potwierdzenia” z zewnątrz nie ma legalnego odpowiednika. Poniższe zestawienie porządkuje resztę sygnałów.
- Sam reset hasła nie kończy sesji: wydane wcześniej tokeny odświeżania pozostają ważne i napastnik korzysta z konta dalej
- Wyłączenie i włączenie MFA nie usuwa metody dopisanej przez napastnika: dopóki widnieje ona na koncie, ma czym przejść weryfikację
- Usunięcie samej wiadomości phishingowej niczego nie zamyka, jeśli ktoś już wpisał kod; przynęta jest najmniej istotnym artefaktem incydentu
- Analiza wyłącznie logowań interaktywnych pomija ruch przez Microsoft Graph, który odpowiada tu za faktyczną eksfiltrację
- Skasowanie reguł skrzynki bez ich wcześniejszego zapisania niszczy dowód na to, co i jak długo było przekierowywane
- Poinformowanie ofiary z jej własnej skrzynki daje napastnikowi podgląd na reakcję: kontakt prowadź kanałem poza pocztą
Pierwsze 60 minut po podejrzeniu przejęcia sesji
Kolejność ma tu znaczenie większe niż komplet czynności. Celem pierwszej godziny jest odebranie napastnikowi ważnych tokenów i usunięcie tego, czym mógłby je odzyskać, zanim ktokolwiek zacznie analizować, jak do tego doszło. Poniższa procedura zakłada dostęp do Microsoft Entra i dziennika audytu.
- Minuty 0–10Dyżurny SOCUnieważnij sesje, nie tylko hasło
Wywołaj unieważnienie sesji logowania dla konta (operacja revokeSignInSessions w Microsoft Graph). Dopiero to odbiera ważność tokenom odświeżania. Reset hasła wykonaj równolegle, ale traktuj go jako czynność drugą, nie pierwszą.
- Minuty 10–20Administrator tożsamościPrzejrzyj metody uwierzytelniania konta
Sprawdź w dzienniku audytu wszystkie rejestracje metod uwierzytelniania z ostatnich 30 dni. Usuń każdą, której użytkownik nie rozpoznaje, i dopiero potem pozwól mu zarejestrować nową. Zapisz zrzut stanu sprzed zmian.
- Minuty 20–35Administrator pocztyZabezpiecz i wyczyść reguły skrzynki
Wyeksportuj reguły skrzynki i reguły przekazywania, zanim cokolwiek skasujesz. Szukaj przekierowań na adresy zewnętrzne oraz reguł przenoszących wiadomości ze słowami „faktura”, „przelew” czy „bank” do folderów rzadko odwiedzanych. Sprawdź też delegacje i uprawnienia zastępcze.
- Minuty 35–50Administrator tożsamościPrzejrzyj zgody aplikacji OAuth
Wypisz zgody wyrażone przez użytkownika i przez administratora dla tej dzierżawy, ze szczególną uwagą na uprawnienia do poczty, plików i odczytu katalogu. Zgoda dla aplikacji jest niezależnym mechanizmem trwałego dostępu, który przeżyje zarówno reset hasła, jak i unieważnienie sesji.
- Minuty 50–60Prowadzący incydentUstal zasięg i zabezpiecz kontekst finansowy
Odtwórz z logów, do jakich zasobów sięgnięto przez Microsoft Graph i co zostało wysłane z konta. Jeżeli w wątkach są sprawy płatnicze, powiadom księgowość osobnym kanałem i wstrzymaj przelewy potwierdzane wyłącznie mailowo do czasu weryfikacji głosowej.
Po pierwszej godzinie zostaje część, której nie da się zrobić w pośpiechu: ustalenie, ile innych osób dostało tę samą wiadomość, przeszukanie logowań device code w całej dzierżawie i decyzja, czy incydent podlega zgłoszeniu do organu nadzorczego. Jeśli w skrzynce były dane osobowe, zegar 72 godzin z RODO zaczyna biec od momentu stwierdzenia naruszenia, a nie od zamknięcia analizy.
Co zamknąć zawczasu
Prewencja w tym przypadku jest wyjątkowo konkretna, bo atak korzysta z policzalnej liczby mechanizmów platformy. Poniższa lista jest ułożona według stosunku efektu do wysiłku, od zmian konfiguracyjnych do zmian organizacyjnych.
- Zablokuj device code flow polityką dostępu warunkowego: Microsoft zaleca blokadę niemal całkowitą; zacznij od trybu tylko do raportowania, zostaw wyjątki dla udokumentowanych starych narzędzi i tym samym warunkiem polityki zablokuj przenoszenie uwierzytelnienia
- Przestaw zarząd i administratorów na passkey lub certyfikat w pierwszej kolejności: to jedyna klasa metod zamykająca wariant AiTM, a terminy Microsoftu i tak wymuszą tę migrację
- Włącz ochronę tokenów (token protection) tam, gdzie jest wspierana: wiąże token z urządzeniem dla aplikacji natywnych Exchange Online, SharePoint Online i Teams; aplikacje przeglądarkowe nie są objęte
- Ogranicz zgody użytkowników na aplikacje OAuth: samodzielna zgoda tylko dla zweryfikowanych wydawców i niskoryzykownych uprawnień, reszta przez zatwierdzenie administratora
- Włącz przegląd okresowy zgód i metod uwierzytelniania: to dwa najczęstsze mechanizmy trwałego dostępu w tej kampanii
- Ustaw detekcję na sekwencję device code: kod wyniku 50199, a po nim udane logowanie tego samego użytkownika z innego adresu IP w ciągu kilku minut
- Obejmij zarząd osobnym programem symulacji phishingu i deepfake, z wariantami QR i device code: ogólna kampania świadomościowa nie pokrywa scenariusza, w którym ofiara loguje się na prawdziwej stronie
Koszt tej pracy rozkłada się na kilka pozycji i warto policzyć je osobno, zamiast szukać jednej kwoty. Po stronie licencji liczy się poziom Entra ID, bo dostęp warunkowy i ochrona tokenów wymagają planów wyższych niż podstawowy. Po stronie sprzętu: liczba osób, które dostaną klucz FIDO2, i to, czy potrzebują drugiego klucza zapasowego. Po stronie czasu zespołu: inwentaryzacja aplikacji korzystających dziś z device code, okres pracy polityki w trybie raportowania i obsługa zgłoszeń w tygodniach rejestracji passkeyów. Po stronie procesu: przepisanie procedury reagowania tak, aby unieważnienie tokenów było w niej krokiem pierwszym.
Wykrywanie jest tu równie ważne jak konfiguracja, bo część sygnałów pojawia się dopiero po fakcie: nowa metoda MFA, nietypowa aplikacja kliencka, logowanie device code w dzierżawie, która nigdy go nie używała. Jeśli nikt nie patrzy na te zdarzenia poza godzinami pracy, oprzyj tę warstwę o monitoring 24/7, a ekspozycję danych zarządu w źródłach przestępczych śledź osobno (Flare).
Kluczowe wnioski
- 1Kradziony jest token, nie hasło: napastnik przechwytuje wynik poprawnego logowania z drugim składnikiem, więc pytanie „czy mamy MFA” nie rozstrzyga niczego
- 2Liczy się klasa metody: passkey FIDO2 i certyfikat zamykają wariant AiTM, bo podpis jest związany z domeną; SMS, TOTP i push nie zamykają go wcale
- 3Device code to osobny problem: ofiara loguje się na prawdziwej stronie Microsoftu, więc zamyka go polityka dostępu warunkowego, a nie dobór drugiego składnika
- 4Reset hasła nie kończy sesji: dostęp trwa, dopóki nie unieważnisz sesji logowania i nie usuniesz dopisanych metod uwierzytelniania oraz zgód aplikacyjnych
- 5Termin ustawiono z zewnątrz: od 1 lutego 2027 Microsoft wycofuje własne SMS i połączenia głosowe w Entra ID, więc migracja i tak nastąpi
Najczęstsze pytania
Czy MFA chroni przed kampanią VENOM?
Tylko częściowo. MFA oparte na SMS, kodach TOTP i powiadomieniach push nie zatrzymuje ani wariantu adversary-in-the-middle, ani device code, bo napastnik przechwytuje wynik poprawnego uwierzytelnienia zamiast je obchodzić. Passkey FIDO2 i uwierzytelnianie certyfikatem zamykają wariant AiTM, bo podpis jest związany z domeną. Wariantu device code nie zamyka żadna metoda: tam potrzebna jest polityka dostępu warunkowego.
Czy zmiana hasła kończy przejętą sesję Microsoft 365?
Nie. Tokeny odświeżania wydane przed zmianą hasła pozostają ważne i pozwalają wystawiać kolejne tokeny dostępu bez ponownego logowania. Sesję kończy dopiero jawne unieważnienie sesji logowania w Microsoft Entra (operacja revokeSignInSessions), a trwały dostęp znika dopiero po usunięciu dopisanych metod uwierzytelniania i zgód aplikacyjnych. Reset hasła jest potrzebny, ale sam w sobie nie wystarcza.
Czym jest device code phishing i po co komu ten mechanizm?
To standardowy element OAuth 2.0 dla urządzeń bez wygodnej klawiatury: telewizorów, konsol, narzędzi wiersza poleceń. Urządzenie prosi o krótki kod, użytkownik wpisuje go na osobnym urządzeniu i loguje się normalnie. W phishingu napastnik inicjuje ten przepływ za ofiarę i przesyła jej swój kod, więc tokeny trafiają do niego, mimo że ofiara logowała się na prawdziwej stronie Microsoftu.
Jak sprawdzić, czy ktoś w mojej organizacji logował się przez device code?
W Microsoft Entra przejrzyj dzienniki logowań pod kątem protokołu uwierzytelniania deviceCode. W Sentinelu lub obszarze roboczym Log Analytics odpowiada temu filtr na kolumnie AuthenticationProtocol w tabeli SigninLogs. Podejrzana jest zwłaszcza sekwencja: kod wyniku 50199, a po nim udane logowanie tego samego użytkownika z innego adresu IP w ciągu kilku minut. Konkretne zapytania znajdziesz w sekcji z blokiem KQL powyżej.
Czy zablokowanie device code flow czymś grozi?
W większości organizacji nie, bo tego przepływu praktycznie się nie używa. Microsoft zaleca dążenie do blokady niemal całkowitej i zbadanie wcześniej, czy jakiekolwiek realne zastosowanie istnieje. Bezpieczna droga to uruchomienie polityki dostępu warunkowego w trybie tylko do raportowania, przejrzenie trafień przez kilka tygodni i włączenie blokady z wyjątkami wyłącznie dla udokumentowanych, starych narzędzi.
Po czym poznać kod QR w wiadomości, który prowadzi do przejęcia sesji?
Po kontekście, nie po wyglądzie samego kodu. Legalne powiadomienie o pliku prowadzi do dzierżawy Twojej organizacji i nie wymaga skanowania kodu telefonem. Kod QR w wiadomości lub w załączonym PDF-ie ma jedną funkcję: przenieść kliknięcie na urządzenie prywatne, poza firmowe proxy i EDR. Microsoft odnotował w pierwszym kwartale 2026 roku wzrost tego nośnika o 146%, przy czym w marcu 70% takich ataków przyszło właśnie w PDF-ach.
Czy ten atak dotyczy tylko Microsoft 365?
Nie. Mechanizm należy do protokołów, nie do jednego dostawcy: proxy adversary-in-the-middle działa wobec każdego logowania webowego, a device code flow to standardowe rozszerzenie OAuth 2.0. Wariant microsoftowy opisujemy, bo jest najlepiej udokumentowany i tam trafia większość korespondencji zarządów. Kontrole są wszędzie analogiczne: metody odporne na phishing, ograniczenie rzadkich przepływów i unieważnianie tokenów.
Podsumowanie
MFA pozostaje kontrolą konieczną, ale przestało być wystarczające dla kont zarządu. Kiedy napastnik działa wewnątrz uwierzytelnionej sesji i dopisuje własną metodę logowania, liczy się nie to, czy drugi składnik istnieje, lecz jakiej jest klasy, które przepływy uwierzytelniania zostawiono otwarte i jak szybko da się unieważnić tokeny. Wszystkie trzy rzeczy ustawia się przed incydentem, nie w jego trakcie. Zarząd i asystentów warto objąć osobnym programem symulacji phishingu i deepfake, a wykrywanie przejętych sesji powierzyć całodobowemu SOC.
Atak nie omija MFA. Sprawia, że MFA staje się nieistotne, działając wewnątrz uwierzytelnionej sesji. Obrona przed tym wymaga przemyślenia, co „bezpieczne uwierzytelnianie” naprawdę oznacza w 2026 roku.
Źródła
- 1.Breaking the code: Multi-stage "code of conduct" phishing campaign leads to AiTM token compromiseMicrosoft Threat Intelligence · 2026-05-04 · dostęp 2026-08-09Analiza jednej kampanii AiTM: zasięg, rozkład branżowy i przebieg trzydniowego okna.
- 2.Storm-2372 conducts device code phishing campaignMicrosoft Threat Intelligence · 2025-02-13 · dostęp 2026-08-09Opis nadużycia device code flow, sygnałów w logach i zalecanych ograniczeń.
- 3.Email threat landscape: Q1 2026 trends and insightsMicrosoft Threat Intelligence · 2026-04-30 · dostęp 2026-08-09Telemetria poczty Microsoftu za I kwartał 2026: wolumen phishingu i dynamika kodów QR.
- 4.Block authentication flows with Conditional Access policyMicrosoft Learn · 2026-03-24 · dostęp 2026-08-09Dokumentacja polityki dostępu warunkowego blokującej device code flow i przenoszenie uwierzytelnienia.
- 5.Passkeys by default and retirement of Microsoft-provided SMS and voice authenticationMicrosoft Learn · 2026-07-29 · dostęp 2026-08-09Harmonogram przejścia Entra ID na passkeye i wycofania SMS oraz połączeń głosowych.
- 6.Implementing Phishing-Resistant MFACISA · 2022-10 · dostęp 2026-08-09Definicja MFA odpornego na phishing i wskazanie FIDO2/WebAuthn oraz PKI jako jedynych metod tej klasy.
- 7.2025 Internet Crime ReportFBI IC3 · 2026 · dostęp 2026-08-09Zgłoszenia wyłącznie od poszkodowanych w USA; straty i liczba zgłoszeń dla kategorii BEC.
- 8.Microsoft OAuth App Impersonation Campaign Leads to MFA PhishingProofpoint · 2025-07-31 · dostęp 2026-08-09Kampania podszywania się pod aplikacje OAuth Microsoftu; próby przejęcia blisko 3000 kont w ponad 900 środowiskach Microsoft 365 w 2025 roku.
- 9.ENISA Threat Landscape 2025ENISA · październik 2025 · dostęp 2026-08-09Udział wektorów pierwszego dostępu w 4875 incydentach w UE, lipiec 2024 – czerwiec 2025.
- 10.Raport roczny CERT Polska za 2025 rokCERT Polska / NASK · 2026 · dostęp 2026-08-09Skala zgłoszeń i incydentów w Polsce w 2025 roku wraz z liczbą domen na liście ostrzeżeń.
- 11.The C-suite credential theft campaign that neutralizes MFAArsen · 2026-04-15 · dostęp 2026-08-09Pierwotna analiza kampanii VENOM: dobór celów, technika kodu QR i wskaźniki trwałego dostępu.
Chroń kadrę zarządzającą przed atakami typu VENOM
Arsen zapewnia symulacje phishingowe oparte na AI, testowanie ataków QR code i szkolenia dedykowane kadrze zarządzającej: dokładnie te mechanizmy obronne, które rekomendujemy wobec tej kampanii.