Von Linux zu Windows – neue Familie von Plattform übergreifenden Desktop-Backdoors entdeckt

Hintergrund

Kürzlich stießen wir auf eine neue Familie von Plattform übergreifenden Backdoors für Desktop-Umgebungen. Als erstes gerieten wir an die Linux-Variante und mit den aus dieser Binärdatei extrahierten Informationen waren wir in der Lage, auch die Variante für Windows-Desktops aufzuspüren. Und nicht nur das. Die Windows-Version war zusätzlich mit einer Codesignatur ausgestattet. Schauen wir uns beide einmal genauer an.

DropboxCache alias Backdoor.Linux.Mokes.a

Diese Backdoor für Linux-basierte Betriebssysteme ist mit UPX gepackt und steckt voller Funktionen zur Überwachung der Aktivitäten des Opfers.Unter anderem enthält der Schädling Code zur Audio-Aufzeichnung und zum Erstellen von Screenshots.

Von Linux zu Windows – neue Familie von Plattform übergreifenden Desktop-Backdoors entdeckt

Nach ihrer Erstausführung überprüft die Binärdatei ihren eigenen Dateipfad und kopiert sich, wenn nötig, an einen der folgenden Orte:

  • $HOME/$QT-GenericDataLocation/.mozilla/firefox/profiled
  • $HOME/$QT-GenericDataLocation/.dropbox/DropboxCache

Ein Beispiel wäre dieser Speicherort: $HOME/.local/share/.dropbox/DropboxCache. Um auch nach einem Reboot wieder gestartet zu werden, verwendet die Backdoor diese nicht sehr unauffällige Methode: Sie erstellt eine .desktop-Datei in $HOME/.config/autostart/$filename.desktop. Und hier ist das entsprechende Schema:

Von Linux zu Windows – neue Familie von Plattform übergreifenden Desktop-Backdoors entdeckt

Daraufhin verbindet sie sich mit ihrem in den Code geschriebenen C&C-Server. Ab jetzt setzt sie jede Minute eine http-Anfrage ab:

Von Linux zu Windows – neue Familie von Plattform übergreifenden Desktop-Backdoors entdeckt

Diese „Heartbeat“-Anfrage antwortet mit einem Bild mit der Größe von einem Byte. Um Daten und Befehle hochzuladen und zu empfangen, verbindet sich die Backdoor mit TCP Port 433 und verwendet ein proprietäres Protokoll und AES-Verschlüsselung. Das Binary ist mit den folgenden öffentlichen Schlüsseln ausgestattet:

Von Linux zu Windows – neue Familie von Plattform übergreifenden Desktop-Backdoors entdeckt

Die Malware sammelt dann die vom Keylogger, den Audioaufzeichnungen und den Screenshots zusammengetragenen Informationen in /tmp/. Später lädt sie die gesammelten Daten auf den C&C.

  • /tmp/ss0-DDMMyy-HHmmss-nnn.sst (Screenshots, JPEG, alle 30 Sek.)
  • /tmp/aa0-DDMMyy-HHmmss-nnn.aat (Audioaufzeichnungen, WAV)
  • /tmp/kk0-DDMMyy-HHmmss-nnn.kkt (Tastaturaufzeichnungen)
  • /tmp/dd0-DDMMyy-HHmmss-nnn.ddt (willkürliche Daten)

DDMMyy = Datum: 280116 = 28.01.2016
HHmmss = Zeit: 154411 = 15:44:11
nnn = Millisekunden.

Von Linux zu Windows – neue Familie von Plattform übergreifenden Desktop-Backdoors entdeckt

Dieser Teil des Codes ist in der Lage, Audiomitschnitte vom Rechner des Opfers anzufertigen.

Doch das Abfangen von Audio-Daten ist im Event-Timer dieser Binärdatei nicht aktiviert, ebenso wenig wie die Funktion zum Aufzeichnen der Tastatureingaben. Da die Autoren die Binärdatei statisch mit libqt, xkbcommon (Bibliothek zur Verarbeitung der Tastatur-Beschreibungen) und OpenSSL (1.0.2c) verlinkt haben, liegt ihre Größe bei über 13 MB. Die Kriminellen haben sich auch nicht die Mühe gemacht, die Binärdatei in irgendeiner Weise zu obfuskieren. Sie enthält sogar fast alle Debugging-Symbole, was bei der Analyse sehr nützlich ist.

Von Linux zu Windows – neue Familie von Plattform übergreifenden Desktop-Backdoors entdeckt

Es gibt außerdem Hinweise auf die Quelldateien des Autors:

Von Linux zu Windows – neue Familie von Plattform übergreifenden Desktop-Backdoors entdeckt

Offenbar ist sie in C++ und Qt geschrieben, einem Plattform übergreifenden Anwendungsframework. Den Metadaten der Binärdatei zufolge wurde sie unter Verwendung von „GCC 4.8.4 (Ubuntu 4.8.4-2ubuntu1~14.04)“ auf Ubuntu 14.04 LTS „Trusty Tahr“ erstellt. Gemäß Zeitstempel qt_instdate wurden die Qt-Quellen zuletzt am 26.09.2015 konfiguriert (qt/qtbase.git: deprecated), was den Schluss nahe legt, dass die Malware nicht vor Ende September 2015 erstellt wurde.

Wir erkennen diesen Malware-Typ als Backdoor.Linux.Mokes.a.

OLMyJuxM.exe alias Backdoor.Win32.Mokes.imv

Vor wenigen Tagen stießen wir auf ein Sample, das uns recht bekannt vorkam, obgleich es für Maschinen unter Windows gemacht war. Schnell zeigte sich, dass es sich hierbei um eine 32-Bit Windows-Variante von Backdoor.Linux.Mokes.a handelte.

Nach der Ausführung wählt die Malware zufällig eine von neun unterschiedlichen Orten in %AppData% aus, um sich selbst dauerhaft auf dem Rechner zu installieren. Die Binärdatei erstellt außerdem eine Datei mit der Bezeichnung „version“ in demselben Ordner. Wie der Name schon sagt, sind dort Versionsinformationen zusammen mit dem Installationspfad der Malware selbst gespeichert:

Von Linux zu Windows – neue Familie von Plattform übergreifenden Desktop-Backdoors entdeckt

Dann werden die entsprechenden Registry-Schlüssel in HKCU\Software\Microsoft\Windows\CurrentVersion\Run erstellt, um die Persistenz im System sicherzustellen.

Nachdem die Malware ihre eigene Kopie an dem neuen Ort ausgeführt hat, wird die SetWindowsHook API benutzt, um die Keylogger-Funktionalität einzurichten und die Maus-Eingaben und die an die Message-Queue gesendeten internen Event-Messages abzuhören.

Der nächste Schritt ist die Kontaktaufnahme mit dem hart kodierten C&C-Server. Bis auf die unterschiedlichen IP-Adressen und Cryptoschlüssel liegt hier fast identisches Verhalten vor.

Von Linux zu Windows – neue Familie von Plattform übergreifenden Desktop-Backdoors entdeckt

Allerdings verwendet diese spezielle Variante eine leicht abweichende Implementierung und versucht, den Standard User-Agent-String von Windows zu erhalten.

Von Linux zu Windows – neue Familie von Plattform übergreifenden Desktop-Backdoors entdeckt

Klappt das nicht, so verwendet das Sample die hart kodierte Version:

Von Linux zu Windows – neue Familie von Plattform übergreifenden Desktop-Backdoors entdeckt

Diese Version verbindet sich auf dieselbe Weise mit seinem C&C-Server wie die Linux-Variante auch: Einmal pro Minute sendet sie ein „Herzschlag-Signal“ via HTTP (GET /v1). Für den Empfang von Befehlen oder zum Up- und Download zusätzlicher Ressourcen verwendet sie TCP Port 433.

Das Sample benutzt fast die gleichen Dateinamensschemata, um die erhaltenen Screenshots, Audioaufzeichnungen, Keylogs und andere zufällige Daten zu speichern. Anders als in der Linux-Variante ist der Keylogger in diesem Sample jedoch aktiv. Unten sieht man den Inhalt einer Logdatei mit Tastatureingaben, die sich in %TEMP% befindet und von diesem Sample erstellt wurde:

ortloff_blog_Backdoor_Win32_Mokes_de_12

Und erneut stießen wir auf unerwarteten Code. Der folgende Screenshot zeigt Verweise auf Code, der in der Lage ist, Bilder von einer angeschlossenen Kamera abzugreifen, wie beispielsweise einer integrierten Webcam.

Von Linux zu Windows – neue Familie von Plattform übergreifenden Desktop-Backdoors entdeckt

Ähnlich wie bei der Linux-Version hat der Autor eine nicht unerhebliche Zahl von verdächtigen Strings in der Binärdatei hinterlassen. Der folgende String ist überraschend ehrlich.

Von Linux zu Windows – neue Familie von Plattform übergreifenden Desktop-Backdoors entdeckt

Vom Standpunkt des Kriminellen aus gesehen ist es wichtig, dass die Software legitim aussieht und dass Windows vor der Ausführung von unbekannter Software den Nutzer nicht um eine Bestätigung bittet. Auf Windows Rechnern verhindert man das durch die Verwendung von Trusted Code Signing Certificates. In diesem speziellen Fall gelang es dem Verbrecher, die Binärdatei mit einem vertrauenswürdigen Zertifikat von „COMODO RSA Code Signing CA“ zu signieren.

Von Linux zu Windows – neue Familie von Plattform übergreifenden Desktop-Backdoors entdeckt

Wir erkennen diesen Malware-Typ als Backdoor.Win32.Mokes.imv.

Was kommt als nächstes?

Da diese Software ganz bewusst Plattform unabhängig entwickelt wurde, ist es zu erwarten, dass wir es in Zukunft auch mit entsprechenden Mac OS X-Samples zu tun bekommen werden.

Update

(01.02.2016, 10:45 UTC): Wir haben gerade Backdoor.Win32.Mokes.imw erhalten. Es ist das erste Mal, dass wir eine Mokes-Variante mit aktiviertem Modul für Audioaufzeichnungen zu sehen bekommen. Die Malware erstellt alle 5 Minuten eine neue Audio-Datei.

Von Linux zu Windows – neue Familie von Plattform übergreifenden Desktop-Backdoors entdeckt

IOCs

Backdoor.Linux.Mokes.a

c9e0e5e2aeaecb232120e8573e97a6b8

$HOME/$QT-GenericDataLocation/.mozilla/firefox/profiled
$HOME/$QT-GenericDataLocation/.dropbox/DropboxCache
$HOME/.config/autostart/profiled.desktop
$HOME/.config/autostart/DropboxCache.desktop

/tmp/ss0-$date-$time-$ms.sst

Backdoor.Win32.Mokes.imv & .imw

f2407fd12ec0d4f3e82484c027c7d149 (imw)
91099aa413722d22aa50f85794ee386e (imv)

%AppData%\Skype\SkypeHelper.exe
%AppData%\Skype\version
%AppData%\Dropbox\bin\DropboxHelper.exe
%AppData%\Dropbox\bin\version
%AppData%\Google\Chrome\nacl32.exe
%AppData%\Google\Chrome\version
%AppData%\Google\Chrome\nacl64.exe
%AppData%\Google\Chrome\version
%AppData%\Mozilla\Firefox\mozillacache.exe
%AppData%\Mozilla\Firefox\version
%AppData%\Hewlett-Packard\hpqcore.exe
%AppData%\Hewlett-Packard\version
%AppData%\Hewlett-Packard\hpprint.exe
%AppData%\Hewlett-Packard\version
%AppData%\Hewlett-Packard\hpscan.exe
%AppData%\Hewlett-Packard\version
%AppData%\Adobe\Acrobat\AcroBroker.exe
%AppData%\Adobe\Acrobat\version

%TEMP%\aa$n-$date-$time-$ms.aat (imw)
wobei $n der Dezimalwert eines Hashes ist, der aus dem Name der Soundkarte gebildet wird.

%TEMP%\ss0-$date-$time-$ms.sst
%TEMP%\dd0-$date-$time-$ms.ddt
%TEMP%\kk$date.kkt

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run „%PERSISTENT-FILENAME%“, „%PERSISTENT-FILEPATH%“

wobei %PERSISTENT-FILENAME% einer der oben stehenden Dateinamen
und %PERSISTENT-FILEPATH% der entsprechende Pfad ist.

Ähnliche Beiträge

Schreibe einen Kommentar

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