ESET hat neue Versionen des DanaBot-Trojaners entdeckt

Der schnell wachsende modulare DanaBot- Trojaner hat neue Änderungen erfahren. Die Ende Januar 2019 veröffentlichte Version implementiert ein völlig neues Kommunikationsprotokoll, das der Kommunikation zwischen dem Trojaner und seinem C & C-Server mehrere Verschlüsselungsstufen hinzufügt. Darüber hinaus wurden die DanaBot-Architektur und die Kampagnen-IDs geändert.


DanaBot Evolution


Nachdem DanaBot im Mai 2018 im Rahmen einer Spam-Kampagne gegen Australien entdeckt wurde, trat sie bei einer Reihe anderer Angriffe auf, darunter bei einer Spam-Kampagne in Polen, Italien, Deutschland, Österreich und der Ukraine sowie in den USA . In europäischen Kampagnen wurde die Funktionalität des Trojaners durch neue Plugins und Spam-Funktionen erweitert .

Am 25. Januar fanden wir ungewöhnliche ausführbare Dateien im Zusammenhang mit DanaBot in Telemetriedaten. Eine weitere Überprüfung ergab, dass diese Binärdateien zwar Versionen von DanaBot sind, jedoch ein anderes Kommunikationsprotokoll für die Kommunikation mit dem C & C-Server verwenden. Seit dem 26. Januar haben die Betreiber des Trojaners das Zusammenstellen von Binärdateien mit dem alten Protokoll eingestellt.

Zum Zeitpunkt des Schreibens wurde die neue Version von DanaBot in zwei Szenarien verteilt:

  1. als "Updates" für DanaBot-Opfer;
  2. per Spam-Mail (in Polen).

Neues Kommunikationsprotokoll


In dem Protokoll, das bis zum 25. Januar verwendet wurde, wurden die Pakete nicht verschlüsselt, wie in Abbildung 1 dargestellt.


Abbildung 1. Eine Paketerfassung, die das alte Protokoll mit Daten in unverschlüsselter Form zeigt

Nach Abschluss verwendet DanaBot AES- und RSA-Verschlüsselungsalgorithmen für die Kommunikation mit dem C & C-Server. Das neue Kommunikationsprotokoll ist komplexer, da es mehrere Verschlüsselungsstufen verwendet, wie in der folgenden Abbildung dargestellt.


Abbildung 2. Schema des neuen DanaBot-Kommunikationsprotokolls

Diese Änderungen vermeiden die Erkennung mithilfe vorhandener Netzwerksignaturen und erschweren das Schreiben neuer Regeln für Systeme zur Erkennung und Verhinderung von Eindringlingen. Darüber hinaus ist es ohne Zugriff auf die entsprechenden RSA-Schlüssel nicht möglich, gesendete oder empfangene Pakete zu dekodieren. Daher sind RSAP-Dateien von Cloud-basierten Analysesystemen (wie ANY.RUN ) für die Forschung ungeeignet.


Abbildung 3. Erfassen Sie ein Paket mit einem neuen Kommunikationsprotokoll

Jedes vom Client gesendete Paket hat einen 24 (0x18) -Byte-Header:



Auf das Paket folgen für jedes Paket die von AES verschlüsselten Paketdaten, dann ein 4-Byte-Wert, der die Verschiebungsgröße des AES angibt, und anschließend der von RSA verschlüsselte AES-Schlüssel. Alle Pakete werden mit unterschiedlichen AES-Schlüsseln verschlüsselt.

Serverantworten verwenden dasselbe Format. Im Gegensatz zu früheren Versionen entsprechen die Paketdaten in den Serverantworten (mit einigen Ausnahmen) keiner bestimmten Struktur.

Datenpaketstruktur


Die vorherige Paketdatenstruktur wurde von Proofpoint im Oktober 2018 ausführlich beschrieben. In der neuesten Version von DanaBot wurde dieses Schema geringfügig geändert, wie in der folgenden Abbildung dargestellt.


Abbildung 4. Vergleich der Paketdatenstruktur in der alten und neuen Version von DanaBot

Änderungen der DanaBot-Architektur


Zusätzlich zum Kommunikationsprotokoll hat DanaBot eine leicht veränderte Architektur. Frühere Versionen des Trojaners enthielten eine Komponente, die das Hauptmodul heruntergeladen und ausgeführt hat. Anschließend hat das Hauptmodul Plugins und Konfigurationen heruntergeladen und ausgeführt.

In der neuesten Version werden diese Funktionen von einem neuen Bootloader ausgeführt, mit dem alle Plugins zusammen mit dem Hauptmodul heruntergeladen werden. Die Persistenz wird durch die Registrierung der Bootloader-Komponente als Dienst sichergestellt.


Abbildung 5. Vergleich der Architektur der alten und neuen Version von DanaBot

Teams


Entsprechend der Analyse verwendet die Ladekomponente die folgenden Befehle:

  • 0x12C - Hallo. Der erste Befehl, der vom Client an den Server gesendet wird
  • 0x12D - Laden Sie die 32/64-Bit-Startkomponente
  • 0x12E - Fordern Sie eine Liste der Plugins und Konfigurationsdateien an
  • 0x12F - Plugins / Konfigurationsdateien laden

Heruntergeladene Plugins und Konfigurationsdateien werden mit dem aus der Client-ID erhaltenen AES-Schlüssel verschlüsselt. Darüber hinaus werden Plugins mithilfe der LZMA-Komprimierung im ZIP-Format archiviert, während Konfigurationsdateien mithilfe der zlib archiviert werden.
Befehle mit der ID 0x130-0x134 werden vom Hauptmodul gesendet:

  • 0x130 - Übertragen Sie die gesammelten Informationen auf einen C & C-Server (z. B. einen Screenshot des Computers des Opfers; Systemdaten)
  • 0x131 - Übertragen Sie die gesammelten Informationen auf einen C & C-Server (z. B. eine Liste der Dateien auf der Festplatte eines infizierten Computers).
  • 0x132 - Fordern Sie weitere Befehle vom C & C-Server an. Es gibt ungefähr 30 für Backdoors typische Befehle, darunter das Starten von Plugins, das Sammeln von Systeminformationen und das Ändern von Dateien im Client-System
  • 0x133 - Aktualisieren Sie die Liste der C & C-Server über den Tor-Proxy
  • 0x134 - Das genaue Ziel ist unbekannt. Höchstwahrscheinlich wird es für die Kommunikation zwischen Plug-Ins und einem C & C-Server verwendet

Kampagnen-IDs ändern


Eine frühere Studie hat gezeigt, dass DanaBot unter verschiedenen IDs verteilt ist.

In der vorherigen Version von DanaBot wurden ungefähr 20 Kampagnen- IDs verwendet . In der neuesten Version haben sich die Bezeichner geringfügig geändert. Ab dem 5. Februar 2019 beobachten wir die folgenden IDs:

  • ID = 2 anscheinend eine Testversion, die eine kleine Anzahl von Konfigurationsdateien ohne Web-Injects bereitstellt
  • ID = 3 wird aktiv verteilt und richtet sich an Benutzer in Polen und Italien. Es liefert alle Konfigurationsdateien und Webinjektionen für polnische und italienische Zwecke
  • ID = 5 dient Konfigurationsdateien für australische Zwecke
  • ID = 7 gilt nur für Polen und dient Webinjektionen für polnische Zwecke
  • ID = 9 ist anscheinend auch eine Testversion mit begrenzter Verbreitung und ohne spezielle Ausrichtung dient sie einer begrenzten Anzahl von Konfigurationsdateien ohne Web-Injects

Schlussfolgerungen


Im Jahr 2018 haben wir die Entwicklung von DanaBot in Bezug auf Vertrieb und Funktionalität beobachtet . Anfang 2019 wurden dem Trojaner „interne“ Änderungen unterzogen, die auf die aktive Arbeit seiner Schöpfer hinweisen. Jüngste Updates deuten darauf hin, dass die Entwickler von DanaBot Anstrengungen unternehmen, um eine Erkennung auf Netzwerkebene zu vermeiden. Es ist möglich, dass die Autoren des Trojaners auf veröffentlichte Studien achten, um Änderungen am Code unverzüglich vorzunehmen, bevor Produktentwickler die Sicherheit gewährleisten.

ESET-Produkte erkennen und blockieren alle DanaBot-Komponenten und -Plugins. Erkennungsnamen werden im nächsten Abschnitt angegeben.

Kompromissindikatoren (IoCs)


C & C-Server, die von der neuen Version von DanaBot verwendet werden

84.54.37[.]102
89.144.25[.]243
89.144.25[.]104
178.209.51[.]211
185.92.222[.]238
192.71.249[.]51


Server für Web Injection und Redirect

47.74.249[.]106
95.179.227[.]160
185.158.249[.]144


Hash-Beispiele

Neue DanaBot-Builds werden regelmäßig veröffentlicht, sodass wir nur einen Teil der Hashes bereitstellen können:
Dropper 98C70361EA611BA33EE3A79816A88B2500ED7844 Win32 / TrojanDropper.Danabot.O
Bootloader (x86), ID = 3 0DF17562844B7A0A0170C9830921C3442D59C73C Win32 / Spy.Danabot.L
Bootloader (x64), ID = 3 B816E90E9B71C85539EA3BB897E4F234A0422F85 Win64 / Spy.Danabot.G
Bootloader (x86), ID = 9 5F085B19657D2511A89F3172B7887CE29FC70792 Win32 / Spy.Danabot.I
Bootloader (x64), ID = 9 4075375A08273E65C223116ECD2CEF903BA97B1E Win64 / Spy.Danabot.F
Hauptmodul (x86) 28139782562B0E4CAB7F7885ECA75DFCA5E1D570 Win32 / Spy.Danabot.K
Hauptmodul (x64) B1FF7285B49F36FE8D65E7B896FCCDB1618EAA4B Win64 / Spy.Danabot.C

Plugins

RDPWrap 890B5473B419057F89802E0B6DA011B315F3EF94 Win32 / Spy.Danabot.H
Stealer (x86) E50A03D12DDAC6EA626718286650B9BB858B2E69 Win32 / Spy.Danabot.C
Stealer (x64) 9B0EC454401023DF6D3D4903735301BA669AADD1 Win64 / Spy.Danabot.E
Sniffer DBFD8553C66275694FC4B32F9DF16ADEA74145E6 Win32 / Spy.Danabot.B
VNC E0880DCFCB1724790DFEB7DFE01A5D54B33D80B6 Win32 / Spy.Danabot.D
TOR 73A5B0BEE8C9FB4703A206608ED277A06AA1E384 Win32 / Spy.Danabot.G

Source: https://habr.com/ru/post/de439588/


All Articles