„Całkowicie niewykrywalne” złośliwe oprogramowanie SysJoker Backdoor atakuje systemy Windows, Linux i macOS

SysJoker Backdoor ustanawia wstępny dostęp na zaatakowanych maszynach, a następnie czeka na wykonanie dodatkowego kodu.

Zupełnie nowe wieloplatformowe złośliwe oprogramowanie, prawdopodobnie dystrybuowane za pośrednictwem złośliwych pakietów npm, rozprzestrzenia się niezauważalnie, natomiast wersje dla systemów Linux i Mac są całkowicie niewykrywalne przez VirusTotal, ostrzegają badacze.

Wersja dla systemu Windows, zgodnie z wpisem firmy Intezer z dn. 11.01.2022, wykryto tylko sześć przypadków, które zostały przesłane do VirusTotal z suffix’em „.ts”, który jest używany w plikach TypeScript.

Backdoor, nazwany SysJoker przez firmę Intezer, służy do ustanawiania początkowego dostępu na maszynie docelowej. Po zainstalowaniu może wykonywać przygotowany kod, a także pozostawać w środowisku i oczekiwać na wykonanie poleceń, za pomocą których hakerzy mogą przeprowadzać kolejne ataki lub przejść do sieci korporacyjnej. Ten rodzaj początkowego dostępu jest również dość popularnym towarem na podziemnych cyberforach, gdzie grupy ransomware i inne osoby mogą go nabyć bez problemu.

Po raz pierwszy zaobserwowano go w grudniu 2021, podczas cyberataku na system Linux.

Zgodnie z analizą firmy Intezer, możliwym wektorem ataku dla SysJokera jest zainfekowany pakiet npm,– coraz bardziej popularny wektor złośliwego oprogramowania. Npm i inne publiczne repozytoria kodu to scentralizowane społeczności programistów, w których programiści mogą przesyłać i pobierać bloki konstrukcyjne do tworzenia aplikacji. Jeśli jeden z tych elementów konstrukcyjnych jest szkodliwy, może zostać rozpowszechniony do dowolnej liczby aplikacji, gotowych zaatakować wszystkich użytkowników zainfekowanych projektów.

Po znalezieniu celu SysJoker maskuje się jako aktualizacja systemu, aby uniknąć podejrzeń. Tymczasem generuje swój C2, dekodując ciąg znaków pobrany z pliku tekstowego hostowanego na Dysku Google.

„Podczas naszej analizy C2 zmieniał się trzykrotnie, wskazując, że atakujący jest aktywny i monitoruje zainfekowane maszyny. Na podstawie wiktymologii i zachowania złośliwego oprogramowania oceniamy, że SysJoker dąży do określonych celów”- zauważyli badacze Intezer

Według Intezera zachowanie SysJokera jest podobne dla wszystkich trzech systemów operacyjnych, z wyjątkiem tego, że wersja dla systemu Windows korzysta z droppera pierwszego stopnia.

Po wykonaniu SysJoker czuwa od półtorej minuty do dwóch minut. Następnie tworzy katalog C:\ProgramData\SystemData\ i kopiuje się tam, używając nazwy pliku „igfxCUIService.exe” – innymi słowy, podszywa się pod Intel Graphics Common User Interface Service.

Po zebraniu informacji o systemie (adres mac, nazwa użytkownika, numer seryjny nośnika fizycznego i adres IP) zbiera dane do tymczasowego pliku tekstowego.

„Te pliki tekstowe są natychmiast usuwane, przechowywane w obiekcie JSON, a następnie kodowane i zapisywane w pliku o nazwie „microsoft_Windows.dll”” – napisali badacze.

SysJoker następnie ustanawia trwałość, dodając wpis do klucza rejestru „HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run”. Pomiędzy każdym z tych etapów infekcji pozostaje bez czynnie przez pewien okres czasu.

Nawiązanie komunikacji C2

Naukowcy zauważyli, że aby nawiązać połączenie z C2, SysJoker najpierw dekoduje zakodowane na stałe łącze do Dysku Google za pomocą zakodowanego klucza XOR. Używa tego samego klucza do szyfrowania informacji przesyłanych tam i z powrotem do i z C2.

Ten link do Dysku Google otwiera plik tekstowy o nazwie „domena.txt”, który zawiera zakodowany C2 (adres zmienia się dynamicznie w zależności od dostępności serwera). Zgodnie z analizą łącze dekoduje C2 i wysyła wcześniej zebrane dane maszynowego odcisku. C2 odpowiada unikalnym tokenem – identyfikatorem tej konkretnej infekcji, którego użyje do pingowania C2 w celu uzyskania instrukcji.

Polecenia SysJokera

SysJoker może odbierać różne polecenia, w tym „exe”, „cmd”, „remove_reg” i „exit” – tylko dwa z nich były włączone w czasie analizy Intezer’a.

„remove_reg i exit nie są zaimplementowane w obecnej wersji” – wyjaśniają naukowcy. „Na podstawie nazw instrukcji możemy założyć, że są one odpowiedzialne za samodzielne usuwanie złośliwego oprogramowania”.

Polecenie exe

Polecenie exe odpowiada za usuwanie i uruchamianie pliku wykonywalnego.

Według Intezera „SysJoker otrzymuje adres URL do pliku .ZIP, katalog ze ścieżką, do której plik powinien zostać pobrany, oraz nazwę pliku, którego złośliwe oprogramowanie powinno używać w wyodrębnionym pliku wykonywalnym”. „Pobierze ten plik, rozpakuje go i uruchomi”.

Po uruchomieniu złośliwe oprogramowanie potwierdzi „sukces”, jeśli plik został pomyślnie zainstalowany, lub „wyjątek”, jeśli nie.

Polecenie Cmd

Polecenie cmd służy do uruchamiania instrukcji z następnego etapu.

„SysJoker zdekoduje polecenie, wykona je i prześle odpowiedź na polecenie do C2 za pośrednictwem interfejsu API /api/req/res. Ale podczas naszej analizy C2 nie odpowiedziało instrukcją kolejnego etapu”- wyjaśniają naukowcy

Jak wykrywać i łagodzić złośliwe oprogramowanie SysJokera?

Mimo że wykrycia VirusTotal są niskie a wręcz nieistniejące w przypadku SysJokera, firma Intezer dostarczyła kilka wskazówek, by móc określić, czy przedostał się do sieci.

Użytkownicy lub administratorzy mogą najpierw użyć skanerów pamięci do wykrycia SysJokera w pamięci. Mogą również używać platform do wykrywania i reagowania w punktach końcowych (EDR) oraz informacji o zabezpieczeniach i zarządzania zdarzeniami (SIEM) (post Intezera zawiera bogate wskaźniki włamania i inne dane, które mogą w tym pomóc).

według firmy Intezer w przypadku wykrycia włamania, ofiary mogą podjąć następujące kroki:

Ubij procesy związane z SysJokerem, usuń odpowiedni mechanizm utrwalania i wszystkie pliki związane z SysJokerem.

Upewnij się, że zainfekowana maszyna jest czysta, uruchamiając skaner pamięci.

Zbadaj początkowy punkt wejścia złośliwego oprogramowania. Jeśli w trakcie tego dochodzenia serwer został zainfekowany SysJokerem, sprawdź: Status konfiguracji i złożoność hasła dla usług dostępnych publicznie oraz używane wersje oprogramowania i możliwe znane exploity.