Blog
Analizy zagrożeń 17 min czytania Aktualizacja: 2026-08-09

Kali365: rynek phishing-as-a-service i ostrzeżenie FBI

FBI ostrzegło przed Kali365, platformą phishing-as-a-service przejmującą tokeny Microsoft 365 bez hasła. Jak wygląda rynek PhaaS, model afiliacyjny i próg wejścia dla atakującego, co zrobiły instytucje oraz jakie wskaźniki i zapytania detekcyjne wpiąć po stronie SOC.

Kali365: rynek phishing-as-a-service i ostrzeżenie FBI

21 maja 2026 roku FBI opublikowało komunikat I-052126-PSA, ostrzegając przed Kali365 — platformą phishing-as-a-service, która pozwala przejąć tokeny dostępowe do Microsoft 365 bez przechwytywania hasła. Nowa nie jest tu technika, lecz sposób jej dystrybucji: subskrypcja, panel, generator przynęt wspierany AI i obsługa przez Telegram. Ten tekst opisuje ekosystem, który takie narzędzia sprzedaje, oraz to, co da się po nim rozpoznać w logach. Mechanikę samego przepływu device code rozkładamy w analizie kampanii VENOM.

Rynek phishing-as-a-service w liczbach
54,1%
ogłoszeń o kitach phishingowych dotyczyło gotowej usługi, a nie samego kodu do wdrożenia
Flare, „The Phishing Kits Economy in Cybercrime Markets”, styczeń 2026
28%
naruszeń analizowanych przez Microsoft zaczęło się od phishingu lub socjotechniki
Microsoft Digital Defense Report 2025
338
domen przejętych w jednej akcji przeciwko platformie PhaaS wymierzonej w Microsoft 365
Microsoft Digital Crimes Unit i Cloudflare, wrzesień 2025
78 391
incydentów phishingowych zarejestrowanych w Polsce w 2025 roku: 30% wszystkich zdarzeń
CERT Polska / NASK, raport roczny za 2025 rok

Czym jest Kali365 i dlaczego zajęło się nim FBI

Kali365 to platforma phishing-as-a-service wymierzona w Microsoft 365. Według komunikatu FBI zaobserwowano ją po raz pierwszy w kwietniu 2026 roku, a dystrybuowana była przede wszystkim przez Telegram. Subskrybent dostaje w pakiecie przynęty generowane przez AI, gotowe szablony kampanii, pulpit do śledzenia celów w czasie rzeczywistym oraz przechwytywanie tokenów OAuth. Efektem jest trwały dostęp do środowiska ofiary, uzyskany bez przechwycenia hasła i bez łamania drugiego składnika.

Warto rozdzielić dwie rzeczy, które w doniesieniach prasowych zwykle się zlewają. Technika, czyli nadużycie przepływu OAuth 2.0 Device Authorization Grant, nie jest nowa i była opisywana na długo przed Kali365. Rozkładamy ją krok po kroku w osobnej analizie. Nowy jest produkt: ta sama technika opakowana w abonament, z obsługą klienta, biblioteką szablonów i panelem, sprzedawana komuś, kto sam nie potrafiłby jej zaimplementować.

To rozróżnienie ma konsekwencje operacyjne. Jeśli patrzysz na Kali365 jak na kampanię, szukasz jednej grupy, jednego zestawu adresów i jednego stylu przynęty. Jeśli patrzysz jak na platformę, zakładasz wielu niezależnych operatorów, którzy dzielą kod i infrastrukturę, ale różnią się celem, językiem i kalendarzem. Druga perspektywa lepiej opisuje to, co faktycznie widać w logach.

Co dokładnie zakomunikowało FBI, kiedy i do kogo

Komunikat ma numer I-052126-PSA i datę 21 maja 2026 roku. To Public Service Announcement, czyli format kierowany do ogółu odbiorców (instytucji publicznych, firm i osób prywatnych), a nie zamknięty biuletyn dla jednego sektora. Kanałem zgłoszeniowym pozostaje IC3, Internet Crime Complaint Center. Treść jest krótka i jak na ten format zaskakująco konkretna.

  • Nazwa i data: platforma zidentyfikowana jako Kali365, pierwsza obserwacja w kwietniu 2026 roku
  • Kanał dystrybucji: sprzedaż i obsługa prowadzone przede wszystkim przez Telegram
  • Efekt ataku: przejęcie tokenów dostępowych do Microsoft 365 i ominięcie MFA bez przechwytywania danych logowania
  • Zakres dostępu: napastnik korzysta z Outlooka, Teams i OneDrive bez hasła i bez dodatkowego wyzwania MFA
  • Co dostaje subskrybent: przynęty generowane przez AI, szablony kampanii, pulpity śledzenia celów i przechwytywanie tokenów OAuth
  • Rekomendacje: polityka dostępu warunkowego blokująca device code flow, audyt dotychczasowego użycia tego przepływu i wyłączenie spod ograniczenia wyłącznie kont awaryjnych

Równie wymowne jest to, czego w komunikacie nie ma. FBI nie publikuje listy adresów ani domen, nie wskazuje sektorów szczególnie narażonych i nie przypisuje platformy do konkretnej grupy. Przy modelu afiliacyjnym lista wskaźników starzeje się szybciej, niż zdąży obiec adresatów, a profil celu zależy od afilianta, nie od platformy. Instytucja komunikuje więc to, co stabilne: mechanizm i kontrolę, która go wyłącza.

Jak wygląda rynek phishing-as-a-service w 2026 roku

Kali365 nie jest zjawiskiem odosobnionym, tylko kolejnym wpisem w katalogu, który rośnie od kilku lat. Flare przeanalizowało 8 627 ogłoszeń dotyczących kitów phishingowych, zebranych w ciągu roku z forów, Telegrama i źródeł otwartych. Ponad połowa, dokładnie 54,1%, dotyczyła gotowej usługi, a nie kodu do samodzielnego wdrożenia. Rynek przesunął się z modelu „kup skrypt i postaw sobie serwer” na „wykup dostęp i zaloguj się do panelu”.

Poziomy pasek udziałów: kanał publikacji 8 627 ogłoszeń o kitach phishingowych. Fora w deep webie 58,8%, źródła otwarte 19,4%, Telegram 14,1%, dark web 7,7%
Poziomy pasek udziałów: kanał publikacji 8 627 ogłoszeń o kitach phishingowych. Fora w deep webie 58,8%, źródła otwarte 19,4%, Telegram 14,1%, dark web 7,7%

Rozkład kanałów mówi więcej niż sama liczba ofert. 58,8% ogłoszeń pochodziło z forów w deep webie, 19,4% ze źródeł otwartych, 14,1% z Telegrama, a tylko 7,7% z dark webu. Wyobrażenie, że handel narzędziami phishingowymi toczy się wyłącznie w ukrytej części sieci dostępnej przez Tora, jest nieaktualne. Ma to bezpośrednie znaczenie dla monitoringu: wywiad o zagrożeniach zawężony do rynków .onion mija większość zjawiska. Do obserwacji tej warstwy służą narzędzia klasy threat exposure management, takie jak Flare.

Nie wszystko, co się w tych kanałach ogłasza, w ogóle istnieje. W tej samej próbce 36,3% wpisów sklasyfikowano jako realne zagrożenia z wysoką pewnością, 20,5% jako prawdopodobnie realne, a 22,0% jako oszustwa albo ogłoszenia fałszywe. Jedna piąta rynku okrada więc własnych klientów. To wyjaśnia, dlaczego nazw kitów przybywa szybciej niż faktycznie działających platform i dlaczego detekcja budowana wokół nazwy jest krucha.

Warstwy ekosystemu PhaaS i to, co z każdej z nich zostaje w logach
Warstwa ekosystemuCo dostarczaCo z tego widzi obrońca
Operator platformyKod, backend, panel subskrybenta, aktualizacje pod zmiany u dostawcy tożsamościBezpośrednio nic: dopiero powtarzalność tego samego wzorca u niepowiązanych ofiar
Warstwa infrastrukturyDomeny, certyfikaty, proxy odwrotne, rotacja adresów, hosting jednorazowyŚwieże domeny, certyfikaty wystawione godziny przed kampanią, hosting bez historii w organizacji
Generator przynętTreść wiadomości, szablony marek, warianty językowe, personalizacja per odbiorcaBrak typowych błędów językowych; klastrowanie po treści zawodzi, po strukturze wciąż działa
Afiliant, czyli subskrybentWybór celu, listy odbiorców, prowadzenie kampanii, monetyzacja dostępuWzorzec wysyłki: do kogo, do ilu osób naraz i w jakim oknie czasowym
Kanał obsługiWsparcie, alerty o przechwyceniu, wymiana szablonów i list odbiorcówNic po stronie ofiary; to argument za wywiadem o zagrożeniach, nie za detekcją
Rynek wtórnyOdsprzedaż przejętych sesji, skrzynek i dostępów kolejnym nabywcomLogowania do tego samego konta z niepowiązanych sieci w odstępie dni

Platforma, infrastruktura i operator to trzy różne warstwy, a obrońca widzi ślady przede wszystkim dwóch ostatnich. Detekcja zbudowana na nazwie platformy celuje w warstwę, która nie zostawia po sobie niczego mierzalnego.

Model afiliacyjny: kto naprawdę prowadzi kampanię przeciwko Tobie

W modelu afiliacyjnym operator platformy nie atakuje nikogo. Utrzymuje kod i panel, aktualizuje szablony pod zmiany u dostawcy tożsamości i pobiera opłatę za dostęp. Kampanię prowadzi subskrybent: wybiera cel, wgrywa listę odbiorców, ustawia szablon i zbiera efekty. Ten podział pracy nie jest nowy. Badacze z TNO, Politechniki w Eindhoven i Politechniki w Delft opisali go na przykładzie holenderskiego rynku kitów phishingowych, pokazując wprost, że gotowe narzędzia obniżają próg wejścia dla przestępczego przedsiębiorcy. Kali365 jest tym samym zjawiskiem o warstwę wyżej: dziś nie trzeba już nawet wdrażać kitu.

  • Jedna platforma, wiele kalendarzy: dwie kampanie z tej samej infrastruktury mogą dzielić tygodnie i nie mieć ze sobą nic wspólnego poza dostawcą narzędzia
  • Jedna platforma, wiele poziomów umiejętności: ten sam kit obsłuży grupę przygotowującą ransomware i pojedynczego oszusta polującego na przelew
  • Wspólny kod, różne przynęty: treść pochodzi z generatora i bywa unikalna dla odbiorcy, więc dopasowanie po treści zawodzi
  • Wspólna struktura, różne domeny: powtarza się układ strony, ścieżka URL i sekwencja przekierowań, a nie nazwa hosta
  • Monetyzacja poza platformą: przejęta skrzynka bywa odsprzedawana dalej, więc drugie wejście nie musi oznaczać powrotu tego samego napastnika

Wniosek jest niewygodny: atrybucja do nazwy platformy ma niewielką wartość operacyjną. Wiedza, że przynęta pochodziła z Kali365, nie mówi, kto ją wysłał, po co ani czy wróci. Wartość ma opis zachowania: jak wyglądała dostawa, co zrobiono z tokenem i co z niego wyniesiono.

Trzy błędy w reakcji na ostrzeżenie o PhaaS
  • Nie traktuj listy wskaźników z advisory jak listy blokad na stałe. Infrastruktura PhaaS rotuje domeny i adresy w cyklu dobowym, więc statyczna blokada daje fałszywe poczucie pokrycia, a po kilku tygodniach generuje już wyłącznie szum.
  • Nie buduj detekcji wokół nazwy kitu. Nazwy pojawiają się i znikają, część z nich to marketing sprzedawcy, a część oszustwo wobec innych przestępców.
  • Nie zamykaj sprawy na resecie hasła. Hasło nie brało udziału w ataku, więc jego zmiana niczego nie unieważnia. Unieważnić trzeba sesje, tokeny odświeżania i zarejestrowane urządzenia.

Próg wejścia i co to zmienia dla średniej firmy

Do niedawna atak kończący się przejęciem tokenu OAuth wymagał trzech rzeczy naraz: zrozumienia przepływów uwierzytelniania, umiejętności postawienia i utrzymania infrastruktury oraz cierpliwości do napisania wiarygodnej przynęty w języku ofiary. Model PhaaS zdejmuje każdą z tych barier osobno. Przepływ obsługuje backend platformy. Infrastrukturę dostarcza i rotuje operator. Przynętę pisze generator.

Zdjęcie barier nie zwiększa trudności ataku. Zwiększa jego liczbę. I to jest właściwa zmiana profilu ryzyka dla firmy średniej wielkości. Wcześniej dało się rozsądnie założyć, że napastnik zdolny technicznie do takiego ataku wybierze cel wart tego wysiłku. Przy modelu subskrypcyjnym ta kalkulacja przestaje działać, bo koszt krańcowy kolejnej kampanii jest bliski zeru: uderzenie w spółkę ze stu pięćdziesięcioma pracownikami kosztuje afilianta tyle samo co uderzenie w korporację.

Wykres kolumnowy: sposób uzyskania pierwszego dostępu w naruszeniach analizowanych przez Microsoft. Phishing i socjotechnika 28%, niezałatane zasoby wystawione do sieci 18%, wystawione usługi zdalnego dostępu 12%
Wykres kolumnowy: sposób uzyskania pierwszego dostępu w naruszeniach analizowanych przez Microsoft. Phishing i socjotechnika 28%, niezałatane zasoby wystawione do sieci 18%, wystawione usługi zdalnego dostępu 12%

Skala po stronie wektora jest w danych stabilna. Microsoft podaje, że 28% analizowanych naruszeń zaczęło się od phishingu lub socjotechniki, więcej niż od niezałatanych zasobów wystawionych do sieci (18%) i od wystawionych usług zdalnego dostępu (12%). W tym samym raporcie ataki na tożsamość rosną o 32% w pierwszej połowie 2025 roku, a ponad 97% z nich to ataki na hasło. Generatywna AI dokłada jakość przynęty: phishing prowadzony z jej użyciem jest według Microsoftu trzykrotnie skuteczniejszy od kampanii pisanych ręcznie.

Polski kontekst wygląda podobnie. CERT Polska zarejestrował w 2025 roku 260 783 unikalne incydenty, z czego 78 391 stanowił phishing, czyli około 30% wszystkich zdarzeń. Przed tą kategorią nie chroni ani wielkość organizacji, ani branża.

Dlaczego takedowny nie kończą sprawy

Odpowiedź instytucjonalna nie ogranicza się do ostrzeżeń. We wrześniu 2025 roku Microsoft Digital Crimes Unit wspólnie z Cloudflare i amerykańskimi organami ścigania przejął 338 domen platformy RaccoonO365, sprzedającej kity wymierzone w Microsoft 365; postępowanie doprowadziło do zatrzymania osoby kierującej operacją. W marcu 2026 roku ta sama jednostka przejęła 330 aktywnych domen platformy Tycoon 2FA. Była to pierwsza akcja DCU koordynowana w ramach programu Europolu. Wcześniej, w kwietniu 2024 roku, międzynarodowe śledztwo Europolu rozbiło LabHost, platformę phishing-as-a-service sprzedawaną w abonamencie i obsługującą phishing wobec klientów setek instytucji finansowych.

Trzy takie akcje w niecałe dwa lata pokazują i skalę problemu, i granice tej odpowiedzi. Przejęcie domen wyłącza konkretną instancję, ale nie model: kod, listy odbiorców i klienci przenoszą się do następnej platformy, a nazwa zmienia się szybciej niż reguły w bramce pocztowej. Dlatego ostrzeżenie FBI kończy się rekomendacją konfiguracyjną, a nie listą wskaźników.

Pojedynczy napastnik czy klient platformy
Ślad ukierunkowanej operacji
Ślad afilianta korzystającego z platformy
Przynęta pisana pod jedną organizację, z realiami wewnętrznymi i nazwiskami
Przynęta z generatora: poprawna językowo, ogólna, podmieniana per odbiorca
Domena rejestrowana z wyprzedzeniem i rozgrzewana ruchem przed kampanią
Domena i certyfikat powstają na godziny przed pierwszą wysyłką
Wąska lista odbiorców, dobrana ręcznie
Lista wgrana hurtem, często w porządku alfabetycznym lub katalogowym
Infrastruktura utrzymywana tygodniami, o stabilnym adresie
Adresy rotują w cyklu dobowym, na hostingu jednorazowym i usługach brzegowych
Jeden zestaw narzędzi widoczny konsekwentnie przez cały incydent
Ten sam układ strony i ścieżka URL wracają w niepowiązanych kampaniach
Dostęp wykorzystywany przez tego samego aktora do końca
Dostęp bywa odsprzedany; druga fala przychodzi z innej sieci i w innym stylu

Wskaźniki i wykrywanie po stronie SOC

To jest właściwy powód, dla którego warto czytać ostrzeżenia o PhaaS. Wskaźniki z advisory mają krótki termin przydatności, ale wzorce, które za nimi stoją, są trwałe. Zacznij jednak od pytania, na które większość zespołów odpowiada za późno: czy w ogóle masz w czym szukać.

Czego nie logujesz, tego nie znajdziesz

Zanim napiszesz pierwsze zapytanie, sprawdź, czy poniższe źródła są zbierane i jak długo przechowywane. Kampania afiliacyjna bywa rozpoznana dopiero po tygodniach, a domyślny maksymalny czas bezczynności tokenu odświeżania w Microsoft Entra ID wynosi 90 dni. Krótsza retencja oznacza, że pytanie „kiedy to się zaczęło” zostanie bez odpowiedzi.

  • Logi logowań Microsoft Entra: interaktywne i nieinteraktywne; te drugie pomija się najczęściej, a to w nich widać odtwarzanie tokenu
  • Dziennik audytu Entra: nadania zgód aplikacjom, rejestracje jednostek usługi, rejestracje urządzeń i zmiany metod uwierzytelniania
  • Aktywność Exchange Online: reguły skrzynki, przekierowania, masowe pobieranie plików, wysyłka wychodząca
  • Telemetria poczty: nadawca koperty i nagłówka, wyniki SPF, DKIM i DMARC oraz adresy URL z treści i załączników, w tym wyciągnięte z kodów QR
  • Zdarzenia kliknięć w linki, zwłaszcza te, w których użytkownik przeszedł dalej mimo strony ostrzeżenia
  • DNS i proxy: zapytania do świeżo zarejestrowanych domen i do usług brzegowych, na których PhaaS stawia jednorazowe strony
  • Retencja: dobrana do cyklu życia sesji, nie do domyślnych ustawień narzędzia; poniżej 90 dni tracisz początek historii

Wskaźniki infrastruktury

Wskaźniki infrastruktury PhaaS dzielą się na dwie klasy o różnej trwałości. Adresy i nazwy domen są jednorazowe. Struktura, czyli sposób, w jaki ta infrastruktura powstaje, powtarza się między kampaniami i między platformami. I to ją warto zapisać w regule.

  • Wiek domeny: domena z przynęty ma zwykle od kilkunastu godzin do kilku dni; wiek jest tu mocniejszym sygnałem niż reputacja
  • Certyfikat wystawiony tuż przed kampanią: masowy certyfikat domenowy powstały godziny przed pierwszą wysyłką
  • Usługi brzegowe jako hosting przynęty: jednorazowe subdomeny platform funkcji brzegowych i usług tunelujących, bez historii w Twojej organizacji
  • Powtarzalna ścieżka URL: ten sam schemat katalogu i parametru w niepowiązanych kampaniach, mimo różnych domen
  • Łańcuch przekierowań: dwa lub trzy skoki przez skracacze i domeny o dobrej reputacji, zanim ruch trafi na właściwą stronę
  • Strona filtrująca przed przynętą: ekran „weryfikacji”, którego zadaniem jest odsianie automatów analitycznych i sandboksów
  • Rozjazd między nadawcą koperty a nadawcą nagłówka przy poprawnym SPF: kampanie z platform korzystają z cudzej, poprawnie skonfigurowanej infrastruktury wysyłkowej

Wzorce afiliacyjne

Wzorce afiliacyjne mówią, że po drugiej stronie stoi klient platformy, a nie autor narzędzia. Są cenne, bo pozwalają połączyć zdarzenia, które osobno wyglądają jak trzy drobiazgi z różnych kolejek.

  • Wysyłka hurtowa z jednego przejętego konta: kilkadziesiąt lub kilkaset wiadomości w krótkim oknie, do odbiorców spoza dotychczasowej korespondencji
  • Reguła skrzynki utworzona w ciągu minut od nietypowego logowania, przenosząca do usuniętych lub do archiwum wiadomości ze słowami „security”, „alert”, „sign-in”, „phish”
  • Zgoda dla aplikacji, której nikt w organizacji nie zna: uprawnienia do poczty lub plików nadane aplikacji spoza katalogu zatwierdzonych
  • Rejestracja nowej metody uwierzytelniania krótko po logowaniu z nowej sieci: krok trwałości, który przeżywa reset hasła
  • Te same cechy klienta u wielu użytkowników: jeden rzadki identyfikator aplikacji lub agent użytkownika u osób, które nie mają ze sobą nic wspólnego
  • Drugie wejście po przerwie: logowanie do tego samego konta z niepowiązanej sieci kilka dni po pierwszym, typowe dla odsprzedaży dostępu
Zapytania wykrywające infrastrukturę i wzorce afiliacyjne PhaaS
KQL
// Aimed at phishing-as-a-service infrastructure and affiliate behaviour rather
// than at the device code flow itself. Tune every threshold to your own tenant.

// 1. Lure hosting. Inbound mail pointing at throwaway edge or tunnelling hosts,
//    plus URLs lifted out of QR codes. Rarity does the work: a domain seen once,
//    delivered to a handful of people, is the shape of a rotating PhaaS front end.
let lookback = 14d;
let edgeHosts = dynamic(["workers.dev", "pages.dev", "trycloudflare.com", "r2.dev",
                         "web.app", "firebaseapp.com", "netlify.app", "vercel.app",
                         "onrender.com", "glitch.me", "ngrok-free.app", "ngrok.io"]);
EmailEvents
| where Timestamp > ago(lookback) and EmailDirection == "Inbound"
| join kind=inner (
    EmailUrlInfo
    | where Timestamp > ago(lookback)
    | project NetworkMessageId, UrlDomain, UrlLocation
) on NetworkMessageId
| where UrlLocation == "QRCode" or UrlDomain has_any (edgeHosts)
| summarize Messages = count(),
            Recipients = dcount(RecipientEmailAddress),
            SenderDomains = make_set(SenderMailFromDomain, 10),
            Delivered = countif(DeliveryAction == "Delivered"),
            FirstSeen = min(Timestamp), LastSeen = max(Timestamp)
        by UrlDomain, UrlLocation
| where Delivered > 0 and Recipients <= 25
| order by FirstSeen desc

// 2. Someone clicked through the Safe Links warning and a session appeared right
//    after. Neither half deserves an alert on its own; the pair does. Needs the
//    Defender tables and Entra sign-in logs in one workspace.
let clicks = UrlClickEvents
    | where Timestamp > ago(7d)
    | where ActionType == "ClickAllowed" or IsClickedThrough
    | project ClickTime = Timestamp, Upn = tolower(AccountUpn), Url, ThreatTypes;
clicks
| join kind=inner (
    SigninLogs
    | where TimeGenerated > ago(7d) and ResultType == 0
    | project SignInTime = TimeGenerated, Upn = tolower(UserPrincipalName),
              IPAddress, Asn = AutonomousSystemNumber, AppDisplayName, UserAgent
) on Upn
| where SignInTime between (ClickTime .. ClickTime + 30m)
| project Upn, ClickTime, Url, ThreatTypes, SignInTime, IPAddress, Asn,
          AppDisplayName, UserAgent
| order by ClickTime desc

// 3. The affiliate playbook once a mailbox falls: a rule that buries security
//    mail. UncommonForUser is what keeps this off ordinary housekeeping.
CloudAppEvents
| where Timestamp > ago(30d)
| where Application has "Exchange"
| where ActionType in ("New-InboxRule", "Set-InboxRule", "UpdateInboxRules")
| extend Raw = tostring(RawEventData)
| where Raw has_any ("security", "alert", "sign-in", "signin", "phish",
                     "protection", "quarantine", "helpdesk")
| where Raw has_any ("DeletedItems", "Junk", "Archive", "RSS", "MarkAsRead", "Delete")
| project Timestamp, AccountDisplayName, AccountObjectId, ActionType,
          IPAddress, Isp, CountryCode, UserAgent, UncommonForUser
| order by Timestamp desc

// 4. Consent handed to an application nobody recognises. Diff AppId against your
//    approved application inventory before triaging anything here.
AuditLogs
| where TimeGenerated > ago(30d)
| where OperationName in ("Consent to application", "Add OAuth2PermissionGrant",
                          "Add delegated permission grant",
                          "Add app role assignment grant to user")
| where Result == "success"
| extend Actor = tostring(InitiatedBy.user.userPrincipalName),
         ActorIp = tostring(InitiatedBy.user.ipAddress),
         AppName = tostring(TargetResources[0].displayName),
         AppId = tostring(TargetResources[0].id)
| summarize Grants = count(), Consenters = dcount(Actor),
            Who = make_set(Actor, 20), Ips = make_set(ActorIp, 20),
            FirstSeen = min(TimeGenerated)
        by AppName, AppId, OperationName
| order by FirstSeen desc

// 5. Affiliate reuse. A client application that shows up for a few unrelated
//    people this week and for nobody in the weeks before is a shared-toolkit
//    fingerprint, not a shared job function.
let baseline = SigninLogs
    | where TimeGenerated between (ago(30d) .. ago(7d))
    | summarize BaselineUsers = dcount(UserPrincipalName) by AppId;
SigninLogs
| where TimeGenerated > ago(7d) and ResultType == 0
| summarize Users = dcount(UserPrincipalName), Who = make_set(UserPrincipalName, 20),
            Asns = make_set(AutonomousSystemNumber, 10), Signins = count()
        by AppId, AppDisplayName
| join kind=leftouter (baseline) on AppId
| where isnull(BaselineUsers) or BaselineUsers <= 2
| where Users between (2 .. 15)
| project AppDisplayName, AppId, Users, Who, Asns, Signins, BaselineUsers
| order by Users desc
Zapytania 1–3 uruchamiaj w Microsoft Defender XDR (advanced hunting), zapytania 4–5 w Microsoft Sentinel lub obszarze roboczym Log Analytics z podpiętymi tabelami SigninLogs i AuditLogs. Zapytanie 2 łączy tabele z obu światów, więc wymaga wspólnego obszaru roboczego. Progi, listy słów i listę hostów brzegowych dopasuj do własnego środowiska.

Jak odróżnić sygnał od szumu

Każde z powyższych zapytań w surowej postaci zwróci wyniki także w zdrowym środowisku. Różnica między detekcją a generatorem alertów polega na tym, co zrobisz z nimi dalej.

  • Wyliczaj rzadkość, nie obecność: usługi brzegowe i skracacze mają legalne zastosowania; alarmujące jest to, że domena pojawia się pierwszy raz i tylko u kilku odbiorców
  • Koreluj dwa światy: sam klik nie jest incydentem, samo logowanie też nie; para „klik, a po nim sesja z nowej sieci w ciągu pół godziny” już tak
  • Zbuduj inwentarz znanych aplikacji: bez listy zatwierdzonych identyfikatorów zapytanie o zgody zwróci integracje, które sam wdrożyłeś
  • Oddziel rolę zawodową od współdzielonego narzędzia: cały dział sprzedaży z tą samą wtyczką to wzorzec biznesowy; pięć niepowiązanych osób z tym samym rzadkim klientem to wzorzec ataku
  • Ustal, co jest normalne, zanim ustalisz, co jest podejrzane: dwa tygodnie baseline’u dla przepływów, aplikacji i sieci wyjściowych oszczędzają miesiące strojenia
  • Zapisuj decyzje o odrzuceniu: wyjątek bez daty przeglądu zamienia się w trwałą ślepą plamę

Profil celów: kogo afilianci wybierają najpierw

Platforma jest branżowo obojętna. Celem jest każda dzierżawa Microsoft 365. Wybór należy do afilianta i podąża za tym, co da się szybko spieniężyć albo odsprzedać. Dane rynkowe pokazują ten sam kierunek: wśród kampanii wymierzonych w jedną markę Microsoft i Office 365 odpowiadały za 21,4% ogłoszeń, ustępując tylko kryptowalutom z wynikiem 53,9%. Konto Microsoft 365 jest atrakcyjne nie samo w sobie, lecz jako klucz do korespondencji, plików i tożsamości w kolejnych systemach.

  • Usługi finansowe i księgowe: najkrótsza droga od przejętej skrzynki do zmiany numeru rachunku w trwającym wątku
  • Produkcja i logistyka: presja terminów, rozproszony łańcuch dostaw i korespondencja, w której faktura z załącznikiem nie budzi podejrzeń
  • Ochrona zdrowia: dane wrażliwe, wysoki koszt przestoju i regulacyjny zegar reakcji, który karze późną detekcję
  • Administracja i sektor publiczny: skrzynki wrażliwe politycznie i korespondencja podlegająca udostępnianiu na wniosek
  • Usługi profesjonalne i IT: jedno przejęcie daje uprzywilejowany wgląd w środowiska wielu klientów naraz
  • Edukacja i badania: duże populacje użytkowników, federacja tożsamości i słaby monitoring poza godzinami pracy

Kolejność na tej liście wynika z ekonomii, nie z podatności technicznej. Wszystkie te organizacje korzystają z tej samej platformy tożsamości i tych samych ustawień domyślnych. Różni je to, jak szybko przejęta skrzynka zamienia się w pieniądze.

Co zrobić, gdy wskaźnik się zapali

Pełną procedurę reagowania na przejęcie tokenu — z podziałem na role i ramy czasowe — opisujemy w runbooku przy analizie kampanii VENOM. Poniżej jest skrót decyzyjny dla dyżurnego analityka, zanim uruchomi pełną procedurę.

Pierwsze kroki po zapaleniu się wskaźnika
  • Potwierdź, że to sesja, a nie hasło: sprawdź, czy w oknie zdarzenia jest udane logowanie z nietypowej sieci; jeśli tak, reset hasła nie jest pierwszym krokiem
  • Unieważnij sesje i tokeny odświeżania: dla konkretnej tożsamości, nie dla całej dzierżawy; zapisz godzinę, bo to punkt odniesienia dla dalszej analizy
  • Sprawdź metody uwierzytelniania i urządzenia: usuń wszystko, co zarejestrowano po pierwszym podejrzanym logowaniu
  • Przejrzyj reguły skrzynki i przekierowania: także reguły wyłączone oraz te utworzone przez „użytkownika”, który w rzeczywistości jest aplikacją
  • Zbierz zakres dostępu: jakie pliki pobrano, jakie rozmowy odczytano, co wysłano na zewnątrz; to materiał do oceny obowiązku zgłoszenia
  • Sprawdź, kto jeszcze dostał tę samą wiadomość: kampania afiliacyjna rzadko celuje w jedną osobę
  • Zablokuj to, co przeżyje zmianę domeny: polityka dostępu warunkowego i inwentarz zatwierdzonych aplikacji działają dłużej niż jakakolwiek lista adresów

Ostatni punkt zamyka sprawę na dłużej niż tydzień. Rekomendacja z komunikatu FBI (polityka dostępu warunkowego blokująca device code flow, audyt dotychczasowego użycia tego przepływu i wyłączenie spod ograniczenia wyłącznie kont awaryjnych) nie zależy od tego, jak platforma będzie się nazywać w przyszłym kwartale.

Kluczowe wnioski

  • 1
    Nowy jest model, nie technika: nadużycie przepływu device code opisano wcześniej; zmieniło się to, że sprzedaje się je w abonamencie razem z panelem, szablonami i obsługą
  • 2
    Ostrzeżenie FBI ma datę 21 maja 2026 i numer I-052126-PSA: kierowane do ogółu odbiorców, bez listy wskaźników, za to z konkretną rekomendacją konfiguracyjną
  • 3
    Rynek nie mieszka w darknecie: 58,8% ogłoszeń o kitach pochodzi z forów w deep webie, a tylko 7,7% z dark webu
  • 4
    Atrybucja do nazwy kitu ma małą wartość. Wykrywaj strukturę i zachowanie: wiek domeny, powtarzalną ścieżkę URL, regułę ukrywającą alerty, zgodę dla nieznanej aplikacji
  • 5
    Spadł próg wejścia, więc spadł próg opłacalności celu: kampania przeciwko średniej firmie kosztuje afilianta tyle samo co przeciwko korporacji

Najczęstsze pytania

Czym różni się phishing-as-a-service od zwykłego kitu phishingowego?

Kit to kod, który napastnik musi sam wdrożyć, utrzymać i ukryć. Phishing-as-a-service to gotowa usługa: infrastrukturę, rotację domen, panel i wsparcie zapewnia operator, a klient wybiera cel i uruchamia kampanię. Różnica sprowadza się do tego, ile umiejętności technicznych trzeba mieć, żeby zacząć. W próbce 8 627 ogłoszeń zebranych przez Flare 54,1% dotyczyło już gotowych usług, a nie samego kodu.

Przed czym dokładnie ostrzegło FBI w sprawie Kali365?

Komunikat I-052126-PSA z 21 maja 2026 roku opisuje Kali365 jako platformę phishing-as-a-service zaobserwowaną po raz pierwszy w kwietniu 2026 roku i dystrybuowaną głównie przez Telegram. FBI wskazuje, że platforma pozwala przejąć tokeny dostępowe do Microsoft 365 i ominąć MFA bez przechwytywania danych logowania, a jako mitygację rekomenduje politykę dostępu warunkowego blokującą device code flow oraz audyt dotychczasowego użycia tego przepływu.

Czy MFA chroni przed atakiem prowadzonym z takiej platformy?

Nie w każdym wariancie. Przy nadużyciu przepływu device code ofiara przechodzi prawdziwe uwierzytelnienie na infrastrukturze dostawcy tożsamości, więc drugi składnik realizowany jest poprawnie i nie ma czego blokować. Metody odporne na phishing zamykają wariant z proxy, ale nie ten. Kontrolą, która działa na ten przepływ, jest polityka dostępu warunkowego. Różnicę między MFA odpornym na phishing a podatnym rozkładamy w analizie kampanii VENOM.

Czy zablokowanie adresów IP z advisory wystarczy?

Nie. Infrastruktura PhaaS rotuje domeny i adresy w cyklu dobowym, a przynęty coraz częściej stoją na współdzielonych usługach brzegowych, których nie da się zablokować w całości bez skutków ubocznych. Listy wskaźników mają wartość retrospektywną, czyli do przeszukania logów wstecz, a nie prewencyjną. Trwałe są kontrole po stronie dzierżawy i detekcje oparte na zachowaniu.

Jakie logi trzeba mieć, żeby w ogóle wykryć taką kampanię?

Minimum to logi logowań Microsoft Entra (interaktywne i nieinteraktywne), dziennik audytu Entra, aktywność Exchange Online, telemetria poczty z adresami URL z treści i załączników oraz zdarzenia kliknięć w linki. Bez logowań nieinteraktywnych nie zobaczysz odtwarzania tokenu, a bez dziennika audytu nie zobaczysz zgód dla aplikacji ani rejestracji nowych metod uwierzytelniania.

Czy takedowny platform PhaaS realnie coś zmieniają?

Zmieniają lokalnie i na jakiś czas. We wrześniu 2025 roku Microsoft Digital Crimes Unit razem z Cloudflare przejął 338 domen platformy RaccoonO365, a w marcu 2026 roku 330 domen platformy Tycoon 2FA w akcji koordynowanej w ramach programu Europolu. Klienci przenoszą się jednak do kolejnej platformy szybciej, niż aktualizują się reguły w bramkach pocztowych, więc traktuj takedowny jako miarę skali zjawiska, a nie jako element własnej ochrony.

Czy średnia firma naprawdę jest celem takiej kampanii?

Tak, i to jest właśnie zmiana wprowadzona przez model subskrypcyjny. Gdy koszt przygotowania kampanii jest w praktyce stały i niski, przestaje działać założenie, że napastnik zdolny do takiego ataku wybierze duży cel. Microsoft podaje, że 28% analizowanych naruszeń zaczyna się od phishingu lub socjotechniki, a CERT Polska zarejestrował w 2025 roku 78 391 incydentów phishingowych, czyli około 30% wszystkich zdarzeń w Polsce.

Od czego zacząć przy ograniczonym budżecie i małym zespole?

Od dwóch rzeczy, które nie wymagają nowych licencji: polityki dostępu warunkowego wyłączającej nieużywane przepływy uwierzytelniania oraz inwentarza aplikacji, którym wolno prosić o zgodę. Trzecim krokiem jest sprawdzenie, czy wymienione wyżej logi w ogóle są zbierane i jak długo. Dopiero potem ma sens rozbudowa detekcji, na przykład w modelu SOC-as-a-Service. Detekcja bez danych źródłowych jest pustym kosztem.

Podsumowanie

Ostrzeżenie FBI przed Kali365 jest warte uwagi nie z powodu tej jednej platformy, tylko z powodu tego, co jej istnienie mówi o rynku. Przejmowanie sesji przestało być umiejętnością, a stało się funkcją w cudzym panelu. Nie zmienia to stopnia trudności obrony, lecz liczbę organizacji, które muszą się nią zająć. Odpowiedzią nie jest kolejna lista wskaźników, tylko dwie decyzje konfiguracyjne, komplet logów i detekcje oparte na zachowaniu. Sam kanał dostarczenia pozostaje zwykłym phishingiem, który porządkujemy w przewodniku po rodzajach phishingu, a odporność zespołu sprawdzisz symulacjami socjotechnicznymi.

Kiedy atak staje się usługą, przestaje wybierać ofiary według trudności, a zaczyna według opłacalności. Dla obrońcy oznacza to, że pytanie „czy jesteśmy wystarczająco ciekawym celem” straciło sens. Liczy się to, czy widać u nas ślad, który zostawia po sobie klient gotowej platformy.

Źródła

  1. 1.
    Kali365 Phishing-as-a-Service Kit Hijacks Microsoft 365 Access Tokens (I-052126-PSA)
    FBI IC3 · 2026-05-21 · dostęp 2026-08-09
    Komunikat publiczny FBI I-052126-PSA: opis platformy, kanał dystrybucji, skutek ataku i rekomendowane mitygacje.
  2. 2.
    The Phishing Kits Economy in Cybercrime Markets
    Flare · 2026-01-15 · dostęp 2026-08-09
    Analiza 8 627 ogłoszeń o kitach phishingowych z forów, Telegrama, dark webu i źródeł otwartych, zebranych w ciągu roku.
  3. 3.
    Microsoft Digital Defense Report 2025
    Microsoft · 2025-10 · dostęp 2026-08-09
    Telemetria Microsoftu: wektory pierwszego dostępu, wzrost ataków na tożsamość i skuteczność phishingu wspieranego AI.
  4. 4.
    How Microsoft is tackling the cybercrime economy
    Microsoft · dostęp 2026-08-09
    Opis akcji Microsoft Digital Crimes Unit, w tym przejęcia domen platform RaccoonO365 i Tycoon 2FA.
  5. 5.
    International investigation disrupts phishing-as-a-service platform LabHost
    Europol · 2024-04 · dostęp 2026-08-09
    Komunikat Europolu o międzynarodowym śledztwie przeciwko platformie PhaaS sprzedawanej w abonamencie.
  6. 6.
    IOCTA 2026 — The evolving threat landscape: how encryption, proxies and AI are expanding cybercrime
    Europol · 2026-04-28 · dostęp 2026-08-09
    Coroczna ocena zagrożeń przestępczością internetową w UE; kontekst dla modelu przestępczości jako usługi.
  7. 7.
    Catching Phishers By Their Bait: Investigating the Dutch Phishing Landscape through Phishing Kit Detection
    30th USENIX Security Symposium · 2021-08 · dostęp 2026-08-09
    Badanie holenderskiego rynku kitów phishingowych: 70 zebranych kitów, 10 rodzin, wpływ gotowych narzędzi na próg wejścia.
  8. 8.
    Raport roczny z działalności CERT Polska w 2025 roku
    CERT Polska / NASK · 2026 · dostęp 2026-08-09
    Statystyka zgłoszeń i incydentów w Polsce za 2025 rok, w tym udział phishingu.
  9. 9.
    App consent grant investigation
    Microsoft · dostęp 2026-08-09
    Podręcznik reagowania na nadużycie zgód aplikacyjnych: nazwy operacji w dzienniku audytu i kroki analizy.
  10. 10.
    Configurable token lifetimes in the Microsoft identity platform
    Microsoft · 2026-04-08 · dostęp 2026-08-09
    Czasy życia tokenów w Microsoft Entra ID; źródło wartości 90 dni dla maksymalnego czasu bezczynności tokenu odświeżania.

Zobacz, co o Twojej organizacji krąży w kanałach przestępczych

Flare monitoruje fora w deep webie, kanały Telegram i rynki dark web pod kątem wycieków danych logowania, wzmianek o Twoich domenach i przygotowań do kampanii phishingowych.

Poznaj Flare

Porozmawiajmy
o bezpieczeństwie

Cyberzagrożenia nie śpią. Niezależnie czy potrzebujesz natychmiastowej reakcji na incydent, czy długoterminowej strategii, ZeroLayer jest w gotowości.

Umów 30-minutową rozmowę

Wybierz dogodny termin i porozmawiaj bezpośrednio z naszym zespołem bezpieczeństwa. Rozmowa o Twojej sytuacji, nie prezentacja sprzedażowa.