Poznaj ransomware Nemty z fałszywej witryny PayPal
W sieci pojawił się nowy ransomware o nazwie Nemty, będący ponoć następcą GrandCraba czy Burana. Szkodnik rozprzestrzenia się głównie za pośrednictwem fałszywej witryny PayPal i posiada wiele interesujących funkcji. Szczegóły dotyczące działania tego oprogramowania ransomware nie są jeszcze znane.
Nowy ransomware Nemty odkryty przez użytkownika nao_sek 7 września 2019 r. Szkodnik był dystrybuowany za pośrednictwem strony internetowej podszywający się pod PayPal, możliwe jest również przedostanie się oprogramowania ransomware do komputera poprzez zestaw exploitów RIG. Napastnicy wykorzystali metody socjotechniki, aby wymusić na użytkowniku uruchomienie pliku cashback.exe, który rzekomo otrzymał ze strony PayPal.Co ciekawe, Nemty podał błędny port dla lokalnego serwisu proxy Tor, co uniemożliwia wysyłanie złośliwego oprogramowania dane do serwera. Dlatego użytkownik będzie musiał sam przesłać zaszyfrowane pliki do sieci Tor, jeśli zamierza zapłacić okup i poczekać na odszyfrowanie przez atakujących.
Kilka interesujących faktów na temat Nemty sugeruje, że opracowali go te same osoby lub cyberprzestępcy powiązani z Buranem i GrandCrabem.
Podobnie jak GandCrab, Nemty ma jajko wielkanocne – link do zdjęcia prezydenta Rosji Władimira Putina z nieprzyzwoitym żartem. Starsze oprogramowanie ransomware GandCrab zawierało obraz z tym samym tekstem.
Artefakty językowe obu programów wskazują na tych samych rosyjskojęzycznych autorów.
Jest to pierwsze oprogramowanie ransomware wykorzystujące 8092-bitowy klucz RSA. Chociaż nie ma to sensu: 1024-bitowy klucz wystarczy, aby chronić przed włamaniem.
Podobnie jak Buran, oprogramowanie ransomware jest napisane w Object Pascal i skompilowane w Borland Delphi.
Analiza statyczna
Wykonanie złośliwego kodu odbywa się w czterech etapach. Pierwszym krokiem jest uruchomienie cashback.exe, pliku wykonywalnego PE32 pod systemem MS Windows o rozmiarze 1198936 bajtów. Jego kod został napisany w języku Visual C++ i skompilowany 14 października 2013 r. Zawiera archiwum, które jest automatycznie rozpakowywane po uruchomieniu cashback.exe. Oprogramowanie wykorzystuje bibliotekę Cabinet.dll i jej funkcje FDICreate(), FDIDestroy() i inne w celu uzyskania plików z archiwum .cab.
Następnie uruchamiany jest plik temp.exe, plik wykonywalny PE32 dla systemu MS Windows o rozmiarze 307200 bajtów. Kod napisano w Visual C++ i spakowano za pomocą pakera MPRESS, pakera podobnego do UPX.
Następnym krokiem jest plik ironman.exe. Po uruchomieniu temp.exe odszyfrowuje dane osadzone w temp i zmienia jego nazwę na ironman.exe, plik wykonywalny PE32 o rozmiarze 544768 bajtów. Kod jest skompilowany w Borland Delphi.
Ostatnim krokiem jest ponowne uruchomienie pliku ironman.exe. W czasie wykonywania przekształca swój kod i uruchamia się z pamięci. Ta wersja programu ironman.exe jest złośliwa i odpowiada za szyfrowanie.
Wektor ataku
Obecnie ransomware Nemty jest dystrybuowany za pośrednictwem strony internetowej pp-back.info.
Pełny łańcuch infekcji można zobaczyć na stronie aplikacja.any.run piaskownica.
Instalacja
Cashback.exe - początek ataku. Jak już wspomniano, cashback.exe rozpakowuje zawarty w nim plik .cab. Następnie tworzy folder TMP4351$.TMP w postaci %TEMP%IXxxx.TMP, gdzie xxx to liczba od 001 do 999.
Następnie instalowany jest klucz rejestru, który wygląda następująco:
Służy do usuwania rozpakowanych plików. Na koniec cashback.exe uruchamia proces temp.exe.
Temp.exe to drugi etap łańcucha infekcji
Jest to proces uruchamiany przez plik cashback.exe, będący drugim etapem uruchomienia wirusa. Próbuje pobrać AutoHotKey, narzędzie do uruchamiania skryptów w systemie Windows, i uruchomić skrypt WindowSpy.ahk znajdujący się w sekcji zasobów pliku PE.
Skrypt WindowSpy.ahk odszyfrowuje plik tymczasowy w pliku ironman.exe przy użyciu algorytmu RC4 i hasła IwantAcake. Klucz z hasła uzyskiwany jest za pomocą algorytmu haszującego MD5.
temp.exe następnie wywołuje proces ironman.exe.
Ironman.exe – krok trzeci
Ironman.exe odczytuje zawartość pliku iron.bmp i tworzy plik iron.txt z cryptolockerem, który zostanie następnie uruchomiony.
Następnie wirus ładuje plik iron.txt do pamięci i uruchamia go ponownie jako plik ironman.exe. Następnie plik iron.txt jest usuwany.
ironman.exe to główna część ransomware NEMTY, która szyfruje pliki na zaatakowanym komputerze. Złośliwe oprogramowanie tworzy muteks zwany nienawiścią.
Pierwszą rzeczą, którą robi, jest określenie położenia geograficznego komputera. Nemty otwiera przeglądarkę i sprawdza adres IP http://api.ipify.org. online api.db-ip.com/v2/free[IP]/countryName Kraj jest określany na podstawie otrzymanego adresu IP i jeśli komputer znajduje się w jednym z regionów wymienionych poniżej, wykonywanie kodu złośliwego oprogramowania zostaje zatrzymane:
Rosja
Białoruś
Ukraina
Kazachstan
Tadżykistan
Najprawdopodobniej programiści nie chcą przyciągać uwagi organów ścigania w swoich krajach zamieszkania, dlatego nie szyfrują plików w swoich „macierzystych” jurysdykcjach.
Jeśli adres IP ofiary nie należy do powyższej listy, wirus szyfruje informacje o użytkowniku.
Aby zapobiec odzyskaniu plików, ich kopie w tle są usuwane:
Następnie tworzy listę plików i folderów, które nie zostaną zaszyfrowane, a także listę rozszerzeń plików.
okna
$ RECYCLE.BIN
RSA
NTDETECT.COM
ntldr
MSDOS.SYS
IO.SYS
boot.ini AUTOEXEC.BAT ntuser.dat
desktop.ini
CONFIG.SYS
BOOTSECT.BAK
Bootmgr
dane programu
dane aplikacji
osoft
Wspólne pliki
log LOG CAB cab CMD cmd COM com cpl
CPL exe EXE ini INI dll DDL lnk LNK url
URL ttf TTF DECRYPT.txt NEMTY
Zaciemnienie
Aby ukryć adresy URL i osadzone dane konfiguracyjne, Nemty używa algorytmu kodowania Base64 i RC4 ze słowem kluczowym Fuckav.
Proces deszyfrowania przy użyciu CryptStringToBinary jest następujący
Szyfrowanie
Nemty wykorzystuje szyfrowanie trójwarstwowe:
AES-128-CBC dla plików. 128-bitowy klucz AES jest generowany losowo i jest używany tak samo dla wszystkich plików. Jest on przechowywany w pliku konfiguracyjnym na komputerze użytkownika. IV jest generowany losowo dla każdego pliku i przechowywany w zaszyfrowanym pliku.
RSA-2048 do szyfrowania plików IV. Generowana jest para kluczy dla sesji. Klucz prywatny sesji jest przechowywany w pliku konfiguracyjnym na komputerze użytkownika.
RSA-8192. Główny klucz publiczny jest wbudowany w program i służy do szyfrowania pliku konfiguracyjnego, w którym przechowywany jest klucz AES i tajny klucz dla sesji RSA-2048.
Nemty najpierw generuje 32 bajty losowych danych. Pierwsze 16 bajtów jest używanych jako klucz AES-128-CBC.
Drugi algorytm szyfrowania to RSA-2048. Para kluczy jest generowana przez funkcję CryptGenKey() i importowana przez funkcję CryptImportKey().
Po wygenerowaniu pary kluczy dla sesji klucz publiczny jest importowany do dostawcy usług kryptograficznych MS.
Przykład wygenerowanego klucza publicznego dla sesji:
Następnie klucz prywatny jest importowany do CSP.
Przykład wygenerowanego klucza prywatnego dla sesji:
I na koniec RSA-8192. Główny klucz publiczny jest przechowywany w postaci zaszyfrowanej (Base64 + RC4) w sekcji .data pliku PE.
Klucz RSA-8192 po zdekodowaniu Base64 i odszyfrowaniu RC4 hasłem Fuckav wygląda tak.
W rezultacie cały proces szyfrowania wygląda następująco:
Wygeneruj 128-bitowy klucz AES, który będzie używany do szyfrowania wszystkich plików.
Utwórz IV dla każdego pliku.
Tworzenie pary kluczy dla sesji RSA-2048.
Odszyfrowanie istniejącego klucza RSA-8192 przy użyciu base64 i RC4.
Zaszyfruj zawartość pliku za pomocą algorytmu AES-128-CBC od pierwszego kroku.
Szyfrowanie IV przy użyciu klucza publicznego RSA-2048 i kodowania Base64.
Dodanie zaszyfrowanego IV na końcu każdego zaszyfrowanego pliku.
Dodanie klucza AES i klucza prywatnego sesji RSA-2048 do pliku config.
Dane konfiguracyjne opisane w pkt zbieranie informacji informacje o zainfekowanym komputerze są szyfrowane przy użyciu głównego klucza publicznego RSA-8192.
Zaszyfrowany plik wygląda następująco:
Przykład zaszyfrowanych plików:
Zbieranie informacji o zainfekowanym komputerze
Ransomware zbiera klucze w celu odszyfrowania zainfekowanych plików, dzięki czemu osoba atakująca może faktycznie stworzyć narzędzie deszyfrujące. Ponadto Nemty zbiera dane użytkownika, takie jak nazwa użytkownika, nazwa komputera, profil sprzętowy.
Wywołuje funkcje GetLogicalDrives(), GetFreeSpace(), GetDriveType() w celu zebrania informacji o dyskach zainfekowanego komputera.
Zebrane informacje przechowywane są w pliku konfiguracyjnym. Po zdekodowaniu ciągu znaków otrzymujemy listę parametrów w pliku konfiguracyjnym:
Nemty przechowuje zebrane dane w formacie JSON w pliku %USER%/_NEMTY_.nemty. FileID ma długość 7 znaków i jest generowany losowo. Na przykład: _NEMTY_tgdLYrd_.nemty. FileID jest także dołączany na końcu zaszyfrowanego pliku.
Wiadomość o okupie
Po zaszyfrowaniu plików na pulpicie pojawia się plik _NEMTY_[FileID]-DECRYPT.txt z następującą zawartością:
Na końcu pliku znajduje się zaszyfrowana informacja o zainfekowanym komputerze.
Następnie Nemty próbuje wysłać dane konfiguracyjne do adresu 127.0.0.1:9050, gdzie spodziewa się znaleźć działające proxy przeglądarki Tor. Jednak domyślnie serwer proxy Tora nasłuchuje na porcie 9150, a port 9050 jest używany przez demona Tora w systemie Linux lub Expert Bundle w systemie Windows. W ten sposób żadne dane nie są wysyłane na serwer atakującego. Zamiast tego użytkownik może pobrać plik konfiguracyjny ręcznie, odwiedzając usługę deszyfrowania Tora, korzystając z łącza podanego w wiadomości z żądaniem okupu.
Łączenie się z serwerem proxy Tor:
HTTP GET tworzy żądanie do 127.0.0.1:9050/public/gate?data=
Tutaj możesz zobaczyć otwarte porty TCP używane przez proxy TORlocal:
Następnie atakujący prosi o zapłatę okupu. W przypadku braku płatności cena ulega podwojeniu.
wniosek
W tej chwili nie jest możliwe odszyfrowanie plików zaszyfrowanych przez Nemty bez płacenia okupu. Ta wersja ransomware ma wspólne cechy z ransomware Buran i przestarzałym GandCrabem: kompilacja w Borland Delphi i obrazy z tym samym tekstem. Ponadto jest to pierwszy program szyfrujący, który wykorzystuje 8092-bitowy klucz RSA, co znowu nie ma żadnego sensu, ponieważ do ochrony wystarczy klucz 1024-bitowy. Na koniec, co ciekawe, próbuje użyć niewłaściwego portu dla lokalnej usługi proxy Tor.
Jednak rozwiązania Acronis backup и Acronis True Image zapobiegaj przedostawaniu się oprogramowania ransomware Nemty do komputerów użytkowników i danych, a dostawcy mogą chronić swoich klientów Chmura kopii zapasowych Acronis. Pełny Cyberochrona zapewnia nie tylko tworzenie kopii zapasowych, ale także ochronę użytkowania Aktywna ochrona Acronis, specjalna technologia oparta na sztucznej inteligencji i heurystyce behawioralnej, która pozwala zneutralizować nawet nieznane dotąd złośliwe oprogramowanie.