Es müssen nicht immer neu entwickelte Schadcodes sein, die Angreifer verwenden. Oftmals nutzen sie auch erprobte Malware für ihre Zwecke, wenn es für sie passend erscheint. Ungleich wichtiger in einem solchen Fall ist es dann natürlich, den Verbreitungsweg so zu wählen, dass sich die Schadsoftware unbemerkt beim Opfer platzieren lässt. Wir haben uns ein solches Vorgehen einmal etwas genauer am Beispiel NanoCore angeschaut.

 

NanoCore ist ein Remote Access Trojaner, der seit 2013 in verschiedenen Versionen als  vergleichsweise günstiges Fertigprodukt zu erwerben ist. Remote Access Trojaner sind eine sehr gefährliche Malwareart, die es Angreifern erlaubt, infizierte Systeme komplett aus der Ferne zu steuern und zu überwachen. 2015 wurde die Vollversion von NanoCore mit allen Plugins gecracked und ist seitdem in Untergrundforen kostenlos erhältlich.

 

Der Entwickler von NanoCore wurde letztes Jahr festgenommen und in einem spannenden Verfahren zu 3 Jahren Haft verurteilt. Von besonderer Bedeutung ist der Fall vor allem deshalb, da erstmals ein Entwickler eines Dual-Use-Tools verurteilt wurde, der das Tool nicht “für den Eigenbedarf” zum Hacken verwendet hat. Entscheidend für die Verurteilung war, dass der Entwickler die Software in Hackerforen angeboten hatte und wusste, dass manche seiner Kunden das Tool für illegale Zwecke einsetzen würden.

 

NanoCore ist noch immer nicht aus der Mode gekommen und treibt weiterhin sein Unwesen. Da das Tool jedoch sehr gut analysiert ist und daher leicht von Antivirenprodukten aufgespürt werden kann, müssen die Angreifer oft kreativ werden, um den Trojaner auszuliefern. Hierfür denken sie sich ausgefeilte Verschleierungsmethoden aus.

 

In der vergangenen Woche konnten wir einen Cyberangriff mit NanoCore beobachten, in dem auf kreative Art und Weise verschiedene Techniken kombiniert wurden, um den Remote Access Trojaner auszuliefern und zu installieren. Hierfür verwendeten die Angreifer eine Kombination aus Phishing, einem selbstextrahierenden Winrar-Archiv sowie dem legitim nutzbaren Administrationswerkzeug AutoIT.

 

Auslieferung per Phishingmail

 

Die initiale Phishingmail gaukelt dem Empfänger ein besonderes Geschäftsangebot vor, das in einem mitgelieferten PDF namens “inquiry.pdf” im Anhang stehen soll. Durch die Verwendung vollständiger Kontaktinformationen soll die Mail überzeugender wirken. Da diese Informationen häufig echt sind, haben wir sie im nachfolgenden Screenshot ausgeschwärzt.

 

Beispiel Phishing Mail

Beispiel für eine Phishing Mail

 

Das anhängende Phishing-PDF sieht aus wie ein Link zu Dropbox, beinhaltet aber eine URL, über die eine Archivdatei aus einer anderen Quelle heruntergeladen wird.

 

Fake Dropbox-Seite zu Malware-Link

Fake Dropbox-Seite zu Malware-Link

 

In diesem “inquiry.zip” ZIP-Archiv befindet sich die Datei “inquiry.scr”. Die Dateiendung “scr” ist nur eine Alternative zu “exe” und wurde früher für ausführbare PE-Dateien verwendet, die Bildschirmschoner installieren. In diesem Fall handelt es sich um ein selbstextrahierendes Winrar-Archiv, das als Malwaredropper missbraucht wird.

 

Verwendung eines selbstextrahierenden Archives

 

Die in der Datei enthaltenen Strings zeigen, dass es sich bei der scr-Datei um ein selbstextrahierendes Winrar-Archiv handelt. Signifikante Strings sind beispielsweise:

 

  • Software\WinRAR SFX
  • winrarsfxmappingfile.tmp
  • WinRAR self-extracting archive

 

Das Archiv ließ sich manuell nicht fehlerfrei extrahieren. Erst eine Ausführung der Datei zeigt den unbeschädigten Inhalt des Archives, bestehend aus:

 

  • 42 zufällig benannten Dateien mit unterschiedlicher Endung, die nur um die 500 Byte groß sind und ASCII Daten enthalten
  • Das legitime Administrationstool AutoIT, umbenannt als “mta.exe”
  • Eine ASCII Datei “qoa.docx”, die 951K groß ist und die Konfiguration für AutoIT enthält
  • Eine ASCII Datei “stt=dsr”, die 3MB groß ist und ein obfuskiertes Script in der AutoIT-eigenen VBA-ähnlichen Scriptsprache enthält

 

Im August 2015 berichtete TALOS über einen ähnlichen Angriff , der die Kombination eines selbstextrahierenden Archives mit AutoIT verwendendete, um NanoCore auszuliefern. Der Angriff hat weitere Ähnlichkeiten zu der von uns beobachteten Attacke, was eine Verbindung zwischen den Vorfällen vermuten lassen. So stoppt beispielsweise der Angriff für 20 Sekunden, wenn ein laufender Avast Prozess detektiert wird. 2015 wurde jedoch ein Officemakro in der Phishingmail verwendet, während in dem hier untersuchten Fall ein PDF zum Einsatz kam. Auch bei den ausgelieferten Payloads gibt es Unterschiede, wie beispielsweise die Auslieferung weiterer Malware in dem 2015 von Talos untersuchten Angriff.

 

Angreifer missbrauchen Automatisierungstool AutoIT

 

AutoIT ist ein legales Werkzeug, das zur Automatisierung von Administrationsaufgaben verwendet wird. Es stellt hierfür eine eigene Scriptsprache bereit, die an VBA angelehnt ist. Das Tool ist frei erhältlich und wurde leider schon öfter von Kriminellen zur Installation von Malware verwendet, so dass es manchmal fälschlicherweise als gefährlich eingestuft wird.

 

Das AutoIT-Script in der Datei “stt=dsr” aus dem ZIP-Archiv hat eine AntiAV-Technik eingebaut, die die Ausführung schlafen legt, falls der Prozess “avastui.exe” auf dem System läuft. Es liest aus der “qoa.docx” Konfigurationsdatei verschiedene Werte aus der Sektion “Setting” aus. Danach wird eine zufällig benannte Datei erstellt, in die einer der ausgelesenen Strings geschrieben wird. Diese Datei ist ebenfalls ein obfuskiertes AutoIT-Script, 272K groß, und heißt in unserem Fall “DIENU”. In dieser Datei wird der String “Settings File Name” mit dem Namen der Konfigurationsdatei “qoa.docx” überschrieben. Anschließend setzt das Script die Attribute aller extrahierten Dateien auf “hidden” und “read only”, um sie möglichst unscheinbar werden zu lassen. AutoIT wird gestartet und das erstellte “DIENU”-Script, das “qoa.docx” als Konfigurationsdatei verwendet, wird AutoIT übergeben.

 

Intelligente Systemprüfung vor Installation von NanoCore

 

Das “DIENU”-Script nimmt einige Änderungen am System vor, so zum Beispiel das Ändern der Systemkonfiguration und von Registryeinträgen. Es versucht herauszufinden, ob es in einer VMware oder Virtualbox Sandbox läuft – falls dies der Fall ist, bricht das Script ab, um einer möglichen Analyse zu entgehen. Im weiteren Verlauf wird der Remote Access Trojaner installiert, indem Schadcode in den Prozessspeicher von “RegSvcs.exe” injiziert wird – ein .NET Tool, das zur Installation von Services gedacht ist. Diese Technik wird gerne verwendet, um Malware in legitimen Programmen zu verstecken.

 

Funktionsablauf des NanoCore-Angriffes

Funktionsablauf des NanoCore-Angriffes

 

Flexibilität von NanoCore durch modularen Aufbau

 

NanoCore ist modular aufgebaut. Die jeweiligen Plugins, die sich unabhängig voneinander ein- und ausschalten lassen, hat DigiTrust in einem Artikel ausführlich beschrieben. Bei diesem Angriff wurden zwei Plugins verwendet: Das Client Plugin in Version 1.2.0.0 und das Surveillance Plugin mit der Produktversionsnummer 1.0.1.7.

 

Die Plugins wurden als Bibliotheksdateien “ClientPlugin.dll” und “SurveillanceExClientPlugin.dll” für .NET geschrieben und mit dem Tool “Eazfuscator.NET 3.3” verschleiert. Um Analysen mit einem Debugger zu erschweren, sind die Methoden mit den Attributen “DebuggerHiddenAttribute” und “DebuggerNonUserCode” versehen. Hierdurch wird ein Debugging dieser Methoden und das Setzen von Breakpoints verboten.

 

Client-Plugin

 

Das Client-Plugin ist der Grundbaustein, der sich um die Kommunikation mit dem Command-and-Control-Server und die Verwaltung der gesammelten Informationen in einer Key/Value-Sammlung kümmert. Die Informationen lassen sich optional komprimiert per Pipe an den C2-Server senden. Der Client hat des Weiteren Optionen, um Einstellungen zu ändern, Plugins und sich selber zu deinstallieren und den Hostcomputer zu steuern, also diesen zum Beispiel herunterzufahren, neu zu starten, oder Sicherheitsmechanismen zu deaktivieren.

 

Surveillance-Plugin

 

Das Surveillance-Plugin bringt allerlei Features für die Überwachung des Opfers mit. So kann der Angreifer Passwörter, Logs und DNS Records sammeln. Der Hostcomputer ist per Remote-Desktop steuerbar, und es können Mitschnitte von Tasteneingaben, dem Mikrofon oder der Webcam aufgenommen werden.

 

Das Surveillance Plugin kann vier Kommandos empfangen:

 

  1. Password: SendTools, EmailClient, InternetBrowser
  2. Logging: (KeyboardLogging, ApplicationLogging, DNSLogging, GetLogs, DeleteLogs, ExportLogs, ViewLogs)
  3. Keyboard: Write, Download, LogToServer
  4. Dns: GetRecords

 

Im Großen und Ganzen zeigt sich ein umfangreicher Werkzeugkasten, um den infizierten Rechner aus der Ferne komplett zu steuern und zu überwachen.

 

Kein Durchkommen dank Hornetsecurity ATP

 

So ausgefeilt die Verschleierungsmethoden dieses NanoCore-Angriffes auch sind, die wahre Absicht des Tools wird durch die Verhaltensanalysen der Hornetsecurity ATP Sandbox erkannt. Diese erkennt sowohl das Entpacken der Dateien, das Erstellen der neuen Dateien, die Prozessinjektion der NanoCore DLLs in einen legitimen Prozess, die Modifikation der Registyeinträge als auch die Netzwerkkommunikation.

 

Analysetätigkeiten von Hornetsecurity ATP

Analysetätigkeiten von Hornetsecurity ATP

 

Indicators of Compromise

 

Die folgenden Dateien mit ihren sha256-Hashwerten wurden in dem Angriff verwendet. Da AutoIT eine legitime Software ist, führen wir das Tool hier nicht mit auf.

 

  • inquiry.pdf** 9c5d693e7c86f8f0c05af495d95a9d6f998ec93bec5c6f8d560d54f8a945f866
  • inquiry.zip** e0d88bab6749297eb1c03ec1e86bb0d9b7e53d10de8c05dcde032e5f040d03a2
  • inquiry.scr** 4a71602852c7a1a2b3c3c9690af9a96b57c622b459e4fff4f34d43c698b034b8
  • DIENU** 5612ac210a8df891f9ed07c5a472beb0d78f1f714f9f37e31320ec1edbc41d9c
  • SurveillanceExClientPlugin.dll** 01e3b18bd63981decb384f558f0321346c3334bb6e6f97c31c6c95c4ab2fe354
  • ClientPlugin.dll** 61e9d5c0727665e9ef3f328141397be47c65ed11ab621c644b5bbf1d67138403
  • qoa.docx** f36603bf7558384d57a9f53dfcd1e727bd6f56d4a664671f06fd5ca1383413d0
  • stt=dsr** 6236beb6702dd8396339fdad8c4539d7e177733a0f7cff1ded06f060895feac1

 

Domain, von der das zip-Archiv heruntergeladen wurde: htXp://ibeitou.com/inquiry.zip