NIS2/KSC2 starter pack. Czy Twoja firma podlega pod regulację i co z tego wynika? Bezpłatne szkolenie od sekuraka

Konferencja Mega Sekurak Hacking Party w Krakowie – 26-27 października!

Fałszywe alerty Meta – jak atakujący wykorzystują wiarygodne usługi w phishingu

18 maja 2026, 13:48 | Aktualności | komentarze 2

Badacze z Guardio odkryli atak phishingowy na użytkowników Facebooka. A właściwie całą serię różnych ataków, w których sprytnie wykorzystano nieszkodliwe i wiarygodne narzędzia/usługi takie jak Netlify, Vercel, Canva i AppSheet.

TLDR:

  • Badacze z Guardio opisali kampanię phishingową wykorzystującą wiarygodne usługi do przejmowania kont Facebook.
  • Atakujący wysyłali maile przez Google AppSheet oraz korzystali z Netlify, Vercel, Google Drive i Telegram do hostowania stron phishingowych oraz eksfiltracji danych.
  • Kampania obejmowała fałszywe alerty Meta, weryfikację profilu i fałszywe oferty pracy.
  • Badacze powiązali część wariantów oszustwa z konkretną osobą na podstawie metadanych PDF oraz fragmentów kodu.
  • Szacowana liczba ofiar to co najmniej 30 tys. kont.

Wszystko zaczynało się od maila, którego otrzymało wielu właścicieli kont Facebook Business:

“Your Facebook account has been flagged for a policy violation. Case ID: 6480258166. Failure to respond within 24 hours will result in permanent disablement”

Wiadomość nie trafiała do spamu, miała poprawny SPF, DKIM i DMARC. A wszystko dlatego, że była wysłana z serwerów Google.

Rys. 1 – mail phishingowy, źródło: guard.io

Maile wysyłano z adresu noreply@appsheet.com. Podmieniana była jedynie nazwa nadawcy (Meta Support), dzięki czemu wszystkie pozostałe parametry wyglądały wiarygodnie a wiadomości trafiały do skrzynki odbiorczej ofiary zamiast do spamu.

Domena appsheet[.]com należy do usługi Google AppSheet, czyli platformy no-code do automatyzacji workflow i powiadomień. Programiści wykorzystują ją czasem do wysyłania alertów. W tym przypadku atakujący wykorzystali AppSheet do wysyłki maili phishingowych.

To, co początkowo wydawało się pojedynczą kampanią phishingową, okazało się czymś znacznie szerszym. Badacze w trakcie analizy kampanii odkryli cały “ekosystem” przejmowania kont Facebook, w ramach którego oprócz AppSheet korzystano z Netlify, Vercel, Google Drive i Telegram.

Przez AppSheet wysyłano maile z różnymi komunikatami. Badacze wyodrębnili z nich cztery grupy.

1. Facebook Help Center hostowany na Netlify

W pierwszym wariancie ofiary otrzymywały wiadomości z informacją o naruszeniu praw autorskich, problemach ze znakami towarowymi lub wyłączeniu konta. W mailu zawarty był także link do formularza odwołania, który miał na celu przejęcie konta.

Rys. 2 – strona phishingowa, źródło: guard.io

Atakujący nie poprzestali na pozyskaniu nazwy użytkownika i hasła. Zbierali też datę urodzenia, numer telefonu i zdjęcie dokumentu tożsamości – gromadząc zestaw danych umożliwiający np. skorzystanie z procedur odzyskiwania konta.

Ciekawy był również sposób wdrożenia. Zaobserwowano, że dla wielu ofiar wysyłane były unikalne subdomeny w Netlify (usługa do hostowania stron i aplikacji webowych), co pozwalało omijać listy blokad, ponieważ nie istniał jeden link rozsyłany wszystkim, a zablokowanie całej domeny uniemożliwiłoby wchodzenie na zwykłe (wiarygodne) strony hostowane na Netlify.

Badacze znaleźli również ślady wykorzystania przez atakujących narzędzia HTTrack (program do klonowania stron internetowych). Niektóre strony były klonowane z szablonów hostowanych na Vercel i ponownie wdrażane na Netlify. Sugeruje to, że w ramach kampanii uruchamianych było wiele odrębnych wersji u dwóch dostawców hostingu.

Początkowo dane były przesyłane do atakujących przez bota Telegram. Działo się to w JavaScript po stronie klienta (przeglądarki), a więc możliwe było podejrzenie tokenu bota. Nowsza wersja kampanii korzysta z Netlify Functions, komunikując się z endpointem /.netlify/functions/send, dzięki czemu w eksfiltracji pośredniczą serwery Netlify.

2. Fałszywa weryfikacja profilu

W drugim wariancie zastosowano inną taktykę. Zamiast wzbudzania w ofiarach strachu przed utratą konta, kuszono je nagrodą w postaci znaczka weryfikacji w profilu lub innymi benefitami.

Rys. 3 – fałszywa weryfikacja, źródło: guard.io

Maile brzmiały mniej jak ostrzeżenia, a bardziej jak zaproszenia, prowadząc ofiary do stron zatytułowanych jako “Security Check” lub “Meta | Privacy Center” i hostowanych na Vercel.

Strony wyglądały przekonująco. Wiele zaczynało się od weryfikacji captcha, aby wyglądać jak prawdziwy formularz sprawdzania konta. Następnie od użytkownika zbierane były dane kontaktowe, login i hasło (z wymuszonym ponowieniem próby – zapewne dla pewności, że ofiara podała właściwe hasło) oraz kody 2FA.

W tym wariancie atakujący byli bardziej ostrożni na etapie wysyłki maila. Nazwy nadawców były wypełnione niewidocznymi spacjami (Unicode hair space). W treści łamano słowa, aby utrudnić wykrycie przez szukanie wzorców w tekście.

3. Niby PDF, a jednak link

Trzeci wariant był jeszcze “ciekawszy”. Na pierwszy rzut oka e-mail wyglądał podobnie jak poprzednie. Ale zawarty w nim link nie prowadził bezpośrednio do strony phishingowej – był to odnośnik do pliku w Google Drive. 

Rys. 4 – PDF z fałszywym komunikatem, źródło: guard.io

Ofiara otwierała podgląd pliku PDF na Google Drive. W środku grafika stworzona w Canva udawała komunikat od Meta. Wyłudzanie danych zaczynało się, gdy ofiara kliknęła link zawarty w tym pliku.

Ten wariant dawał atakującym coś, czego nie było w poprzednich falach. Strona komunikowała się z serwerem w sposób ciągły (WebSocket). Oprócz zbierania haseł, kodów 2FA, zdjęć dokumentów tożsamości możliwe było także wykonanie “zrzutu ekranu” strony w przeglądarce ofiary (html2canvas). Ale co ważniejsze, atakujący mógł na bieżąco sterować atakiem – decydując, co ofiara zobaczy w kolejnym kroku.

Możliwe było więc testowanie wprowadzanych przez ofiarę danych logowania, żądanie ponownego wpisania lub dodatkowych kroków, co zwiększało szanse na przejęcie konta także przy błędnych danych / dodatkowych etapach uwierzytelniania.

4. Fałszywa oferta pracy

Ostatni wariant wydawał się prostszy, ale stosował inną socjotechnikę. Atakujący podszywali się pod rekruterów z WhatsApp, Meta, Adobe, Pinterest, Apple, Coca-Cola i Threads. Jednak zamiast kierować ofiary na stronę phishingową, dążyli do interakcji, zwykle prosząc o dołączenie do rozmowy lub kontynuowanie procesu poza platformą.

Rys. 5 – mail z fałszywą ofertą pracy, źródło: guard.io

Ale był jeszcze jeden sygnał, który pozwolił przypisać wiele wiadomości do jednej kampanii – znajdował się on w nazwie nadawcy. Znaki w nazwach marek zastępowano homoglifami, co czyniło je wizualnie identycznymi dla człowieka, ale trudniejszymi do wykrycia przez systemy wyszukujące ciągi znaków.

Rys. 6 – homoglify zamiast standardowych liter, źródło: guard.io

Tutaj sam atak jest trudniejszy do analizy i wykrycia, ponieważ przebiega stopniowo. Jeśli wiadomość wzbudzi wystarczające zaufanie u ofiary, atakujący będzie mógł prowadzić ją przez kolejne kroki. O tym, jak może przebiegać taka fałszywa rekrutacja pisaliśmy m.in. tutaj.

Boty Telegram

Pierwszym wspólnym wzorcem pozwalającym zidentyfikować zbiór ataków w ramach całej kampanii był AppSheet. Natomiast w pierwszym i drugim wariancie (groźba zamknięcia konta oraz fałszywa weryfikacja) powtarzalny był jeszcze jeden element – boty Telegram.

Dane ofiar przesyłane były do kanałów atakującego, dzięki czemu możliwe było podglądanie ich w czasie rzeczywistym i szybkie działanie (logowanie z użyciem pozyskanych poświadczeń).

Rys. 7 – przykładowe wiadomości do kanału atakujących, źródło: guard.io

Strony phishingowe hostowane na Vercel wykorzystywały pliki JavaScript, w których zaciemniono nazwy zmiennych, zapewne aby trudniej było znaleźć tokeny botów i identyfikatory konwersacji Telegram.

const CONFIG = {  ‘\x54\x45\x4c\x45\x47\x52\x41\x4d\x5f\x42\x4f\x54\x5f\x54\x4f\x4b\x45\x4e’: const CONFIG = {
  ‘\x54\x45\x4c\x45\x47\x52\x41\x4d\x5f\x42\x4f\x54\x5f\x54\x4f\x4b\x45\x4e’: a0_0x33cef0(0x13d),
  // “TELEGRAM_BOT_TOKEN” (hex decoded)
  ‘\x54\x45\x4c\x45\x47\x52\x41\x4d\x5f\x43\x48\x41\x54\x5f\x49\x44’: ‘-100368*******’,
  ‘\x53\x45\x43\x52\x45\x54\x5f\x4b\x45\x59’: ‘QJXP************’,
};

Listing 1 – fragment kodu z zaciemnionymi zmiennymi, źródło: guard.io

Badacze zdeobfuskowali jednak ten kod i zidentyfikowali cztery boty powiązane z phishingowymi stronami – jeden z nich został już wycofany, ale dwa inne się wyróżniały.

Pierwszy to @haixuancau_bot (“VT張太海宣VT”). Jego nazwa łączy wietnamskie inicjały z chińskimi znakami używanymi fonetycznie.

Drugi z botów –  @globalglobalglobalbot_bot – został nazwany jako 𝓢𝓒𝓐𝓝_𝓥𝓘𝓟𝓟𝓡𝓞. Ta specyficzna nazwa miała znaczenie. Ten sam zestaw znaków Unicode pojawił się w jednym ze zidentyfikowanych przez badaczy maili.

Rys. 8 – boty wykorzystywane do eksfiltracji poświadczeń, źródło: guard.io

Sprawdzenie kanałów pozwoliło wyodrębnić dwie powtarzające się tożsamości: Big Bosss i @mansinblack. Oba te konta miały dostęp administracyjny do kanałów odbierających skradzione dane. Tworzy to powiązanie między atakami phishingowymi a osobami aktywnie monitorującymi wyniki.

Badacze oszacowali liczbę rekordów dotyczących ofiar ataków na ok. 30 tysięcy. Jednak podczas analizy wciąż pojawiały się nowe – nie były to więc tylko dane historyczne, lecz aktywna, trwająca operacja.

‍Atrybucja kampanii

Pierwszą wskazówkę odnośnie autorów zamieszania badacze znaleźli we wspomnianym pliku PDF na Google Drive. Oprócz informacji, że został wygenerowany w Canva, jego metadane zawierały także nazwę użytkownika, który go stworzył. Było to wietnamskie imię i nazwisko “PHẠM TÀI TÂN”.

Rys. 9 – imię i nazwisko w metadanych, źródło: guard.io

Badacze znaleźli profil na Facebooku oraz stronę internetową osoby o takich personaliach. Co ciekawe, oferowała ona usługi związane z Facebookiem, w tym odblokowywanie kont i pomoc w zakresie bezpieczeństwa. Interesujący zbieg okoliczności…

Rys. 10 – zidentyfikowany profil na Facebooku, źródło: guard.io

Badacze z Guardio przypuszczają, że to właśnie dlatego w ramach phishingu zbierano także informacje przydatne do odzyskiwania konta – mogą one zostać wykorzystane w płatnej usłudze odzyskania dostępu.

Pierwsze trzy warianty mają kilka wspólnych elementów (np. fragmenty kodu w języku wietnamskim, pokrywająca się infrastruktura), które pozwalają przypuszczalnie powiązać je z autorem pliku PDF.

Ostatni wariant korzysta z tego samego mechanizmu dostarczania wiadomości, ale z racji braku bezpośrednich linków do stron phishingowych nie jest możliwe sprawdzenie elementów wspólnych na etapie wyłudzania danych logowania. Całość może być częścią tej samej operacji, ale równie dobrze inny atakujący może używać tej samej techniki.

W przypadku tego typu maili (np. ostrzeżenie o aktywności na koncie, prośba o potwierdzenie bądź inne działanie) zdecydowanie nie należy wpisywać swoich danych logowania na stronie z zamieszczonego w wiadomości linku. Najlepszym sposobem będzie ręczne otwarcie strony (nie przez link z maila), zalogowanie się na niej i zweryfikowanie, czy faktycznie wymagane jest jakieś działanie.

Warto korzystać z menedżera haseł, który przy odpowiedniej konfiguracji nie uzupełni formularza logowania na fałszywej stronie. Polecamy także korzystać z uwierzytelniania dwuetapowego, najlepiej przez klucz sprzętowy. Opisywana kampania omijała standardowe (oparte o przepisywanie kodu z aplikacji/SMS) 2FA prezentując użytkownikom prośbę o wpisanie kodu, który trafiał do atakujących umożliwiając im zalogowanie się na konto.

Klucz sprzętowy – najprościej mówiąc – wiąże poświadczenia z konkretną domeną, więc nie będzie możliwe przechwycenie ich przez fałszywą stronę. Przykładowo, jako drugi etap logowania dla Facebooka, zadziała on tylko w domenie facebook[.]com i tak samo będzie dla innych usług.

IOC

Strony na Netlify:

  • https[:]//nammoi2bnewyer[.]netlify[.]app
  • https[:]//incomparable-otter-61efbb[.]netlify[.]app
  • https[:]//magical-malabi-ec587a[.]netlify[.]app
  • https[:]//kaleidoscopic-youtiao-5e7b9e[.]netlify[.]app
  • https[:]//neon-zabaione-4c8494[.]netlify[.]app
  • https[:]//melodic-lebkuchen-9daf83[.]netlify[.]app
  • https[:]//magenta-granita-bdfa90[.]netlify[.]app
  • https[:]//tranquil-basbousa-0d24ed[.]netlify[.]app
  • https[:]//loquacious-starburst-d9a91e[.]netlify[.]app
  • https[:]//adorable-kheer-028a6f[.]netlify[.]app
  • https[:]//melodic-smakager-a2ef78[.]netlify[.]app
  • https[:]//tiny-kelpie-b9e835[.]netlify[.]app
  • https[:]//classy-treacle-731cfd[.]netlify[.]app
  • https[:]//courageous-seahorse-e3da15[.]netlify[.]app
  • https[:]//heroic-tarsier-be3643[.]netlify[.]app
  • https[:]//gregarious-flan-5135c9[.]netlify[.]app
  • https[:]//quiet-liger-f19f43[.]netlify[.]app
  • https[:]//jazzy-pixie-6e536e[.]netlify[.]app
  • https[:]//soft-crumble-b64e31[.]netlify[.]app
  • https[:]//roaring-crepe-63dc91[.]netlify[.]app
  • https[:]//gorgeous-dodol-df7959[.]netlify[.]app
  • https[:]//effervescent-horse-9f123e[.]netlify[.]app
  • https[:]//glistening-bublanina-62beaa[.]netlify[.]app
  • https[:]//delicate-sunshine-eb1f86[.]netlify[.]app
  • https[:]//starlit-bienenstitch-3bb17d[.]netlify[.]app

Strony na Vercel:

  • https[:]//h22a6ev34i-064ddfc747[.]vercel[.]app
  • https[:]//3jgq759wnd-bc592a5ce4[.]vercel[.]app
  • https[:]//4wxaghebok-10b01c9f86[.]vercel[.]app
  • https[:]//dhx33sb5so-564d88b6cd[.]vercel[.]app
  • https[:]//id09ewyodo-b4f17d4da8[.]vercel[.]app
  • https[:]//vxfg8h5f41-ffa279e45a[.]vercel[.]app
  • https[:]//9v21kpz0u8-959533e567[.]vercel[.]app
  • https[:]//1vw2ixjrti-3e9b5281ce[.]vercel[.]app
  • https[:]//jd8rxwmgwh-0735eebe2f[.]vercel[.]app
  • https[:]//vy6w6itqm8-2996498a9e[.]vercel[.]app
  • https[:]//msjprqs3jx-2c59da0405[.]vercel[.]app
  • https[:]//0kqj4h2pgv-adcf79cfa0[.]vercel[.]app
  • https[:]//exo5fnd4ho-56848d8c13[.]vercel[.]app
  • https[:]//e41pul71wi-0880265f81[.]vercel[.]app
  • https[:]//wnyqc5k66u-21f44bc213[.]vercel[.]app
  • https[:]//v0-northstar-cloud-landing-page[.]vercel[.]app

Google Drive:

  • https[:]//drive[.]google[.]com/file/d/18xr8p05iNDQuDfDxHchHx24p2854H2eo
  • https[:]//drive[.]google[.]com/file/d/1R1XIwXGtZ4GrC2m0SP79mguS5NxZjl_R

Linki Shorten.tv:

  • https[:]//shorten[.]tv/NvII9
  • https[:]//shorten[.]tv/facebook-meta-password_and_security_change-pass

Domeny przypisane do atakującego przez badaczy:

  • phamtaitan[.]vn
  • dichvufbgiare[.]com

Inne domeny zawarte w mailach:

  • wajobfocus[.]com
  • ExecutiveTeamtalent[.]com
  • meetpinterestrecruiters[.]com
  • mtarecruitglobal[.]com
  • adobejobexplorer[.]com
  • futureadobeworks[.]com
  • adobecareerstrategy[.]com
  • talentresourceadobe[.]com
  • mtaworkmatch[.]com
  • mtaworkfuture[.]com
  • mtacareercommunity[.]com
  • applejobcareer[.]com
  • careercommunitycola[.]com
  • hiringcontactpinterest[.]com
  • jobseekermatchingmt[.]com
  • wajobspot[.]com
  • jobchannelpinteres[.]com
  • page-deleted[.]metaverifiedprofilepage[.]com
  • metaverifiedprofilepage[.]com
  • deleted[.]protechpagemeta[.]com

Adresy e-mail:

  • noreply@appsheet[.]com (adres usługi AppSheet)
  • phamtaitanads@gmail[.]com

Źródło: guard.io

~Tymoteusz Jóźwiak

Spodobał Ci się wpis? Podziel się nim ze znajomymi:



Komentarze

  1. Mavik

    Tego typu ataki kilka kat temu nie kwalifikowały się do programu vrp google. Wg. nich to ataki typu abuse gdzie nie jest to luka u nich tylko ktoś wykorzystuje ich infra do ataków.

    Odpowiedz
  2. Michał

    Potwierdzam, mam stronę firmową na Facebooku i ostatnio była plaga maili wysyłanych z domeny appsheet phishingowych, nawet po kilka maili dziennie, więc wydaje mi się że oprócz pana Wietnamczyka ktoś jeszcze podłapał ten schemat. Ogólnie ilość spamu w meta jest masakryczna, maile i wiadomości na konto firmowe z kont typu “Meta AI”

    Odpowiedz

Odpowiedz