Ransomware zerpflücken

Wir alle kennen Mails wie diese. Man bekommt Rechnungen von Personen und Firmen, die man nicht kennt. Mein Postfach ist voll damit. Grund genug, mir einmal eine der Mails genauer an zu sehen.

https://0fury.de/blog/images/zepto_mail.png

Bitte nicht nachmachen. Das hantieren mit Malware in nicht geschützten Umgebungen kann verheerende Folgen haben.

Von wo kommt die Mail?

In diesem Falle sollte die Email von einem in Deutschland angesiedelten Onlineshop stammen.
Ein Blick in den Email-Header zeigt ein anderes Bild. Die Mail kam aus Indien, der Onlineshop wurde nur als Verkleidung missbraucht.

    Received: from unknown (HELO abts-tn-dynamic-x.x.164.122.airtelbroadband.in)
     (122.164.x.x)

Was ist im Anhang?

Der Anhang besteht aus einem Zip-Archiv mit einem JavaScript-File. Also ist es gut möglich, dass wir hier einen Downloader vor uns haben.

Bitte nicht nachmachen. Das hantieren mit Malware in nicht geschützten Umgebungen kann verheerende Folgen haben.

Mit wem spreche ich?

Das Skript wird nur von 13 von 54 Virenscanner überhaupt als Malware erkannt. Erschreckend finde ich, dass namhafte Hersteller wie Kaspersky diese doch recht schon ein paar Tage alte Malware nicht erkennen. Microsoft Defender findet auch nix, okay, das war nicht weiter verwunderlich.

https://0fury.de/blog/images/zepto_dropper_scan.png
Auf Basis der vorliegenden Ergebnisse liegt nahe, dass wir einen Downloader für einen Cryptolocker, evtl. auch Locky vor uns haben.

PluhiPluhiShickPick

Der Code von Malware wird auf vielfältige Weise unleserlich gemacht. Scheinbar hatte man hier eine vorliebe für das Wort „Pluhi“ zu haben. Pluhi könnte polnisch sein und für „Stecker“ stehen. Auch wenn das keinen wirklichen Sinn macht.

https://0fury.de/blog/images/zepto_code.png
Ich möchte mich jetzt nicht zu sehr in Details vertiefen, daher gehe ich zum Kern des Downloader, von wo wird was heruntergeladen. Der Quelltext (und die Scanner-Ergebnisse) lassen derauf schließen, dass es ein reiner Dropper ist. Im Code deuten Fragmente wie 00M+11SX+22ML auf das WScript-Objekt MSXML2.XMLHTTP hin. Dieses Objekt dient dem Download von Dateien.

https://0fury.de/blog/images/zepto_url.png

Die URL des eigentlichen Downloadziels ist recht lasch verschleiert, nämlich mit Unicode-Schreibweisen, z. B. \u0066 für f.

Die URL habe ich zensiert, damit sich keiner „aus Versehen“ eine Ransomware herunterläd.

Der eigentliche Virus

https://0fury.de/blog/images/zepto_scan.png

Der eigentliche, vom Dropper heruntergeladene und ausgeführte Virus wird von 37 von 53 Virenscanner erkannt. Auch diese Ergebnisse deuten auf einen Locky-Verschnitt hin.

Dennoch ist es meiner Meinung recht erschreckend, dass nicht alle Virenscanner diese Malware erkennen.

Arbeitsweise

Ich habe hier eine dynamische Analyse durchgeführt. Eine statische analyse durch Assembler-Studium konnte ich noch nicht umsetzen. Vielleicht folgt das noch.

Man merkt direkt, dass die in %TEMP% abgelegte Datei eine enorme Auslastung verursacht.
Die Malware randaliert in den eigenen Dateien und verschlüsselt die dort abgelegten Dateien nach dem Schema eindeutigeguid.zepto.
Windows-Dateien fasst die Ransomware nicht an, das Betriebssystem muss als Teil der Erpressung ja weiterhin funktionieren.

https://0fury.de/blog/images/zepto_leistung.png

Das mir vorliegende Sample benötigt mindestens 2 (eher 3) Opfer, um zu arbeiten.

  • Opfer 1 betreibt eine Webseite, auf der die Ransomware abgelegt wird (oft Webshops).
  • Opfer 2 hat eine Email-Adresse, die missbraucht wird (hier ebenfalls von einem Onlineshop), keine Verbindung zu Opfer 1.
  • Opfer 3 (möglicherweise) hat einen Mailserver, der benutzt wird. Es ist aber auch möglich, dass Opfer 3 nicht existiert und der Mailserver vom Ransomware-Entwickler betrieben wird

Die Zepto-Ransomware hat ein Verhalten an den Tag gelegt, was auf folgende Struktur/ Arbeitsweise schließen lässt:

Dies ist das Verhalten durch die dynamische Analyse in einer virtuellen Maschine. Je nach Sample und Ursprung kann das Verhalten dieser Malware jedoch variieren.

https://0fury.de/blog/images/zepto_workflow.png

Zahlen, bitte!

Zepto will 2,5 Bitcoins (also etwa 1200 €) von seinem Opfer haben. Gezahlt wird über eine Seite im TOR-Netz.
https://0fury.de/blog/images/zepto_zahlen.png

Nach Hause telefonieren

Die vorliegende Malware will ins Internet. Mittels fakenet habe ich die Internetkommunikation mitgeschnitten und mit ungültigen Antworten beantwortet; die Malware versucht den Opfer-Rechner zu registrieren, um eine Kennung zu bekommen. Schafft er den ersten Upload nicht, so versucht er eine Reihe weiterer Server. Schafft er dann immer noch keinen Upload, verharrt Zepto in einer Art Starre, beendet sich aber nicht.

https://0fury.de/blog/images/zepto_get.png

Zusammenfassung

  • Name
    • Zepto
  • Art
    • Ransomware („Crypto-Locker“)
  • Angriffsvektor: Email
    • Zip-Archiv 83124_Rechnung_2016-861461_20160705.zip md5 4568DA4758DC10902F6B01F9649C054A
    • JavaScript-Dropper 6446_2016-13312_20160705.js md5 BAA53ACD268E3B39250EA4734C2842D1
  • Aktivität
    • Erzeugt Anwendung in %TEMP%
    • Erstellt rekursive Dateiliste -> verursacht hohe Last
    • Verschlüsselt eigene Dateien nach dem Schema guid.zepto
    • Legt in jedem verschlüsselten Verzeichnis eine HTML-Datei mit Forderungen ab
    • Ändert das Wallpaper
  • Netzwerk-Aktionen:
    • versucht auf eltiche .ru, .biz und *.pl – Domains zuzugreifen (Necurs-Botnet)
    • Ziel HTTP GET /upload/_dispatch.php

Christoph

Programmierer. Linuxuser. Blogger. Macher vom Distrochooser. Auch unter me@0fury.de erreichbar (PGP).

Das könnte Dich auch interessieren …

1 Antwort

  1. 25. Januar 2017

    […] hier kein Heise Security-Abklatsch aus meinem Blog machen. Eher in die Richtung, was ich mit der Ransomware Zepto gemacht habe. Analysen, Erklärungen. Ich stehe für Wünsche […]