Fałszywa strona CleanMyMac instaluje SHub Stealer i backdoory do portfeli kryptowalutowych

| 6 marca 2026 r.
Fałszywa strona CleanMyMac pobiera program kradnący informacje

Przekonująca fałszywa wersja popularnego Mac CleanMyMac dla Mac nakłania użytkowników do zainstalowania złośliwego oprogramowania.

Witryna instruuje odwiedzających, aby wkleili polecenie do terminala. Jeśli to zrobią, zainstaluje się SHub Stealer, złośliwe oprogramowanie dla systemu macOS przeznaczone do kradzieży poufnych danych, w tym zapisanych haseł, danych przeglądarki, zawartości pęku kluczy Apple, portfeli kryptowalutowych i sesji Telegramu. Może nawet modyfikować aplikacje portfela, takie jak Exodus, Atomic Wallet, Ledger Wallet i Ledger Live, aby atakujący mogli później wykraść frazę odzyskiwania portfela.

Witryna podszywa się pod stronę CleanMyMac, ale nie ma żadnego związku z legalnym oprogramowaniem ani jego twórcami, firmą MacPaw.

Pamiętaj: legalne aplikacje prawie nigdy nie wymagają wklejania poleceń do Terminala w celu ich zainstalowania. Jeśli strona internetowa wymaga tego od Ciebie, potraktuj to jako poważny sygnał ostrzegawczy i nie kontynuuj. W razie wątpliwości pobieraj oprogramowanie wyłącznie z oficjalnej strony internetowej producenta lub ze sklepu App Store.

Przeczytaj szczegółową analizę, aby dowiedzieć się, co odkryliśmy.

Fałszywa strona internetowa podszywająca się pod CleanMyMac, która następnie instaluje program SHub Stealer.

„Otwórz terminal i wklej następujące polecenie”

Atak rozpoczyna się na stronie cleanmymacos[.]org, która została zaprojektowana tak, aby wyglądała jak prawdziwa strona produktu CleanMyMac. Odwiedzającym wyświetlana jest opcja instalacji zaawansowanej, takiej jakiej mógłby oczekiwać zaawansowany użytkownik. Strona instruuje ich, aby otworzyli Terminal, wkleili polecenie i nacisnęli klawisz Return. Nie ma monitu o pobranie, obrazu dysku ani okna dialogowego zabezpieczeń.

To polecenie wykonuje trzy czynności w krótkich odstępach czasu:

  • Najpierw wyświetla uspokajający komunikat: macOS-CleanMyMac-App: https://macpaw.com/cleanmymac/us/app aby wyjście terminala wyglądało na autentyczne.
  • Następnie dekoduje link zakodowany w base64, który ukrywa rzeczywisty adres docelowy.
  • Na koniec pobiera skrypt powłoki z serwera atakującego i przekazuje go bezpośrednio do zsh do natychmiastowego wykonania.

Z punktu widzenia użytkownika nie dzieje się nic niezwykłego.

Technika ta, znana jako ClickFix, stała się powszechną metodą dostarczania Mac na Mac . Zamiast wykorzystywać lukę w zabezpieczeniach, nakłania ona użytkownika do samodzielnego uruchomienia złośliwego oprogramowania. Ponieważ polecenie jest wykonywane dobrowolnie, zabezpieczenia takie jak Gatekeeper, kontrole notarialne i XProtect zapewniają niewielką ochronę po wklejeniu polecenia i naciśnięciu klawisza Return.

Fałszywa strona internetowa CleanMyMac instruuje użytkownika, aby otworzył Terminal i wkleił polecenie.

Geofencing: Nie każdy otrzymuje ładunek

Pierwszy skrypt, który trafia na komputer Mac ofiary, Mac program ładujący, czyli niewielki program, który sprawdza system przed kontynuowaniem ataku.

Jednym z pierwszych sprawdzanych elementów są ustawienia klawiatury systemu macOS, aby sprawdzić, czy zainstalowana jest klawiatura rosyjska. Jeśli tak, złośliwe oprogramowanie wysyła cis_blocked zdarzenie do serwera atakującego i kończy działanie bez wykonywania żadnych innych czynności.

Jest to forma geofencingu. Złośliwe oprogramowanie powiązane z rosyjskojęzycznymi grupami cyberprzestępczymi często unika infekowania komputerów, które wydają się należeć do użytkowników z krajów WNP (Wspólnoty Niepodległych Państw, w skład której wchodzi Rosja i kilka sąsiednich krajów). Unikając systemów, które wydają się należeć do rosyjskich użytkowników, atakujący zmniejszają ryzyko zwrócenia na siebie uwagi lokalnych organów ścigania.

Zachowanie to nie dowodzi, gdzie opracowano SHub, ale jest zgodne z wzorcem od dawna obserwowanym w tym ekosystemie, gdzie złośliwe oprogramowanie jest skonfigurowane tak, aby nie infekować systemów w regionie operatorów.

Wykrywaj CIS i blokuj za pomocą telemetrii

Jeśli system przejdzie tę kontrolę, program ładujący wysyła profil urządzenia do serwera dowodzenia i kontroli pod adresem res2erch-sl0ut[.]com. Raport zawiera zewnętrzny adres IP urządzenia, nazwę hosta, wersję systemu macOS oraz ustawienia regionalne klawiatury.

Każdy raport jest oznaczony unikalnym skrótem kompilacji, 32-znakowym identyfikatorem, który pełni funkcję identyfikatora śledzenia. Ten sam identyfikator pojawia się w późniejszej komunikacji z serwerem, umożliwiając operatorom powiązanie aktywności z konkretną ofiarą lub kampanią.

„Preferencje systemowe wymagają podania hasła, aby kontynuować”.

Porównanie ładunków obsługiwanych z i bez skrótu kompilacji ujawnia kolejne pole na poziomie kampanii w kreatorze złośliwego oprogramowania: BUILD_NAME. W próbce powiązanej z skrótem kompilacji wartość jest ustawiona na PAds; w wersji bez znaku hash pole jest puste. Wartość jest osadzona w skrypcie heartbeat złośliwego oprogramowania i wysyłana do serwera dowodzenia i kontroli (C2) podczas każdego sprawdzania sygnału nawigacyjnego wraz z identyfikatorem bota i identyfikatorem kompilacji.

Co PAds nie można potwierdzić na podstawie samego ładunku, ale jego struktura odpowiada rodzajowi tagu źródła ruchu powszechnie stosowanego w kampaniach reklamowych lub kampaniach typu „pay-per-install” w celu śledzenia źródła infekcji. Jeśli ta interpretacja jest prawidłowa, sugeruje to, że ofiary mogą trafiać na fałszywą stronę CleanMyMac poprzez płatne reklamy, a nie poprzez wyniki wyszukiwania lub bezpośrednie linki.

Po potwierdzeniu przez program ładujący, że cel jest wykonalny, pobiera on i uruchamia główny ładunek: skrypt AppleScript umieszczony na stronie res2erch-sl0ut[.]com/debug/payload.applescriptAppleScript to wbudowany język automatyzacji firmy Apple, który umożliwia złośliwemu oprogramowaniu interakcję z systemem macOS przy użyciu legalnych funkcji systemowych. Pierwszą czynnością jest zamknięcie okna terminala, które je uruchomiło, usuwając w ten sposób najbardziej oczywisty ślad tego, co się wydarzyło.

Następnie następuje zbieranie haseł. Skrypt wyświetla okno dialogowe, które bardzo przypomina prawdziwe okno systemu macOS. Tytuł brzmi „Preferencje systemowe”, w oknie widoczna jest ikona kłódki Apple, a komunikat brzmi:

Niewłaściwe sformułowanie — „for continue” zamiast „to continue” — jest jedną z wskazówek, że komunikat jest fałszywy, choć wielu użytkowników pod presją może tego nie zauważyć.

„Wymagany program pomocniczy. Wprowadź hasło, aby kontynuować”.

Jeśli użytkownik wprowadzi swoje hasło, złośliwe oprogramowanie natychmiast sprawdza, czy jest ono poprawne, korzystając z narzędzia wiersza poleceń systemu macOS. dscl. Jeśli hasło jest nieprawidłowe, zostanie ono zarejestrowane, a monit pojawi się ponownie. Skrypt będzie powtarzał monit maksymalnie dziesięć razy, aż do wprowadzenia prawidłowego hasła lub wyczerpania limitu prób.

Hasło to jest cenne, ponieważ odblokowuje pęk kluczy macOS, czyli szyfrowany system przechowywania zapisanych haseł, danych uwierzytelniających Wi-Fi, tokenów aplikacji i kluczy prywatnych firmy Apple. Bez hasła logowania baza danych pęku kluczy jest tylko zaszyfrowanymi danymi. Dzięki niemu zawartość można odszyfrować i odczytać.

Systematyczne przeszukiwanie wszystkiego, co warto ukraść

Mając hasło, SHub rozpoczyna systematyczne przeszukiwanie komputera. Wszystkie zebrane dane są umieszczane w tymczasowym folderze o losowej nazwie — coś w rodzaju /tmp/shub_4823917/—przed zapakowaniem i wysłaniem do atakujących.

Przeglądarka ma szerokie możliwości targetowania. SHub przeszukuje 14 przeglądarek opartych na Chromium (Chrome, Brave, Edge, Opera, OperaGX, Vivaldi, Arc, Sidekick, Orion, Coccoc, Chrome , Chrome , Chrome i Chromium), kradnąc zapisane hasła, pliki cookie i dane autouzupełniania z każdego znalezionego profilu. Firefox podlega takim samym działaniom w odniesieniu do przechowywanych danych uwierzytelniających.

Złośliwe oprogramowanie skanuje również zainstalowane rozszerzenia przeglądarki, szukając 102 znanych rozszerzeń portfeli kryptowalutowych na podstawie ich wewnętrznych identyfikatorów. Należą do nich MetaMask, Phantom, Coinbase Wallet, Exodus Web3, Trust Wallet, Keplr i wiele innych.

Aplikacje portfeli desktopowych również są objęte programem. SHub gromadzi dane z lokalnej pamięci 23 aplikacji portfeli, w tym Exodus, Electrum, Atomic Wallet, Guarda, Coinomi, Sparrow, Wasabi, Bitcoin Core, Monero, Litecoin Core, Dogecoin Core, BlueWallet, Ledger Live, Ledger Wallet, Trezor Suite, Binance i TON Keeper. Każdy folder portfela ma limit 100 MB, aby archiwum było łatwe w zarządzaniu.

Oprócz portfeli i przeglądarek SHub przechwytuje również katalog macOS Keychain, dane konta iCloud, pliki cookie Safari i dane przeglądania, bazy danych Apple Notes oraz pliki sesji Telegram — informacje, które mogą umożliwić atakującym przejęcie kont bez znajomości haseł.

Kopiuje również pliki historii powłoki (.zsh_history oraz .bash_history) oraz .gitconfig, które często zawierają klucze API lub tokeny uwierzytelniające używane przez programistów.

Wszystkie te dane są kompresowane do archiwum ZIP i przesyłane do res2erch-sl0ut[.]com/gate wraz z zakodowanym na stałe kluczem API identyfikującym wersję złośliwego oprogramowania. Archiwum i pliki tymczasowe są następnie usuwane, pozostawiając minimalne ślady w systemie.

Zrzut ekranu z głównego wykonania debugowania

Część, która nadal kradnie po tym, jak posprzątałeś

Większość programów typu infostealer działa na zasadzie „włamania i kradzieży”: uruchamiają się raz, zabierają wszystko i znikają. SHub działa w ten sam sposób, ale idzie o krok dalej.

Jeśli wykryje zainstalowane aplikacje portfela, pobiera z serwera atakującego plik zastępujący główny plik logiczny aplikacji i wymienia go w sposób niezauważalny. Odzyskaliśmy i przeanalizowaliśmy pięć takich plików zastępczych. Wszystkie pięć zawierało tylne drzwi, a każdy z nich był dostosowany do architektury docelowej aplikacji.

Celem są aplikacje oparte na Electron. Są to aplikacje desktopowe oparte na technologiach internetowych, których podstawowa logika znajduje się w pliku o nazwie app.asar. SHub zabija uruchomioną aplikację i pobiera zamiennik. app.asar z serwera C2, nadpisuje oryginał w pakiecie aplikacji, usuwa podpis kodu i ponownie podpisuje aplikację, aby system macOS ją zaakceptował. Proces ten przebiega w tle i jest niewidoczny dla użytkownika.

Pięć potwierdzonych aplikacji portfela kryptowalutowego to Exodus, Atomic Wallet, Ledger Wallet, Ledger Live i Trezor Suite.

Exodus: cicha kradzież danych uwierzytelniających przy każdym odblokowaniu

Przy każdym odblokowaniu portfela zmodyfikowana aplikacja po cichu wysyła hasło użytkownika i frazę seed do wallets-gate[.]io/api/injectionDo filtra sieciowego dodano jednokrotne obejście, aby umożliwić przejście żądania przez listę dozwolonych domen Exodus.

Portfel Atomic: ta sama eksfiltracja, nie wymaga obejścia zabezpieczeń

Przy każdym odblokowaniu zmodyfikowana aplikacja wysyła hasło użytkownika i mnemonik do wallets-gate[.]io/api/injectionNie jest wymagane obejście filtra sieciowego — polityka bezpieczeństwa treści Atomic Wallet już zezwala na wychodzące połączenia HTTPS do dowolnej domeny.

Portfel Ledger: obejście protokołu TLS i fałszywy kreator odzyskiwania

Zmodyfikowana aplikacja wyłącza sprawdzanie certyfikatu TLS podczas uruchamiania. Pięć sekund po uruchomieniu zastępuje interfejs fałszywym, trzystronicowym kreatorem odzyskiwania, który prosi użytkownika o podanie frazy seed i wysyła ją do wallets-gate[.]io/api/injection.

Ledger Live: identyczne modyfikacje

Ledger Live otrzymuje te same modyfikacje co portfel Ledger: walidacja TLS jest wyłączona, a użytkownikowi wyświetla się ten sam fałszywy kreator odzyskiwania.

Trezor Suite: fałszywa nakładka aktualizacji zabezpieczeń

Po załadowaniu aplikacji pojawia się pełnoekranowa nakładka stylizowana na interfejs Trezor Suite, przedstawiająca fałszywą krytyczną aktualizację zabezpieczeń, która prosi użytkownika o podanie frazy seed. Fraza jest weryfikowana przy użyciu własnej biblioteki BIP39 aplikacji przed wysłaniem do wallets-gate[.]io/api/injection.

Jednocześnie mechanizm aktualizacji aplikacji jest wyłączony poprzez przechwytywanie magazynu Redux, dzięki czemu zmodyfikowana wersja pozostaje na swoim miejscu.

Pięć portfeli, jeden punkt końcowy, jeden operator

We wszystkich pięciu zmodyfikowanych aplikacjach infrastruktura eksfiltracji jest identyczna: ta sama wallets-gate[.]io/api/injection punkt końcowy, ten sam klucz API i ten sam identyfikator kompilacji.

Każde żądanie zawiera pole identyfikujące portfel źródłowy —exodus, atomic, ledger, ledger_livelub trezor_suite—umożliwiając zapleczu kierowanie przychodzących poświadczeń według produktu.

Ta spójność między pięcioma niezależnie zmodyfikowanymi aplikacjami wyraźnie sugeruje, że wszystkie tylne drzwi zostały stworzone przez jednego operatora w oparciu o tę samą infrastrukturę zaplecza.

Zrzut ekranu przedstawiający kod programu kradnącego dane.

Trwała furtka ukryta pod postacią własnej usługi aktualizacyjnej Google

Aby zapewnić długoterminowy dostęp, SHub instaluje LaunchAgent, czyli zadanie działające w tle, które system macOS uruchamia automatycznie przy każdym logowaniu użytkownika. Plik znajduje się w lokalizacji:

~/Library/LaunchAgents/com.google.keystone.agent.plist

Lokalizacja i nazwa zostały wybrane tak, aby naśladować legalną aktualizację Keystone firmy Google. Zadanie jest wykonywane co sześćdziesiąt sekund.

Za każdym razem, gdy jest uruchamiany, uruchamia ukryty skrypt bash znajdujący się w lokalizacji:

~/Library/Application Support/Google/GoogleUpdate.app/Contents/MacOS/GoogleUpdate

Skrypt pobiera unikalny identyfikator sprzętu z komputera Mac IOPlatformUUID) i wysyła go do serwera atakującego jako identyfikator bota. Serwer może odpowiedzieć poleceniami zakodowanymi w base64, które skrypt dekoduje, wykonuje, a następnie usuwa.

W praktyce daje to atakującym możliwość uruchamiania poleceń na zainfekowanym komputerze Mac dowolnym momencie, dopóki mechanizm utrzymywania się nie zostanie wykryty i usunięty.

Ostatnim krokiem jest wyświetlenie użytkownikowi fałszywego komunikatu o błędzie:

„Twój Mac nie obsługuje tej aplikacji. Spróbuj ponownie zainstalować lub pobrać wersję dla swojego systemu”.

To wyjaśnia, dlaczego program CleanMyMac wydawał się nie instalować i wysyła ofiarę do rozwiązania problemu, który w rzeczywistości nie istnieje.

Miejsce SHub w rosnącej rodzinie Mac

SHub nie jest odosobnionym przypadkiem. Należy do szybko ewoluującej rodzinyprogramów typu infostealer dla systemu macOS opartych na AppleScript, w tym kampanii takich jak MacSync Stealer (rozszerzona wersja złośliwego oprogramowania znanego jako Mac.c, po raz pierwszy zaobserwowanego w kwietniu 2025 r.) i Odyssey Stealer, i ma cechy wspólne z innymi programami typu credential stealer, takimi jak Atomic Stealer.

Rodziny te mają podobną strukturę: łańcuch dostaw ClickFix, ładunek AppleScript, fałszywe okno dialogowe z prośbą o podanie hasła w Preferencjach systemowych, rekurencyjne funkcje gromadzenia danych oraz eksfiltrację poprzez archiwum ZIP przesłane na serwer dowodzenia i kontroli.

To, co wyróżnia SHub, to zaawansowana infrastruktura. Funkcje takie jak tworzenie skrótów dla poszczególnych ofiar w celu śledzenia kampanii, szczegółowe kierowanie ataków na portfele, backdooring aplikacji portfela oraz system heartbeat umożliwiający zdalne uruchamianie poleceń sugerują, że autor dokładnie przestudiował wcześniejsze warianty i zainwestował znaczne środki w ich rozbudowę. Efekt przypomina raczej platformę typu malware-as-a-service niż prosty program do kradzieży informacji.

Obecność DEBUG Tag w wewnętrznym identyfikatorze złośliwego oprogramowania wraz ze szczegółowymi danymi telemetrycznymi wysyłanymi podczas wykonywania sugeruje, że w momencie analizy twórca nadal aktywnie pracował nad tym oprogramowaniem.

Kampania ta wpisuje się również w szerszy schemat ataków polegających na podszywaniu się pod marki. Badacze udokumentowali podobne kampanie ClickFix podszywające się pod repozytoria GitHub, Google Meet, platformy komunikacyjne i inne narzędzia programowe, z których każda miała na celu przekonanie użytkowników, że postępują zgodnie z legalnymi instrukcjami instalacji. Witryna cleanmymacos.org wydaje się działać według tego samego schematu, wykorzystując jako przynętę dobrze znane Mac .

Co zrobić, jeśli możesz być narażony na ryzyko

Najskuteczniejszą częścią tego ataku jest również jego najprostsza część: przekonuje ofiarę do samodzielnego uruchomienia złośliwego polecenia.

Przedstawiając polecenie terminala jako legalny etap instalacji, kampania omija wiele wbudowanych zabezpieczeń systemu macOS. Nie jest wymagane pobieranie aplikacji, nie otwiera się obraz dysku i nie pojawia się żadne oczywiste ostrzeżenie dotyczące bezpieczeństwa. Użytkownik po prostu wkleja polecenie i naciska klawisz Return.

Odzwierciedla to szerszy trend: system macOS staje się coraz bardziej atrakcyjnym celem, a narzędzia wykorzystywane przez atakujących są coraz bardziej zaawansowane i profesjonalne. SHub Stealer, nawet w obecnej postaci, stanowi krok naprzód w stosunku do wielu wcześniejszych programów do kradzieży informacji z systemu macOS.

Dla większości użytkowników najbezpieczniejsza zasada jest jednocześnie najprostsza: instaluj oprogramowanie wyłącznie ze sklepu App Store lub oficjalnej strony internetowej producenta. Sklep App Store automatycznie zajmuje się instalacją, więc nie ma potrzeby używania poleceń terminala, zgadywania ani podejmowania decyzji, czy zaufać przypadkowej stronie internetowej.

  • Nie uruchamiaj polecenia. Jeśli nie wykonałeś jeszcze polecenia terminala wyświetlonego na stronie cleanmymacos[.]org lub podobnej stronie, zamknij stronę i nie wracaj na nią.
  • Sprawdź, czy agent trwałości jest aktywny. Otwarty Wyszukiwarka, naciśnij Cmd + Shift + Gi przejdź do ~/Library/LaunchAgents/.
    Jeśli widzisz plik o nazwie com.google.keystone.agent.plist którego nie zainstalowałeś, usuń go. Sprawdź również: ~/Library/Application Support/Google/. Jeśli folder o nazwie GoogleUpdate.app jest obecny, a nie został zainstalowany przez użytkownika, należy go usunąć.
  • Traktuj frazę seed swojego portfela jako naruszona. Jeśli masz zainstalowany Exodus, Atomic Wallet, Ledger Live, Ledger Wallet lub Trezor Suite i uruchomiłeś to polecenie, załóż, że fraza seed i hasło do portfela zostały ujawnione. Natychmiast przenieś swoje środki do nowego portfela utworzonego na czystym urządzeniu. Frazy seed nie można zmienić, a każdy, kto posiada jej kopię, ma dostęp do portfela.
  • Zmień swoje hasła. Hasło logowania do systemu macOS oraz wszelkie hasła zapisane w przeglądarce lub pęku kluczy należy uznać za ujawnione. Zmień je na urządzeniu, któremu ufasz.
  • Cofnij tokeny zawierające poufne informacje. Jeśli historia powłoki zawierała klucze API, klucze SSH lub tokeny programisty, cofnij je i wygeneruj ponownie.
  • Uruchom Malwarebytes Mac. Program ten wykrywa i usuwa pozostałe elementy infekcji, w tym LaunchAgent i zmodyfikowane pliki.

Wskaźniki naruszenia bezpieczeństwa (IOC)

Domeny

  • cleanmymacos[.]org — strona phishingowa podszywająca się pod CleanMyMac
  • res2erch-sl0ut[.]com — główny serwer dowodzenia i kontroli (dostarczanie programów ładujących, telemetria, eksfiltracja danych)
  • wallets-gate[.]io — dodatkowy C2 używany przez backdoory portfeli do wykradania fraz seed i haseł

Nie tylko informujemy o zagrożeniach - my je usuwamy

Zagrożenia cyberbezpieczeństwa nigdy nie powinny wykraczać poza nagłówek. Chroń swoje urządzenia przed zagrożeniami, pobierając Malwarebytes już dziś.

O autorze

Pasjonat rozwiązań antywirusowych, Stefan od najmłodszych lat zajmuje się testowaniem złośliwego oprogramowania i kontrolą jakości produktów AV. Jako członek zespołu Malwarebytes , Stefan jest oddany ochronie klientów i zapewnianiu im bezpieczeństwa.