Organizacja cyberprzestępcza stojąca za złośliwym oprogramowaniem InterPlanetary Storm wypuściła nowy wariant, który oprócz komputerów z systemami Windows i Linux atakuje także urządzenia z systemami Mac i Android. Malware ten tworzy botnet, który według badaczy z firmy Barracuda obejmuje około 13 500 zainfekowanych maszyn z 84 państw świata - a liczba ta nadal rośnie.
Większość komputerów zainfekowanych tym złośliwym oprogramowaniem znajduje się w Azji.
• 59 proc. zainfekowanych maszyn znajduje się w Hongkongu, Korei Południowej i na Tajwanie
• 8 proc. znajduje się w Rosji i na Ukrainie
• 6 proc. znajduje się w Brazylii
• 5 proc. znajduje się w Stanach Zjednoczonych i Kanadzie
• 3 proc. znajduje się w Szwecji
• 3 proc. znajduje się w Chinach
• Pozostałe kraje - wśród których jest też Polska - mają wkłady poniżej 1 proc.
Poniżej są bliższe informacje na temat tego zagrożenia oraz rozwiązania, które pomagają wykrywać, blokować i odpierać ataki.
Zagrożenie
Nowy wariant złośliwego oprogramowania InterPlanetary Storm - Nowy wariant tego zagrożenia uzyskuje dostęp do komputerów przeprowadzając atak słownikowy na serwery SSH, podobnie jak FritzFrog, inny malware typu peer-to-peer (p2p). Może on też dostać się do urządzenia poprzez dostęp do otwartych serwerów ADB (Android Debug Bridge). Złośliwe oprogramowanie wykrywa architekturę CPU oraz system operacyjny ofiar, może też działać na urządzeniach opartych na architekturze ARM, która jest często stosowana w routerach i innych urządzeniach IoT.
Malware jest znany jako InterPlanetary Storm, ponieważ wykorzystuje sieć p2p InterPlanetary File System (IPFS) oraz jej bazową implementację libp2p. Pozwala to zainfekowanym węzłom komunikować się ze sobą bezpośrednio lub za pośrednictwem innych węzłów pełniących funkcję przekaźników.
Pierwszy wariant Interplanetary Storm, wymierzony w komputery Windows, odkryto w maju 2019 r., natomiast czerwcu b.r. pojawiły się doniesienia o wariancie zdolnym do infekowania komputerów Linux. Nowy wariant, który badacze z firmy Barracuda odkryli pod koniec sierpnia, bierze na cel urządzenia IoT, na przykład telewizory działające pod kontrolą systemu operacyjnego Android, a także urządzenia linuksowe, takie jak routery ze źle skonfigurowaną usługą SSH.
Choć przeznaczenie botnetu tworzonego przez to złośliwe oprogramowanie nie jest jeszcze jasne, zapewnia on operatorom „tylne drzwi” do zainfekowanych urządzeń, które później będzie można wykorzystywać do wydobywania kryptowalut, ataków DDoS lub innych ataków realizowanych na wielką skalę.
Szczegóły
Nowy wariant InterPlanetary Storm jest napisany w języku Go, wykorzystuje implementację bibliotek libp2p dla tego języka i jest spakowany za pomocą programu UPX. Rozprzestrzenia się poprzez ataki typu brute force na serwery SSH oraz przez otwarte porty ADB, a następnie przesyła złośliwe pliki do innych węzłów sieci. Malware udostępnia napastnikowi tzw. odwrotną powłokę, może też uruchomić powłokę bash.
Badacze Barracuda wykryli kilka unikatowych funkcji, które pomagają złośliwemu oprogramowaniu utrwalić swoją obecność po zainfekowaniu komputera.
• Wykrywanie honeypotów. Malware szuka łańcucha „svr04” w domyślnym monicie powłoki (PS1), który był wcześniej używany przez honeypot Cowrie.
• Automatyczne aktualizacje. Malware porównuje wersję działającej instancji z najnowszą dostępną wersją i w razie potrzeby przeprowadza aktualizację.
• Utrwalanie obecności w systemie poprzez instalację usługi (system/systemv) z wykorzystaniem pakietu Go Daemon.
• Przerywanie procesów, które mogą stanowić zagrożenie, takich jak debuggery i konkurencyjne złośliwe oprogramowanie. W tym celu malware szuka następujących łańcuchów w wierszach polecenia procesów:
• “/data/local/tmp”
• “rig”
• “xig”
• “debug”
• “trinity”
• “xchecker”
• “zypinstall”
• “startio”
• “startapp”
• “synctool”
• “ioservice”
• “start_”
• “com.ufo.miner”
• “com.google.android.nfcguard”
• “com.example.test”
• “com.example.test2”
• “saoas”
• “skhqwensw”
Klucze rozgłaszane przez Interplanetary Storm
W tablicy IPFS Distributed Hash Table (DHT) malware rozgłasza poniższe klucze. Zainfekowane węzły następnie próbują znaleźć równorzędne węzły, które mogą zapewnić potrzebne im usługi:
Każdy zainfekowany węzeł ogłasza klucz „fmi4kYtTp9789G3sCRgMZVG7D3uKalwtCuWw1j8LSPHQEGVBU5hfb NdnHvt3kyR1fYUlGNAO0zactmIMIZodsOha9tnfe25Xef1”, aby poinformować, że jest częścią botnetu. Identyfikator każdego zainfekowanego urządzenia jest generowany jednorazowo podczas wstępnej infekcji i jest wykorzystywany także jeśli urządzenie zostanie uruchomione ponownie albo malware zaktualizuje się.
Zainfekowane węzły ogłaszają też klucze o postaci „stfadv:<suma kontrolna>”, aby powiadomić, że węzeł może udostępnić plik z taką właśnie sumą kontrolną.
Protokoły komunikacyjne
Aplikacje libp2p obsługują połączenia przychodzące (strumienie) na podstawie adresu logicznego (tzn. nieznanego warstwie transportowej) nazywanego identyfikatorem protokołu. Zgodnie z konwencją, identyfikatory protokołu mają strukturę przypominającą ścieżkę, której ostatnim elementem jest numer wersji.
Malware używa następujących identyfikatorów protokołu:
Zaplecze dystrybucji plików
Serwery dystrybucji plików można odnaleźć z wykorzystaniem klucza „web-api:kYVhV8KQ0mA0rs9pHXoWpD”. Odpowiednie węzły równorzędne implementują protokół „http przez libp2p” obsługując następujące polecenia przesyłane jako ścieżki URL:
Odwrócenie sterowania
Malware może instalować niektóre z następujących plików:
Jak chronić się przed tymi atakami?
Aby ochronić się przed tym wariantem złośliwego oprogramowania, należy:
• Prawidłowo skonfigurować dostęp SSH we wszystkich urządzeniach. Do logowania należy używać kluczy zamiast haseł, co zwiększy poziom bezpieczeństwa. Jeżeli włączone jest logowanie za pomocą haseł, a sama usługa jest dostępna, złośliwe oprogramowanie może to wykorzystać do ataku. Jest to problem często spotykany w routerach i urządzeniach IoT, przez co stają się one łatwym celem.
• Używać narzędzi do zarządzania bezpieczeństwem w chmurze do monitorowania kontroli dostępu przez SSH w celu wyeliminowania ewentualnych pomyłek konfiguracyjnych, które mogą mieć katastrofalne następstwa. Aby w razie potrzeby zapewnić bezpieczny dostęp do powłoki systemowej, zamiast eksponować zasób w internecie, należy zastosować połączenie VPN z uwierzytelnianiem wieloskładnikowym oraz posegmentować sieć według konkretnych potrzeb zamiast przyznawać dostęp do całych sieci IP.
Źródło: Barracuda