Neue Angriffskampagne nutzt Sicherheitslücken in Microsoft Office zur Verbreitung der Malware Zyklon aus

Einleitung

FireEye-Experten haben festgestellt, dass Hacker relativ neue Sicherheitslücken in Microsoft Office ausnutzen, um die HTTP-Malware Zyklon zu verbreiten. Diese öffentlich verfügbare, ausgereifte Backdoor ist mindestens seit Anfang 2016 im Umlauf und enthält zahlreiche komplexe Funktionen,

unter anderem zum Aufzeichnen von Tastatureingaben, Abgreifen von Passwörtern, Herunterladen und Ausführen zusätzlicher Plug-ins, Starten von DDoS-Angriffen (Distributed Denial-of-Service) sowie zum Aktualisieren und Entfernen ihrer eigenen Daten. Bei entsprechender Konfiguration kann sie über Tor (The Onion Router) mit dem Command-and-Control-Server (C2-Server) kommunizieren. Die Malware kann mehrere Plug-ins herunterladen, darunter auch einige, die Funktionen für das Krypto-Mining und das Abgreifen von Passwörtern aus Browsern und E-Mail-Software enthalten. Zyklon verfügt zudem über einen äußerst effizienten Mechanismus zur Überwachung der Ausbreitung und der Auswirkungen.

Angriffsvektoren

Bei der jüngsten Malware Attacke wurde Zyklon hauptsächlich über Spam-E-Mails verbreitet. Eine solche E-Mail enthält in der Regel eine ZIP-Datei mit einer schädlichen DOC-Datei (siehe Beispiel in Abbildung 1).

Folgende Branchen waren hauptsächlich betroffen:

  • Telekommunikation
  • Versicherungen
  • Finanzdienstleistungen


Abbildung 1: Beispiel für eine schädliche Datei

Ablauf des Angriffs

  1. Das Opfer empfängt eine E-Mail mit einem ZIP-Anhang, der eine schädliche DOC-Datei enthält.
  2. Diese Dokumente nutzen mindestens drei bekannte Sicherheitslücken in Microsoft Office aus, die wir im Abschnitt „Angriffstechniken“ erläutern werden. Wenn das Dokument in einer ungesicherten Umgebung geöffnet wird, startet der PowerShell-basierte Schadcode.
  3. Das PowerShell-Skript lädt den letzten Schadcode vom C2-Server herunter und führt ihn aus.

In Abbildung 2 sehen Sie eine Darstellung des Angriffsablaufs und die Reihenfolge der einzelnen Schritte.


Abbildung 2: Ablauf des Zyklon-Angriffs

Angriffstechniken

CVE-2017-8759

Diese Sicherheitslücke wurde im September 2017 von FireEye entdeckt. Seitdem haben wir Vorfälle aufgedeckt, bei denen sie in der Praxis ausgenutzt wurde.

In die DOC-Datei ist ein OLE-Objekt eingebettet. Wird dieses aufgerufen, lädt es eine weitere DOC-Datei unter der gespeicherten URL herunter (siehe Abbildung 3).


Abbildung 3: In das OLE-Objekt eingebettete URL

CVE-2017-11882

Wir haben außerdem ein ähnliches Vorgehen bei einer weiteren, kürzlich aufgedeckten Sicherheitslücke (CVE-2017-11882) in Microsoft Office beobachtet. Nach dem Öffnen des schädlichen DOC-Anhangs wird über eine in dem eingebetteten OLE-Objekt gespeicherte URL eine weitere Datei heruntergeladen (siehe Abbildung 4).


Abbildung 4: In das OLE-Objekt eingebettete URL


Abbildung 5: HTTP-GET-Anfrage zum Herunterladen des Schadcodes der nächsten Stufe

Die heruntergeladene, XML-basierte Datei doc.doc enthält einen PowerShell-Befehl (siehe Abbildung 6), mit dem die Binärdatei Pause.ps1 heruntergeladen wird.


Abbildung 6: PowerShell-Befehl zum Herunterladen des Schadcodes Pause.ps1

Dynamischer Datenaustausch (DDE)

Dynamischer Datenaustausch (Dynamic Data Exchange, DDE) ist ein Kommunikationsprozess zur Remote-Ausführung von Code. Mithilfe des PowerShell-Skripts (siehe Abbildung 7) wird der nächste Schadcode (Pause.ps1) heruntergeladen.


Abbildung 7: DDE-Technik zum Herunterladen des Schadcodes Pause.ps1

Eine der hier erstmals beobachteten Techniken ist die Verwendung einer IP-Adresse ohne Punkte (z. B. hxxp://258476380).

In Abbildung 8 ist die Netzwerkkommunikation der heruntergeladenen Datei Pause.ps1 dargestellt.


Abbildung 8: Netzwerkkommunikation beim Herunterladen des Schadcodes Pause.ps1

Einschleusung von Zyklon

Bei all diesen Techniken wird dieselbe Domain verwendet, um den Schadcode der nächsten Stufe (Pause.ps1) herunterzuladen. Dabei handelt es sich um ein weiteres PowerShell-Skript mit Base64-Verschlüsselung (siehe Abbildung 8).

Das Skript Pause.ps1 ist für die Auflösung der APIs verantwortlich, die für die Code-Injektion benötigt werden, und beinhaltet den Shellcode für die Injektion. Die APIs enthalten VirtualAlloc(), memset() und CreateThread(). In Abbildung 9 ist der entschlüsselte Base64-Code dargestellt.


Abbildung 9: Entschlüsseltes Base64-Skript Pause.ps1

Der eingefügte Code ist dafür verantwortlich, den letzten Schadcode vom Server herunterzuladen (siehe Abbildung 10). Dabei handelt es sich um eine ausführbare PE-Datei, die mit dem .NET-Framework kompiliert wurde.


Abbildung 10: Netzwerkverkehr zum Herunterladen des letzten Schadcodes (words.exe)

Nach dem Öffnen führt die Datei die folgenden Aktionen durch:

  1. Sie legt eine Kopie von sich selbst und eine XML-Datei mit den Konfigurationsdaten für die Aufgabenplanung (siehe Abbildung 11) unter %AppData%\svchost.exe\svchost.exe ab.
  2. Sie entpackt den Code im Speicher mittels Prozessaushöhlung (auch Prozessaustausch bzw. „Process Hollowing“ genannt). Die MSIL-Datei enthält den gepackten Hauptschadcode in dem Abschnitt für die .NET-Ressourcen.
  3. Bei dem entpackten Code handelt es sich um Zyklon.


Abbildung 11: XML-Konfigurationsdatei für die Aufgabenplanung

Zyklon ruft erst eine externe IP-Adresse der infizierten Maschine ab:

  • api.ipify[.]org
  • ip.anysrc[.]net
  • myexternalip[.]com
  • whatsmyip[.]com

Die ausführbare Zyklon-Datei enthält eine weitere verschlüsselte Datei im Abschnitt für die .NET-Ressourcen, die die Bezeichnung tor trägt. Diese Datei wird entschlüsselt und in eine Instanz von InstallUtiil.exe eingefügt. Sie soll Tor anonymisieren.

Command & Control-Kommunikation

Für die C2-Kommunikation nutzt Zyklon das Tor-Netzwerk als Proxy. Die Malware sendet eine POST-Anfrage an den C2-Server. Die Serveradresse wird über die Datei gate.php angegeben, die auch im Dateispeicher abgelegt ist. Der bei dieser Anfrage übergebene Parameter lautet „getkey=y“. Als Antwort auf diese Anfrage sendet der C2-Server einen mit Base64 verschlüsselten öffentlichen RSA-Schlüssel (siehe Abbildung 12).


Abbildung 12: Öffentlicher RSA-Schlüssel von Zyklon

Nachdem die Verbindung zum C2-Server hergestellt wurde, kann die Malware mit dem Kontrollserver kommunizieren. Dabei werden die in der Tabelle 1 dargestellten Befehle verwendet.

Befehl

Maßnahmen

sign

Anfordern von Systeminformationen

settings

Anfordern der Einstellungen vom C2-Server

logs

Hochladen gestohlener Passwörter

wallet

Hochladen gestohlener Daten aus Kryptowährungskonten

proxy

Hinweis auf den offenen SOCKS-Proxy-Port

miner

Befehle für das Krypto-Mining

error

Melden von Fehlern an den C2-Server

ddos

Befehle für einen DDoS-Angriff

Tabelle 1: Von Zyklon akzeptierte Befehle

In der folgenden Abbildung sehen Sie jeweils die ursprüngliche Anfrage und die entsprechende Antwort des Servers für die Befehle „settings“ (Abbildung 13), „sign“ (Abbildung 14) und „ddos“ (Abbildung 15).


Abbildung 13: Von Zyklon ausgegebener Befehl „settings“ und die Antwort des Servers


Abbildung 14: Von Zyklon ausgegebener Befehl „sign“ und die Antwort des Servers


Abbildung 15: Von Zyklon ausgegebener Befehl „ddos“ und die Antwort des Servers

Plug-in-Manager

Zyklon lädt eine Reihe von Plug-ins vom C2-Server herunter. Die Plug-in-URL wird in einer Datei mit dem folgenden Format gespeichert:

  • /plugin/index.php?plugin=<Plugin_Name>

Diese Plug-ins wurden im Speicher der Zyklon-Malware gefunden:

  • /plugin/index.php?plugin=cuda
  • /plugin/index.php?plugin=minerd
  • /plugin/index.php?plugin=sgminer
  • /plugin/index.php?plugin=socks
  • /plugin/index.php?plugin=tor
  • /plugin/index.php?plugin=games
  • /plugin/index.php?plugin=software
  • /plugin/index.php?plugin=ftp
  • /plugin/index.php?plugin=email
  • /plugin/index.php?plugin=browser

Die heruntergeladenen Plug-ins werden in Windows\Microsoft.NET\Framework\v4.0.30319\RegAsm.exe eingefügt.

Zusätzliche Funktionen

Die Zyklon-Malware bietet außerdem die folgenden Funktionen (über Plug-ins):

Abgreifen von Browser-Passwörtern

Die HTTP-Malware Zyklon kann Passwörter aus gängigen Webbrowsern abgreifen, darunter:

  • Google Chrome
  • Mozilla Firefox
  • Internet Explorer
  • Opera
  • Chrome Canary/SXS
  • CoolNovo
  • Apple Safari
  • Flock
  • SeaMonkey
  • SRWare Iron
  • Comodo Dragon
Abgreifen von FTP-Passwörtern

Zyklon kann zudem FTP-Passwörter für die folgenden FTP-Anwendungen abgreifen:

  • FileZilla
  • SmartFTP
  • FlashFXP
  • FTPCommander
  • Dreamweaver
  • WS_FTP
Abgreifen der Softwareschlüssel von Spielen

Zyklon kann die Softwareschlüssel der folgenden Computerspiele abgreifen:

  • Battlefield
  • Call of Duty
  • FIFA
  • NFS
  • Age of Empires
  • Quake
  • The Sims
  • Half-Life
  • IGI
  • Star Wars
Abgreifen von E-Mail-Passwörtern

Zyklon kann auch die E-Mail-Passwörter der folgenden Anwendungen abgreifen:

  • Microsoft Outlook Express
  • Microsoft Outlook 2002/XP/2003/2007/2010/2013
  • Mozilla Thunderbird
  • Windows Live Mail 2012
  • IncrediMail, Foxmail Version 6.x bis v7.x
  • Windows Live Messenger
  • MSN Messenger
  • Google Talk
  • GMail Notifier
  • PaltalkScene IM
  • Pidgin (früher: Gaim) Messenger
  • Miranda Messenger
  • Windows Credential Manager
Abgreifen von Lizenzschlüsseln

Die Malware kann die Lizenzschlüssel/Seriennummern von mehr als 200 gängigen Softwareversionen automatisch erkennen und entschlüsseln, zum Beispiel von Office, SQL Server, Adobe und Nero.

SOCKS-5-Proxyserver

Zyklon kann einen Reverse-SOCKS-5-Proxyserver auf infizierten Hostmaschinen erstellen.

Hacken der Bitcoin-Adresse in der Zwischenablage

Zyklon kann die Zwischenablage hacken und die kopierte Bitcoin-Adresse des Benutzers durch eine von dem Kontrollserver des Hackers bereitgestellte Adresse ersetzen.

Preise für Zyklon

Sicherheitsexperten haben verschiedene Versionen der HTTP-Malware Zyklon gefunden, die auf bekannten Untergrund-Websites zu den folgenden Preisen zum Verkauf angeboten wurden:

  • Normaler Build: 75 $ (USD)
  • Tor-kompatibler Build: 125 $ (USD)
  • Neue Builds/Updates: 15 $ (USD)
  • Zahlungsmethode: Bitcoin (BTC)

Fazit

Die Hacker nutzen kürzlich aufgedeckte Sicherheitslücken in gängiger Software, wie in diesem Fall Microsoft Office. Dadurch wird die Wahrscheinlichkeit einer Infizierung drastisch erhöht. Diese Bedrohungen machen deutlich, warum es so wichtig ist, sämtliche Softwareversionen fortlaufend zu aktualisieren. Alle Branchen sollten sich auf derartige Angriffe vorbereiten, da die Hacker höchstwahrscheinlich ihren Zielkreis ausweiten werden.

Als wir diesen Artikel verfassten, konnte die FireEye MVX-Engine (Multi Vector Execution) diese Bedrohung erkennen und abwehren. In Tabelle 2 sind die aktuellen Erkennungs- und Abwehrfunktionen für jedes Produkt aufgelistet.

Name

Produkt

Maßnahmen

POWERSHELL DOWNLOADER D (METHODE)

HX

Erkennung

VERDÄCHTIGE POWERSHELL-NUTZUNG (METHODE)

HX

Erkennung

POWERSHELL DOWNLOADER (METHODE)

HX

Erkennung

VERDÄCHTIGE EQNEDT-NUTZUNG (METHODE)

HX

Erkennung

TOR (TUNNELER)

HX

Erkennung

VERDÄCHTIGE DATEI SVCHOST.EXE (METHODE)

HX

Erkennung

Malware.Binary.rtf

EX/ETP/NX

Abwehr

Malware.Binary

EX/ETP/NX

Abwehr

FE_Exploit_RTF_CVE_2017_8759

EX/ETP/NX

Abwehr

FE_Exploit_RTF_CVE201711882_1

EX/ETP/NX

Abwehr

Tabelle 2: Aktuelle Erkennungsfunktionen der FireEye-Produkte

Gefahrenindikatoren

Die Analyse basiert auf dem Dokumentbeispiel aus Tabelle 3.

MD5

Name

76011037410d031aa41e5d381909f9ce

accounts.doc

4bae7fb819761a7ac8326baf8d8eb6ab

Courier.doc

eb5fa454ab42c8aec443ba8b8c97339b

doc.doc

886a4da306e019aa0ad3a03524b02a1c

Pause.ps1

04077ecbdc412d6d87fc21e4b3a4d088

words.exe

Tabelle 3: Beispieldokument von Zyklon

Netzwerkindikatoren
  • 154.16.93.182
  • 85.214.136.179
  • 178.254.21.218
  • 159.203.42.107
  • 217.12.223.216
  • 138.201.143.186
  • 216.244.85.211
  • 51.15.78.0
  • 213.251.226.175
  • 93.95.100.202
  • warnono.punkdns.top