BLOG

Dridex beobachtet Sie

F5 Miniaturansicht
F5
Veröffentlicht am 22. Juni 2016

Die Autoren von Dridex veröffentlichen regelmäßig Updates, beispielsweise zur Verschleierung neuer Funktionen und zur neuen Konfigurationscodierung, um den Erkennungs- und Abwehrtechniken der Sicherheitsanbieter auch weiterhin zu entgehen. Sie haben den Fokus ihrer Schadsoftware von europäischen Finanzinstituten auf neue Bankinstitute in den USA verlagert.

Offensichtlich verfügen die Entwickler der Schadsoftware über große Kompetenz im Umgang mit Client- und Server-Paradigmen sowie der Verschleierung. Die folgende Untersuchung umreißt dieses Kompetenzspektrum. Dies und die Verpflichtung der Dridex-Autoren, die Funktionen der Malware ständig und häufig zu aktualisieren, machen Dridex sehr agil und folglich schwer zu erkennen, zu entschlüsseln und zu analysieren.

Wie beobachtet Dridex Sie?

Wie kann es also sein, dass Dridex Sie ohne Ihre Erlaubnis beobachtet und Sie nichts davon wissen?

Es stellt während Bankgeschäften über eine Remote-Sitzung eine Verbindung zum Computer des infizierten Benutzers her. Diese Sitzung ist für den Benutzer unsichtbar, da sie in einer anderen Instanz des Desktops stattfindet, die die Malware mithilfe des VNC-Protokolls öffnet. Diese Instanz wird dupliziert, aber nicht geteilt, was bedeutet, dass der Angreifer die Maus- und Tastaturbewegungen des Benutzers nicht sehen kann und umgekehrt.

Nachdem die Malware auf dem Computer eines Opfers installiert wurde, ruft sie beim Command and Control (C&C) des Botnetzes an, um die Zielliste abzurufen und die folgenden Module anzufordern: VNC und SOCKS.

Der Aktivierungsvorgang kann auf zwei Arten ausgelöst werden:

  • Durch einen Befehl vom C&C
  • Durch den Browser-Funktions-Hook nach Überprüfung des VNC-Flags in der Konfiguration

Der Schwerpunkt dieser Forschung liegt auf dem Ansatz injizierter Module. (Die Art und Weise, wie die VNC-Initialisierung innerhalb der Dridex-Konfiguration ausgelöst wurde, wurde in einem früheren F5- Artikel beschrieben.)

VNC-Aktivierungsablauf

Der Ablauf beinhaltet eine Interaktion zwischen dem infizierten Browser und dem infizierten Explorer.exe-Prozess.

Die Rolle des Browsers

Das VNC-Flag in der Konfiguration wird vom Schadcode im Netzwerkfunktions-Hook überprüft, den Dridex in den Browser eingeschleust hat.

  1. Dieser Hook ermöglicht es Dridex, jede Anfrage zu prüfen, bevor sie über die Leitung gesendet wird.

Dieser Hook ermöglicht es Dridex, jede Anfrage zu prüfen, bevor sie über die Leitung gesendet wird.
  1. Wenn die Anforderungs-URL mit einer URL in der „Weiterleitungs“-Konfiguration übereinstimmt, wird von der angehängten Netzwerkfunktion eine Anforderung für das schädliche Skript an den C&C gesendet.
  2. Daher wurde auf eine gezielte URL zugegriffen und ein schädliches Skript an den Benutzer gesendet. Wie geht es weiter?

  3. Wenn das Skript empfangen wird, wird das VNC-Flag überprüft.
    Wenn das VNC-Flag aktiviert ist, erwartet die Malware den Empfang verschlüsselter Daten. Diese verschlüsselten Daten enthalten Informationen, die die Malware später verwendet:

    • VNC-IP und -PORT – die Remote-Adresse, mit der beim Starten der VNC-Sitzung eine Verbindung hergestellt werden soll
    • SOCKS IP und PORT — die Remote-Adresse, mit der beim Starten der SOCKS-Sitzung eine Verbindung hergestellt werden soll
    • Die Daten werden mit einem XOR verschlüsselt (die ersten 4 Bytes sind der Schlüssel)
Dridex Abbildung 1: Vollständige Entschlüsselungsroutine
Abbildung 1: Vollständige Entschlüsselungsroutine

Unten sehen Sie ein Beispiel für eine einfache HTML-Antwort vom Server mit angehängter IP + Port (nach der entschlüsselten Routine):

alt="Dridex Abbildung 2: Entschlüsselter Skriptinhalt; die IP und der PORT werden angehängt"
Abbildung 2: Entschlüsselter Skriptinhalt; die IP und der PORT werden angehängt

Der infizierte Browser speichert diese verschlüsselten IP-Einträge in der Registrierung unter demselben Schlüssel wie die Konfiguration, jedoch unter einem separaten Unterschlüssel.
 

Dridex Abbildung 3: Die IP- und PORT-Registrierungseinträge
Abbildung 3: Die IP- und PORT-Registrierungseinträge

Der infizierte Browser verwendet die Event Objects API von Windows, um die infizierte explorer.exe anzuweisen, VNC zu starten. Ab diesem Zeitpunkt übernimmt der infizierte Explorer-Prozess den Aktivierungsprozess.


Die Rolle des Entdeckers

  1. Der Schadcode im Explorer läuft in einer Endlosschleife in einem dedizierten Thread, der für die VNC-Verbindung zuständig ist und auf das Ereignissignal vom Browser wartet. Sobald dieses Signal empfangen wird, extrahiert es die IP- und Port-Datensätze aus der Registrierung und dekodiert sie.
Dridex Abbildung 4: Der infizierte Browser schreibt die Datensätze, bevor die infizierte Explorer.exe sie liest
Abbildung 4: Der infizierte Browser schreibt die Datensätze, bevor die infizierte Explorer.exe sie liest
  1. Der Explorer lädt die vnc_x32.dll mithilfe einer benutzerdefinierten Implementierung der Windows-API „LoadLibrary“.
    • Vor diesem Punkt befindet sich das VNC-Modul als Rohdaten im Speicher des Explorers.
    • Nach dem Mapping aller PE-Abschnitte ruft es DllEntryPoint der vnc.dll auf (mit dem Flag DLL_PROCESS_ATTACH).
    • Diese Technik verschleiert den Zeitpunkt, zu dem das VNC-Modul geladen wird, da es nicht möglich ist, „LoadLibrary“ zu verfolgen, was die Analyse erheblich erschwert.
Dridex Abbildung 5: explorer.exe – der ursprüngliche Explorer-Code, worker_x32.dll – das Hauptmodul von Dridex, vnc_x32.dll – das VNC-Modul
Abbildung 5: explorer.exe – der ursprüngliche Explorer-Code, worker_x32.dll – das Hauptmodul von Dridex, vnc_x32.dll – das VNC-Modul
  1. vnc_x32.dll exportiert zwei Funktionen zum Starten und Stoppen des Servers.
  2.  

Dridex Abbildung 6: VNC-exportierte Funktionen
Abbildung 6: VNC-exportierte Funktionen

     

  1. Das Worker-Modul des Explorers ruft die Funktion VncStartServer mit IP und Port als Parameter auf, um die VNC-Verbindung herzustellen.
     

     

Dridex Abbildung 7: Der Aufruf von VNCStartServer mit Parametern
Abbildung 7: Der Aufruf von VNCStartServer mit Parametern

     

  1. Falls eine externe VNC-IP-Adresse ohne Beteiligung des SOCKS-Moduls empfangen wurde, initiiert das VNC-Modul eine Verbindung zum VNC-Server des Angreifers. Die infizierte Maschine initiiert die Remotesitzung. Dies ist eine einzigartige Möglichkeit, das Protokoll zu verwenden, da normalerweise der Betrachter als Server fungiert.
    • Wenn eine lokale VNC-Adresse empfangen wurde, überwacht das Dridex-Modul eingehende VNC-Verbindungen vom Angreifer.
  2.  

     

  3. Nach dem Herstellen einer TCP-Verbindung zum VNC-Server verwendet vnc_x32.dll die Zeichenfolge bot_id – die als Parameter an die Routine VncStartServer übergeben wird –, um eine Herausforderung zu generieren. Dies wird verwendet, um die Identität des Servers zu überprüfen, bevor der VNC-Protokoll-Handshake stattfindet.

     

  4.  

Dridex Abbildung 8: Kommunikationsschema für Opfer und Angreifer
Abbildung 8: Kommunikationsschema für Opfer und Angreifer

Wenn anschließend alle Schritte erfolgreich verlaufen, wird eine VNC-Remotesitzung gestartet und der Betrüger kann ohne Wissen des Opfers Aktionen auf dessen Rechner ausführen.

Diese Funktion wird normalerweise als ergänzende Aktion nach dem Diebstahl von Anmeldeinformationen verwendet, um Sicherheitsprodukte innerhalb der Bank zu umgehen. Ziel dieser Produkte ist die Identifizierung des Benutzers anhand des individuellen Fingerabdrucks des Browsers.

Das Forschungsteam von F5 beobachtet Dridex

Der ständige Wettlauf zwischen Sicherheitsanbietern und Cyberkriminellen drängt Kriminelle dazu, Malware zu entwickeln, die stärker verschleiert ist und aus vielen verschiedenen und unabhängigen Komponenten besteht. Diese Komponenten helfen den Autoren von Malware, die von Bankinstituten und Sicherheitsanbietern eingerichteten Hindernisse und Sicherheitsvorkehrungen zu überwinden. Diese Komponenten erhöhen außerdem die Komplexität des Analyseprozesses, da nun die Interaktion zwischen den Modulen verstanden werden muss.

Dieser Wettlauf zwingt uns als Forscher auch dazu, die Kampagnen und die Entwicklung von Dridex zu beobachten und wachsam zu sein.