Locky-Akteure umgehen herkömmliche Sicherheitsmaßnahmen mit geXORtem JavaScript

June 02, 2016

Seit der Entdeckung von Locky [1] durch Forscher von Proofpoint vor drei Monaten zählte die Ransomware jede Woche zu den am häufigsten per E-Mail verteilten Bedrohungen. Um Sicherheitsmaßnahmen zu umgehen und ihre Kampagnen flexibler zu gestalten, griffen die Akteure hinter Locky dabei auf verschiedene Methoden zurück. So haben sie neue Malware-Loader wie RockLoader [2] eingesetzt und bösartige JavaScript-Dateien [3] im Anhang groß angelegter E-Mail-Kampagnen verteilt. Eine Verschleierung [4] von Netzwerk-Downloads in einer mit anderen Malware-Kampagnen vergleichbaren Weise konnten wir dagegen bislang nicht feststellen. Vergangene Woche konnten wir jedoch einen Locky-Akteur (Affiliate-ID 1) beobachten, der XOR-Obfuskierung nutzte und die Bytes in den Payloads umkehrte, um eine Erkennung durch Netzwerksicherheitstools zu vermeiden.

XOR-Obfuskierung (eXclusive OR) ist eine recht gängige Methode, bei der die Bytes einer Binärdatei mit einem beliebigen Byte verglichen werden, das als Chiffre zur Verschlüsselung der ursprünglichen Binärdatei fungiert. Das ASCII-Zeichen „A“ beispielsweise ist 01000001 in Binärcode. Wird das ASCII-Zeichen „B“ (01000010 in Binärcode) in einer XOR-Operation als Chiffre verwendet und ergibt der Vergleich, dass die einzelnen Bits voneinander abweichen, wird der Wert 1 gesetzt, bei einer Übereinstimmung wiederum der Wert 0, sodass der Binärcode 00000011 entsteht. Als einfache, schnelle und grundsätzlich wirksame Methode ist XOR-Obfuskierung unter Cyberkriminellen beliebt und zudem das Herzstück zuverlässiger Verschlüsselungslösungen. In den folgenden Beispielen werden jeweils die entsprechenden Hexadezimalwerte verwendet; das vorstehende Beispiel mit Binärcode soll lediglich der Veranschaulichung dienen.

In diesem Fall haben wir Payloads beobachtet, die sowohl geXORt als auch umgekehrt waren. Beispiel:

xored-1.png
Abbildung 1: Beispiel für geXORte und umgekehrte Payloads. Bei den letzten vier Bytes handelt es sich um eine Prüfsumme.

Nach Entfernen der Prüfsummen-Bytes und XORieren mit 0x73 (kleines ASCII-„s“):

xored-2.png
Abbildung 2: Beispiel nach XORieren mit 0x73

Die Bytes wurden ebenfalls umgekehrt, wodurch das Umkehren der geXORten Bytes zu folgendem Ergebnis führt:

xored-3.png
Abbildung 3: Beispiel nach XORieren und Umkehren

Bei dieser sowie folgenden Kampagnen wurden außerdem mehrere Download-Adressen mit jeweils einzigartigem Payload verwendet.

Diese Art von Obfuskierung kann besonders wirksam gegen Netzwerksicherheitsprodukte sein, die vorrangig ausführbare Dateien auf ihrem Weg ins Netzwerk scannen, doch lässt sie sich auch zum Ausbruch aus einer Sandbox nutzen.

Seit einigen Monaten ist die Verwendung mehrerer Download-Adressen mit einzigartigen Payloads für Locky Affiliate-ID 1 (und zuvor für Dridex-ID 12x) zu beobachten. Doch erst am 23. Mai konnten wir geXORte Payloads feststellen. Diese wurden mit 0xFF (11111111 in Binärcode) geXORt, aber nicht umgekehrt. Bei einer weiteren Kampagne am selben Tag wurden Payloads mit 0x73 geXORt und umgekehrt. Diese Vorgehensweise wurde bei einer Kampagne in derselben Woche wiederholt, wobei eine vier Byte große Prüfsumme ans Ende gehängt wurde. Indes waren die meisten Payloads offenbar fehlerhaft, sodass die Prüfsumme nicht stimmte. Bei einer Kampagne am 25. Mai kamen die gleiche Methode und die gleichen XOR-Parameter zum Einsatz, dieses Mal jedoch mit korrekter Prüfsumme für alle Payloads. Heute verwendeten die Akteure einen Pseudozufallszahlengenerator zur Erzeugung der XOR-Bytes, womit wir es beinahe mit einer vollwertigen Verschlüsselung statt einer einfachen Obfuskierung zu tun haben.

Wie diese Kampagnen zeigen, ändern Cyberkriminelle ihre Auslieferungsmechanismen fortlaufend und ergänzen sie um neue Verschleierungsmethoden, um Sicherheitsmaßnahmen zu umgehen. Im Beispiel oben handelte es sich bei dem zunächst ausgelieferten Payload tatsächlich um den Malware-Loader RockLoader, der versuchte, Locky über eine komplexe Command-and-Control-Architektur zu installieren. Vor diesem Hintergrund sind auch weiterhin mehrschichtige Sicherheitsmaßnahmen und die Wachsamkeit von Anwendern entscheidend, um Infektionen durch zunehmend schwieriger zu erkennende Bedrohungen zu verhindern.

Quellen

  1. https://www.proofpoint.com/us/threat-insight/post/Dridex-Actors-Get-In-the-Ransomware-Game-With-Locky
  2. https://www.proofpoint.com/us/threat-insight/post/Locky-Ransomware-Cybercriminals-Introduce-New-RockLoader-Malware
  3. https://www.proofpoint.com/us/threat-insight/post/beware-javascript-malicious-email-campaigns-with-js-attachments-explode
  4. https://www.proofpoint.com/us/threat-insight/post/Obfuscation-Techniques-In-Phishing-Attacks

IOCs

Ausgewählte Payload-Hashes

MD5: 95fe78f2a5d8b1451baf924e7d60fcc4 (141312 bytes)
MD5: 92c3ba44eac7ebe947c43ca90cc7f63e (249856 bytes)
MD5: 527290686ec5515f248d4d20c3bb29df (241664 bytes)