Es ist ein neuer Verschlüsseler namens Nemty im Netz aufgetaucht, der vermutlich der Nachfolger von GrandCrab oder Buran ist. Die Malware verbreitet sich hauptsächlich über eine gefälschte PayPal-Website und weist eine Reihe interessanter Merkmale auf. Einzelheiten zur Funktionsweise dieser Ransomware finden Sie weiter unten.

Der neue Verschlüsseler Nemty wurde von einem Benutzer entdeckt am 7. September 2019. Die Malware verbreitete sich über eine Website, , außerdem gibt es die Möglichkeit, dass die Ransomware über das Exploit-Kit RIG auf den Computer gelangt. Die Angreifer nutzen Methoden der sozialen Ingenieurskunst, um den Benutzer dazu zu bringen, die Datei cashback.exe auszuführen, die er angeblich von der PayPal-Website erhält. Es ist auch bemerkenswert, dass in Nemty der falsche Port für den lokalen Tor-Proxy-Dienst angegeben ist, was der Malware nicht ermöglicht, Daten an den Server zu senden. Daher muss der Benutzer selbst die verschlüsselten Dateien ins Tor-Netzwerk hochladen, wenn er die Lösegeldzahlung leisten und auf die Entschlüsselung durch die Angreifer warten möchte.
Einige interessante Fakten über Nemty deuten darauf hin, dass es von denselben Personen oder mit Buran und GrandCrab verbundenen Cyberkriminellen entwickelt wurde.
- Wie bei GandCrab gibt es in Nemty ein Easter Egg – einen Link zu einem Foto des russischen Präsidenten Wladimir Putin mit einem obszönen Witz. Im veralteten Verschlüsseler GandCrab gab es ein Bild mit demselben Text.
- Die sprachlichen Artefakte beider Programme deuten auf dieselben russischsprachigen Autoren hin.
- Dies ist der erste Verschlüsseler, der einen 8092-Bit RSA-Schlüssel verwendet. Obwohl es keinen Sinn macht: ein 1024-Bit Schlüssel reicht vollkommen aus, um sich gegen Angriffe zu schützen.
- Wie Buran ist der Verschlüsseler in Object Pascal geschrieben und mit Borland Delphi kompiliert.
Statische Analyse
Die Ausführung des schädlichen Codes erfolgt in vier Schritten. Der erste Schritt ist das Starten von cashback.exe, einer PE32-executablen Datei für MS Windows mit einer Größe von 1.198.936 Bytes. Der Code ist in Visual C++ geschrieben und am 14. Oktober 2013 kompiliert worden. Er enthält ein Archiv, das beim Start von cashback.exe automatisch entpackt wird. Die Software nutzt die Bibliothek Cabinet.dll und deren Funktionen FDICreate(), FDIDestroy() und andere, um Dateien aus dem .cab-Archiv zu extrahieren.


SHA-256: A127323192ABED93AED53648D03CA84DE3B5B006B641033EB46A520B7A3C16FC
Nach dem Entpacken des Archivs erscheinen drei Dateien.

Anschließend wird temp.exe gestartet, eine PE32-executablen Datei für MS Windows mit einer Größe von 307.200 Bytes. Der Code ist in Visual C++ geschrieben und mit dem MPRESS Packer komprimiert, einem Packprogramm ähnlich wie UPX.

SHA-256: EBDBA4B1D1DE65A1C6B14012B674E7FA7F8C5F5A8A5A2A9C3C338F02DD726AAD
Der nächste Schritt ist ironman.exe. Nach dem Start entschlüsselt temp.exe die eingebetteten Daten in temp und benennt sie in ironman.exe um, eine PE32-executable Datei mit einer Größe von 544768 Byte. Der Code ist in Borland Delphi kompiliert.
![]()
SHA-256: 2C41B93ADD9AC5080A12BF93966470F8AB3BDE003001492A10F63758867F2A88
Der letzte Schritt ist der Neustart der Datei ironman.exe. Während der Ausführung wandelt es seinen Code um und startet sich aus dem Speicher. Diese Version von ironman.exe ist bösartig und verantwortlich für die Verschlüsselung.
Angriffsvektor
Derzeit wird der Verschlüsselungswurm Nemty über die Website pp-back.info verbreitet.

Die gesamte Infektionskette kann hier eingesehen werden sandbox.
Installation
Cashback.exe ist der Beginn des Angriffs. Wie bereits erwähnt, entpackt cashback.exe die darin enthaltene .cab-Datei. Dann erstellt es einen Ordner TMP4351$.TMP in der Form %TEMP%IXxxx.TMP, wobei xxx eine Zahl von 001 bis 999 ist.


Anschließend wird ein Registrierungsschlüssel gesetzt, der so aussieht:
[HKLMSOFTWAREWOW6432NodeMicrosoftWindowsCurrentVersionRunOncewextract_cleanup0]
“rundll32.exe” “C:Windowssystem32advpack.dll,DelNodeRunDLL32 «C:UsersMALWAR~1AppDataLocalTempIXPxxx.TMP»”
Dieser wird zum Entfernen der entpackten Dateien verwendet. Schließlich startet cashback.exe den Prozess temp.exe.

Temp.exe ist die zweite Phase in der Infektionskette
Dies ist ein Prozess, der von der Datei cashback.exe gestartet wird, der zweite Schritt der Virusausführung. Es versucht, AutoHotKey herunterzuladen - ein Tool zum Ausführen von Skripten unter Windows - und das Skript WindowSpy.ahk auszuführen, das im Ressourcenbereich der PE-Datei gespeichert ist.

Das Skript WindowSpy.ahk entschlüsselt die Datei temp in ironman.exe, indem es den RC4-Algorithmus und das Passwort IwantAcake verwendet. Der Schlüssel aus dem Passwort wird mit dem MD5-Hash-Algorithmus erzeugt.
Dann ruft temp.exe den Prozess ironman.exe auf.
![]()
Ironman.exe ist der dritte Schritt
Ironman.exe liest den Inhalt der Datei iron.bmp und erstellt eine Datei iron.txt mit dem Krypto-Locker, der als nächstes gestartet wird.


Anschließend lädt der Virus iron.txt in den Speicher und startet es erneut als ironman.exe. Danach wird iron.txt gelöscht.
ironman.exe ist der Hauptteil des Erpresserprogramms NEMTY, das die Dateien auf dem infizierten Computer verschlüsselt. Die Malware erstellt ein Mutex mit dem Namen hate.

Zuerst bestimmt es den geografischen Standort des Computers. Nemty öffnet den Browser und erfährt die IP unter . Auf der Website [IP]/countryName wird aus der erhaltenen IP das Land bestimmt, und wenn sich der Computer in einer der unten aufgeführten Regionen befindet, wird die Ausführung des Schadcodes gestoppt:
- Russland
- Weißrussland
- Ukraine
- Kasachstan
- Tadschikistan
Wahrscheinlich möchten die Entwickler nicht die Aufmerksamkeit der Strafverfolgungsbehörden in ihren Wohnländern auf sich ziehen und verschlüsseln daher keine Dateien in "heimischen" Jurisdiktionen.
Wenn die IP-Adresse des Opfers nicht auf der obigen Liste steht, verschlüsselt der Virus die Benutzerinformationen.

Um die Wiederherstellung von Dateien zu verhindern, werden deren Schattenkopien gelöscht:

Dann wird eine Liste von Dateien und Ordnern erstellt, die nicht verschlüsselt werden, sowie eine Liste von Dateierweiterungen.
- windows
- $RECYCLE.BIN
- rsa
- NTDETECT.COM
- ntldr
- MSDOS.SYS
- IO.SYS
- boot.ini AUTOEXEC.BAT ntuser.dat
- desktop.ini
- CONFIG.SYS
- BOOTSECT.BAK
- bootmgr
- programdata
- appdata
- osoft
- Common Files
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 Obfuskation
Um URLs und eingebettete Konfigurationsdaten zu verbergen, verwendet Nemty einen Base64-Codierungsalgorithmus und RC4 mit dem Schlüsselwort fuckav.

Der Entschlüsselungsprozess mit CryptStringToBinary sieht wie folgt aus:

Verschlüsselung
Nemty verwendet eine dreischichtige Verschlüsselung:
- AES-128-CBC für Dateien. Ein 128-Bit AES-Schlüssel wird zufällig generiert und für alle Dateien gleich verwendet. Er wird in der Konfigurationsdatei auf dem Computer des Benutzers gespeichert. IV wird für jede Datei zufällig generiert und in der verschlüsselten Datei gespeichert.
- RSA-2048 zur Verschlüsselung der Datei-IV. Ein Schlüsselpaar für die Sitzung wird generiert. Der private Schlüssel zur Sitzung wird in der Konfigurationsdatei auf dem Computer des Benutzers gespeichert.
- RSA-8192. Der Hauptöffentliche Schlüssel ist in das Programm eingebaut und wird zur Verschlüsselung der Konfigurationsdatei verwendet, die den AES-Schlüssel und den geheimen Schlüssel für die RSA-2048-Sitzung enthält.
- Zuerst generiert Nemty 32 Byte zufälliger Daten. Die ersten 16 Byte werden als Schlüssel für AES-128-CBC verwendet.

Der zweite Verschlüsselungsalgorithmus ist RSA-2048. Das Schlüsselpaar wird durch die Funktion CryptGenKey() generiert und durch die Funktion CryptImportKey() importiert.

Nachdem das Schlüsselpaar für die Sitzung generiert wurde, wird der öffentliche Schlüssel in den MS Cryptographic Service Provider importiert.

Beispiel eines generierten öffentlichen Schlüssels für die Sitzung:

Dann wird der private Schlüssel in CSP importiert.

Beispiel eines generierten privaten Schlüssels für die Sitzung:
Und schließlich kommt RSA-8192. Der Hauptöffentliche Schlüssel wird verschlüsselt (Base64 + RC4) im Abschnitt .data der PE-Datei gespeichert.

Der RSA-8192-Schlüssel sieht nach der Base64-Dekodierung und der RC4-Entschlüsselung mit dem Passwort fuckav so aus.

In der Folge sieht der gesamte Verschlüsselungsprozess wie folgt aus:
- Generierung eines 128-Bit-AES-Schlüssels, der zur Verschlüsselung aller Dateien verwendet wird.
- Erstellung eines IV für jede Datei.
- Erstellung eines Schlüsselpaares für die RSA-2048-Sitzung.
- Entschlüsselung des vorhandenen RSA-8192-Schlüssels mit Hilfe von base64 und RC4.
- Verschlüsselung des Inhalts der Dateien mit dem AES-128-CBC-Algorithmus aus dem ersten Schritt.
- Verschlüsselung des IV mit dem öffentlichen RSA-2048-Schlüssel und Kodierung in base64.
- Hinzufügen des verschlüsselten IV am Ende jeder verschlüsselten Datei.
- Hinzufügen des AES-Schlüssels und des privaten Schlüssels der RSA-2048-Sitzung zur Konfiguration.
- Die Konfigurationsdaten sind im Abschnitt beschrieben über den infizierten Computer, die mit dem Haupt-öffentlichen RSA-8192-Schlüssel verschlüsselt werden.
- Die verschlüsselte Datei sieht wie folgt aus:
Beispiel für verschlüsselte Dateien:
Sammlung von Informationen über den infizierten Computer
Der Erpressungstrojaner sammelt Schlüssel zur Entschlüsselung der infizierten Dateien, sodass der Angreifer tatsächlich einen Entschlüsseler erstellen kann. Darüber hinaus sammelt Nemty Benutzerdaten wie Benutzernamen, Computername, Hardwareprofil.

Er ruft die Funktionen GetLogicalDrives(), GetFreeSpace(), GetDriveType() auf, um Informationen über die Laufwerke des infizierten Computers zu sammeln.
Die gesammelten Informationen werden in einer Konfigurationsdatei gespeichert. Durch Dekodierung der Zeichenfolge erhalten wir eine Liste von Parametern in der Konfigurationsdatei:

Beispiel einer Konfiguration des infizierten Computers:

Das Konfigurationsmuster kann wie folgt dargestellt werden:
{«General»: {«IP»:»[IP]»,«Country»:»[Country]»,«ComputerName»:»[ComputerName]»,«Username»:»[Username]»,«OS»:»[OS]»,«isRU»:false,«version»:«1.4»,«CompID»:»{[CompID]}»,«FileID»:»_NEMTY_[FileID]_»,«UserID»:»[UserID]»,«key»:»[key]»,«pr_key»:»[pr_key]
Die gesammelten Daten speichert Nemty im JSON-Format in der Datei %USER%/_NEMTY_.nemty. Die FileID mit einer Länge von 7 Zeichen wird zufällig generiert. Beispiel: _NEMTY_tgdLYrd_.nemty. Die FileID wird auch am Ende der verschlüsselten Datei hinzugefügt.
Lösegeldnachricht
Nach der Verschlüsselung der Dateien erscheint auf dem Desktop die Datei _NEMTY_[FileID]-DECRYPT.txt mit folgendem Inhalt:

Am Ende der Datei befinden sich die verschlüsselten Informationen über den infizierten Computer.

Netzwerkkommunikation
Der Prozess ironman.exe lädt das Browser-Distributionspaket von der Adresse herunter, und versucht es zu installieren.
Dann versucht Nemty, Konfigurationsdaten an die Adresse 127.0.0.1:9050 zu senden, wo er erwartet, einen funktionierenden Tor-Browser-Proxy zu finden. Der Tor-Proxy hört jedoch standardmäßig auf Port 9150, während Port 9050 vom Tor-Daemon unter Linux oder dem Expert Bundle unter Windows verwendet wird. Daher werden die Daten nicht an den Server des Angreifers gesendet. Stattdessen kann der Benutzer die Konfigurationsdatei manuell herunterladen, indem er den Entschlüsselungsdienst von Tor über den im Lösegeldschreiben angegebenen Link besucht.
Verbindung zum Tor-Proxy:

![]()
HTTP GET erstellt eine Anfrage an 127.0.0.1:9050/public/gate?data=

Hier sehen Sie die geöffneten TCP-Ports, die vom TORlocal-Proxy verwendet werden:

Der Entschlüsselungsdienst von Nemty im Tor-Netzwerk:

Es kann ein verschlüsseltes Foto (jpg, png, bmp) zum Testen des Entschlüsselungsdienstes hochgeladen werden.

Danach fordert der Angreifer eine Lösegeldzahlung. Bei Nichtzahlung verdoppelt sich der Preis.

Fazit
Derzeit können Dateien, die von Nemty verschlüsselt wurden, ohne Lösegeldzahlung nicht entschlüsselt werden. Diese Version von Ransomware weist Gemeinsamkeiten mit den Verschlüsslern Buran und dem veralteten GandCrab auf: Kompilierung auf Borland Delphi und Bilder mit identischem Text. Außerdem ist es der erste Verschlüssler, der einen 8092-Bit-RSA-Schlüssel verwendet, was wir wiederholen möchten, keinen Sinn macht, da ein 1024-Bit-Schlüssel für den Schutz völlig ausreichend ist. Schließlich ist es bemerkenswert, dass er einen falschen Port für den lokalen Tor-Proxydienst zu verwenden versucht.
Dennoch Lösungen und lassen die Ransomware Nemty nicht auf Benutzer-PCs und Daten zu, und Anbieter können ihre Kunden mithilfe von . Vollständige bietet nicht nur Backup, sondern auch Schutz durch , eine spezielle Technologie auf Basis von künstlicher Intelligenz und verhaltensbasierter Heuristik, die es ermöglicht, sogar unbekannte Malware zu neutralisieren.
Quelle: habr.com
