Zephyrnet-Logo

ESET beteiligt sich an einer weltweiten Operation zur Bekämpfung des Banktrojaners Grandoreiro

Datum:

ESET hat mit der brasilianischen Bundespolizei zusammengearbeitet, um das Grandoreiro-Botnetz zu zerstören. ESET leistete einen Beitrag zum Projekt, indem es technische Analysen, statistische Informationen sowie bekannte Domainnamen und IP-Adressen von Command-and-Control-Servern (C&C) bereitstellte. Aufgrund eines Designfehlers im Netzwerkprotokoll von Grandoreiro konnten ESET-Forscher auch einen Einblick in die Viktimologie gewinnen.

Die automatisierten ESET-Systeme haben Zehntausende Grandoreiro-Proben verarbeitet. Der Domänengenerierungsalgorithmus (DGA), den die Malware seit etwa Oktober 2020 verwendet, erzeugt pro Tag eine Hauptdomäne und optional mehrere ausfallsichere Domänen. Die DGA ist die einzige Möglichkeit für Grandoreiro, sich an einen C&C-Server zu melden. Neben dem aktuellen Datum akzeptiert die DGA auch statische Konfigurationen – wir haben zum Zeitpunkt dieses Schreibens 105 solcher Konfigurationen beobachtet.

Die Betreiber von Grandoreiro haben Cloud-Anbieter wie Azure und AWS missbraucht, um ihre Netzwerkinfrastruktur zu hosten. ESET-Forscher stellten wichtige Daten zur Verfügung, um die Konten zu identifizieren, die für die Einrichtung dieser Server verantwortlich sind. Weitere Ermittlungen der brasilianischen Bundespolizei führten zu dem Ergebnis Identifizierung und Festnahme der Personen, die die Kontrolle über diese Server haben. In diesem Blogbeitrag schauen wir uns an, wie wir die Daten erhalten haben, um die Strafverfolgungsbehörden bei der Durchführung dieser Störungsaktion zu unterstützen.

Hintergrund

Grandoreiro ist einer von vielen Banking-Trojaner aus Lateinamerika. Es ist seit mindestens 2017 aktiv und ESET-Forscher haben es seitdem genau beobachtet. Grandoreiro zielt auf Brasilien und Mexiko, seit 2019 auch auf Spanien (siehe Abbildung 1). Während zwischen 2020 und 2022 Spanien das am stärksten ins Visier genommene Land war, beobachteten wir im Jahr 2023 eine deutliche Verlagerung des Fokus auf Mexiko und Argentinien, wobei letzteres für Grandoreiro neu war.

Grandoreiro-Figure-01-Heatmap
Abbildung 1. Grandoreiro-Erkennungsrate (Daten seit Januar 2020)

Was die Funktionalität betrifft, hat sich Grandoreiro seit unserem letzten nicht wesentlich verändert Blogbeitrag im Jahr 2020. Wir bieten in diesem Abschnitt einen kurzen Überblick über die Malware und gehen später auf die wenigen Änderungen ein, hauptsächlich auf die neue DGA-Logik.

Wenn ein lateinamerikanischer Banking-Trojaner einen Computer erfolgreich kompromittiert, sendet er normalerweise eine HTTP-GET-Anfrage an einen Remote-Server und sendet einige grundlegende Informationen über den kompromittierten Computer. Während ältere Grandoreiro-Builds diese Funktion implementierten, beschlossen die Entwickler im Laufe der Zeit, sie wegzulassen.

Grandoreiro überwacht regelmäßig das Vordergrundfenster, um eines zu finden, das zu einem Webbrowser-Prozess gehört. Wenn ein solches Fenster gefunden wird und sein Name mit einer beliebigen Zeichenfolge aus einer fest codierten Liste bankbezogener Zeichenfolgen übereinstimmt, beginnt die Malware nur dann mit ihrem C&C-Server zu kommunizieren und sendet mindestens einmal pro Sekunde Anfragen, bis sie beendet wird.

Der Bediener muss manuell mit der kompromittierten Maschine interagieren, um das Geld eines Opfers zu stehlen. Die Malware ermöglicht:

  • Blockieren des Bildschirms des Opfers,
  • Tastatureingaben protokollieren,
  • Simulation von Maus- und Tastaturaktivitäten,
  • Teilen des Bildschirms des Opfers und
  • Anzeige gefälschter Popup-Fenster.

Grandoreiro unterliegt einer schnellen und stetigen Entwicklung. Gelegentlich sahen wir sogar mehrere Neubauten pro Woche, was es schwierig machte, den Überblick zu behalten. Um dies zu demonstrieren, fügten die Betreiber von Grandoreiro im Februar 2022 den Binärdateien eine Versionskennung hinzu. In Abbildung 2 zeigen wir, wie schnell sich die Versionskennung geändert hat. Im Durchschnitt gab es zwischen Februar 2022 und Juni 2022 alle vier Tage eine neue Version. In der einmonatigen Lücke zwischen dem 24. Maith, 2022 und 22. Junind2022 sahen wir weiterhin neue Beispiele mit fortschreitenden PE-Kompilierungszeiten, ihnen fehlte jedoch die Versionskennung. Am 27. Junith, 2022 Die Versionskennung wurde in geändert V37 und wir haben seitdem keine Veränderung festgestellt, was uns zu dem Schluss führt, dass diese Funktion weggelassen wurde.

Grandoreiro-Figure-02-Timeline
Abbildung 2. Grandoreiro-Versionsverlauf zwischen Februar und Juni 2022

Banking-Trojaner aus Lateinamerika viele Gemeinsamkeiten haben. Grandoreiro ähnelt anderen lateinamerikanischen Banktrojanern vor allem durch die offensichtliche Kernfunktionalität und durch die Bündelung seiner Downloader in MSI-Installationsprogrammen. In der Vergangenheit haben wir einige Fälle beobachtet, in denen die Downloader mit anderen geteilt wurden Mekotio und Vadokrist, allerdings nicht in den letzten zwei Jahren. Der Hauptunterschied des Grandoreiro-Banking-Trojaners zu den anderen Familien war sein einzigartiger binärer Auffüllmechanismus, der die endgültige ausführbare Datei massiv überfüllt (beschrieben in unserem Blogbeitrag im Jahr 2020). Im Laufe der Zeit fügten die Betreiber von Grandoreiro diese Anti-Analyse-Technik auch ihren Downloadern hinzu. Zu unserer Überraschung wurde diese Funktion im dritten Quartal 3 vollständig aus den Banking-Trojaner- und Downloader-Binärdateien entfernt und wir haben sie seitdem nicht mehr beobachtet.

Seit Februar 2022 verfolgen wir a zweite Variante von Grandoreiro, der sich deutlich vom Hauptteil unterscheidet. Wir haben es in kleinen Kampagnen im März, Mai und Juni 2022 gesehen. Da sich die überwiegende Mehrheit der C&C-Serverdomänen nicht auflöst, sich seine Kernfunktionen häufig ändern und sein Netzwerkprotokoll nicht ordnungsgemäß funktioniert, sind wir der festen Überzeugung, dass dies der Fall ist in Arbeit; Daher konzentrieren wir uns in diesem Blogbeitrag auf die Hauptvariante.

Grandoreiro-Langzeitverfolgung

ESET-Systeme zur automatisierten Langzeitverfolgung ausgewählter Malware-Familien überwachen Grandoreiro seit Ende 2017 und extrahieren Versionsinformationen, C&C-Server, Ziele und seit Ende 2020 DGA-Konfigurationen.

DGA-Tracking

Die DGA-Konfiguration ist in der Grandoreiro-Binärdatei fest codiert. Auf jede Konfiguration kann durch einen von uns aufgerufenen String verwiesen werden dga_id. Die Verwendung unterschiedlicher Konfigurationen für den DGA führt zu unterschiedlichen Domänen. Wir tauchen später im Text tiefer in den DGA-Mechanismus ein.

ESET hat insgesamt 105 verschiedene extrahiert dga_ids aus den uns bekannten Grandoreiro-Proben. 79 dieser Konfigurationen haben im Verlauf unseres Trackings mindestens einmal eine Domain generiert, die in eine aktive C&C-Server-IP-Adresse aufgelöst wurde.

Die generierten Domains werden über den Dynamic DNS Service (DDNS) von No-IP registriert. Die Betreiber von Grandoreiro missbrauchen den Dienst, um häufig ihre Domains zu ändern, um der DGA zu entsprechen, und um IP-Adressen nach Belieben zu ändern. Die überwiegende Mehrheit der IP-Adressen, in die diese Domänen aufgelöst werden, wird von Cloud-Anbietern bereitgestellt, hauptsächlich AWS und Azure. Tabelle 1 zeigt einige Statistiken zu IP-Adressen, die für Grandoreiro C&C-Server verwendet werden.

Tabelle 1. Statistische Informationen zu den IP-Adressen von Grandoreiro C&C seit Beginn unserer Nachverfolgung

Informationen Durchschnittlich Mindestens Maximal
Anzahl neuer C&C-IP-Adressen pro Tag 3 1 34
Anzahl der aktiven C&C-IP-Adressen pro Tag 13 1 27
Lebensdauer der C&C-IP-Adresse (in Tagen) 5 1 425

Sehr bald nachdem wir begonnen hatten, die generierten Domänen und die zugehörigen IP-Adressen zu verfolgen, stellten wir fest, dass viele von DGAs mit unterschiedlichen Konfigurationen generierte Domänen zur gleichen IP-Adresse aufgelöst wurden (wie in Abbildung 3 dargestellt). Dies bedeutet, dass an einem bestimmten Tag Opfer von Grandoreiro mit unterschiedlichen Proben infiziert wurden dga_id alle mit demselben C&C-Server verbunden. Dieses Phänomen war kein Zufall – wir beobachteten es fast täglich während unseres Trackings.

Grandoreiro-Abbildung-03-Überlappung
Abbildung 3. Schema einer IP-Überlappung in zwei verschiedenen Grandoreiro-DGA-Konfigurationen

In viel selteneren Fällen haben wir auch die Wiederverwendung einer IP-Adresse durch eine andere Person beobachtet dga_id ein paar Tage später. Nur änderten sich dieses Mal auch die Parameter, die Grandoreiro zum Herstellen einer Verbindung verwendete (die später im Text erklärt werden). Das bedeutet, dass zwischenzeitlich die C&C-Serverseite neu installiert bzw. neu konfiguriert worden sein muss.

Unsere anfängliche Annahme war, dass die dga_id ist für jede DGA-Konfiguration eindeutig. Dies erwies sich später als falsch – wir haben zwei Sätze unterschiedlicher Konfigurationen beobachtet, die dasselbe gemeinsam hatten dga_id. Tabelle 2 zeigt beide, „jjk“ und „gh“, wobei „jjk“ und „jjk(2)“ zwei verschiedenen DGA-Konfigurationen entsprechen, genau wie „gh“ und „gh(2)“.

Tabelle 2 zeigt die Cluster, die wir beobachten konnten. Alle DGA-Konfigurationen, die mindestens eine IP-Adresse gemeinsam genutzt haben, befinden sich im selben Cluster und sind ihnen zugeordnet dga_ids sind aufgelistet. Cluster, die weniger als 1 % aller Opfer ausmachen, bleiben unberücksichtigt.

Tabelle 2. Grandoreiro-DGA-Cluster

Cluster-ID

dga_id Liste

Clustergröße

% aller C&C-Server

% aller Opfer

1

b, bbh, bbj, bbn, bhg, cfb, cm, cob, cwe, dee, dnv, dvg, dzr, E, eeo, eri, ess, fhg, fox, gh, gh(2), hjo, ika, jam , jjk, jjk(2), JKM, jpy, k, kcy, kWn, md7, md9, MRx, mtb, n, Nkk, nsw, nuu, occ, p, PCV, pif, rfg, rox3, s, sdd, sdg, sop, tkk, twr, tyj, u, ur4, vfg, vgy, vki, wtt, ykl, Z, zaf, zhf

62

93.6%

94%

2

jl2, jly

2

2.4%

2.5%

3

Hybrid

1

0.8%

1.6%

4

JYY

1

1.6%

1.1%

Der größte Cluster enthält 78 % aller Aktiven dga_idS. Es ist für 93.6 % aller C&C-Server-IP-Adressen und 94 % aller Opfer verantwortlich, die wir gesehen haben. Der einzige andere Cluster, der aus mehr als 1 besteht dga_id ist Cluster 2.

Manche Quellen behaupten, dass Grandoreiro als Malware-as-a-Service (MaaS) agiert. Das Grandoreiro C&C-Server-Backend erlaubt keine gleichzeitige Aktivität von mehr als einem Operator. Basierend auf Tabelle 2 kann die überwiegende Mehrheit der von DGA erstellten IP-Adressen ohne klares Verteilungsmuster in Clustern zusammengefasst werden. In Anbetracht der hohen Bandbreitenanforderungen des Netzwerkprotokolls (auf die wir am Ende des Blogposts näher eingehen) glauben wir schließlich, dass die verschiedenen C&C-Server als primitives Lastausgleichssystem verwendet werden und dass es wahrscheinlicher ist, dass Grandoreiro von a betrieben wird einzelne Gruppe oder mehrere Gruppen, die eng miteinander zusammenarbeiten.

C&C-Tracking

Grandoreiros Implementierung seines Netzwerkprotokolls ermöglichte es ESET-Forschern, einen Blick hinter die Kulissen zu werfen und einen Einblick in die Viktimologie zu erhalten. Die C&C-Server von Grandoreiro geben Informationen über die verbundenen Opfer weiter zum Zeitpunkt der Erstanfrage an jedes neu verbundene Opfer. Allerdings sind die Daten durch die Anzahl der Anfragen, deren Intervalle und die Gültigkeit der von den C&C-Servern bereitgestellten Daten verzerrt.

Jedes mit dem Grandoreiro C&C-Server verbundene Opfer wird durch a identifiziert login_string – eine Zeichenfolge, die Grandoreiro beim Herstellen der Verbindung erstellt. Unterschiedliche Builds verwenden unterschiedliche Formate und unterschiedliche Formate enthalten unterschiedliche Informationen. Wir fassen die Informationen zusammen, die daraus gewonnen werden können login_string in Tabelle 3. Die Spalte „Vorkommen“ zeigt einen Prozentsatz aller Formate an, die wir gesehen haben und die die entsprechende Art von Informationen enthalten.

Tabelle 3. Übersicht über die Informationen, die von einem Grandoreiro-Opfer erhalten werden können login_string

Informationen

Auftreten

Beschreibung

Betriebssystem

100%

Betriebssystem des Computers des Opfers.

Computername

100%

Name der Maschine des Opfers.

Land

100%

Land, auf das das Grandoreiro-Beispiel abzielt (im Malware-Beispiel fest codiert).

Version

100%

Ausführung (version_string) der Grandoreiro-Stichprobe.

Codename der Bank

92%

Codename der Bank, die die C&C-Verbindung ausgelöst hat (von Grandoreiros Entwicklern zugewiesen).

Betriebszeit

25%

Zeit (in Stunden), die die Maschine des Opfers in Betrieb war.

Bildschirmauflösung

8%

Bildschirmauflösung des Hauptmonitors des Opfers.

Benutzername

8%

Benutzername des Opfers.

Drei der Bereiche verdienen eine nähere Erläuterung. Das Land ist eine in der Grandoreiro-Binärdatei fest codierte Zeichenfolge und keine Informationen, die über entsprechende Dienste abgerufen werden. Daher dient es eher wie ein beabsichtigt Land des Opfers.

Der Bank-Codename ist eine Zeichenfolge, die die Entwickler von Grandoreiro mit einer bestimmten Bank oder einem anderen Finanzinstitut in Verbindung bringen. Das Opfer besuchte die Website dieser Bank, was die C&C-Verbindung auslöste.

Das version_string ist eine Zeichenfolge, die einen bestimmten Grandoreiro-Build identifiziert. Es ist in der Malware fest codiert und enthält eine Zeichenfolge, die eine bestimmte Build-Serie identifiziert, eine Version (über die wir bereits in der Einleitung gesprochen haben) und einen Zeitstempel. Tabelle 4 veranschaulicht die verschiedenen Formate und die darin enthaltenen Informationen. Beachten Sie, dass einige Zeitstempel nur Monat und Tag enthalten, während andere auch das Jahr enthalten.

Tabelle 4. Liste der verschiedenen version_string Formate und deren Analyse

Versionszeichenfolge

Build-ID

Version

Timestamp

DANILO

DANILO

N / A

N / A

(V37)(P1X)1207

P1X

V37

12/07

(MX)2006

MX

N / A

20/06

fox50.28102020

fox50

N / A

28/10/2020

MADMX(RELOAD)EMAIL2607

MADMX(RELOAD)EMAIL

N / A

26/07

Man könnte versucht sein zu sagen, dass die Build-ID tatsächlich den Betreiber identifiziert. Wir glauben jedoch nicht, dass dies der Fall ist. Das Format dieser Zeichenfolge ist sehr chaotisch, manchmal bezieht sie sich nur auf einen Monat, in dem die Binärdatei wahrscheinlich erstellt wurde (wie (AGOSTO)2708). Darüber hinaus sind wir davon überzeugt P1X bezieht sich auf eine Konsole namens „Grandoreiro“, die von einem oder mehreren Grandoreiro-Operatoren verwendet wird PIXLOGGER.

C&C-Server-Tracking – Ergebnisse

In diesem Abschnitt konzentrieren wir uns auf das, was wir durch Abfragen der C&C-Server gefunden haben. Alle in diesem Abschnitt aufgeführten statistischen Daten stammen direkt von Grandoreiro C&C-Servern und nicht von ESET-Telemetrie.

Alte Samples sind noch aktiv

. login_string Wir beobachteten, enthält die version_string und die überwiegende Mehrheit davon enthält die Zeitstempelinformationen (siehe Tabelle 3 und Tabelle 4). Während viele von ihnen nur Tag und Monat enthalten, was gelegentlich die Wahl des Entwicklers zu sein scheint, war das älteste kommunizierende Beispiel mit einem Zeitstempel versehen 15/09/2020 – das ist aus der Zeit, als diese DGA erstmals in Grandoreiro eingeführt wurde. Die letzte Probe wurde mit einem Zeitstempel versehen 12/23/2023.

Betriebssystemverteilung

Da alle login_string Obwohl Formate Betriebssysteminformationen enthalten, können wir uns ein genaues Bild davon machen, welche Betriebssysteme zum Opfer gefallen sind, wie in Abbildung 4 dargestellt.

Grandoreiro-Figure-04-OperatingSystems
Abbildung 4. Betriebssystemverteilung unter Grandoreiro-Opfern

(Geplante) Länderverteilung

Wir haben bereits erwähnt, dass Grandoreiro einen fest codierten Wert verwendet, anstatt einen Dienst abzufragen, um das Land des Opfers zu ermitteln. Abbildung 5 zeigt die Verteilung, die wir beobachtet haben.

Grandoreiro-Abbildung-05-Länder
Abbildung 5. (Geplante) Verteilung der Ländercodes unter Grandoreiro-Opfern

Diese Verteilung ist von Grandoreiro zu erwarten. Interessanterweise korreliert es nicht mit der in Abbildung 1 dargestellten Heatmap. Die logischste Erklärung ist, dass die Builds nicht richtig markiert sind, um ihren beabsichtigten Zielen zu ähneln. Beispielsweise spiegelt sich die Zunahme der Angriffe in Argentinien überhaupt nicht in der fest codierten Markierung wider. Auf Brasilien entfallen fast 41 % aller Opfer, gefolgt von Mexiko mit 30 % und Spanien mit 28 %. Auf Argentinien, Portugal und Peru entfallen weniger als 1 %. Interessanterweise haben wir einige (weniger als 10) Opfer gesehen, die als markiert waren PM (St. Pierre und Miquelon), GR (Griechenland), oder FR (Frankreich). Wir glauben, dass es sich entweder um Tippfehler handelt oder eine andere Bedeutung hat, als dass sie auf diese Länder abzielen.

Beachten Sie auch, dass während Grandoreiro fügte Ziele aus vielen Ländern außerhalb Lateinamerikas hinzu Bereits im Jahr 2020 haben wir wenige bis gar keine Kampagnen beobachtet, die auf diese Länder abzielten, und Abbildung 5 unterstützt dies.

Zahl der Opfer

Wir haben beobachtet, dass die durchschnittliche Anzahl der Opfer, die an einem Tag verbunden sind, bei 563 liegt. Diese Zahl enthält jedoch sicherlich Duplikate, denn wenn ein Opfer längere Zeit verbunden bleibt, was unserer Beobachtung nach oft der Fall ist, dann wird der C&C-Server von Grandoreiro beschädigt werde es auf mehrfache Anfrage melden.

Um dieses Problem anzugehen, haben wir a definiert einzigartiges Opfer als Person mit einem eindeutigen Satz identifizierender Merkmale (wie Computername, Benutzername usw.), während diejenigen weggelassen werden, die sich ändern können (wie Betriebszeit). Damit landeten wir bei 551 einzigartiges Im Durchschnitt haben sich Opfer an einem Tag verbunden.

Unter Berücksichtigung der Tatsache, dass wir Opfer beobachtet haben, die sich über einen Zeitraum von über einem Jahr ständig mit den C&C-Servern verbunden haben, haben wir eine durchschnittliche Zahl von 114 berechnet neues Unikat Opfer verbinden sich täglich mit den C&C-Servern. Auf diese Zahl sind wir durch Nichtberücksichtigung gekommen einzigartiges Opfer, die wir bereits zuvor beobachtet haben.

Grandoreiro-Interna

Konzentrieren wir uns eingehend auf die beiden wichtigsten Funktionen von Grandoreiro: das DGA und das Netzwerkprotokoll.

DGA

Die Betreiber von Grandoreiro haben im Laufe der Jahre verschiedene Arten von DGAs implementiert, wobei die neueste im Juli 2020 erschien. Obwohl uns einige kleinere Änderungen aufgefallen sind, hat sich der Kern des Algorithmus seitdem nicht geändert.

Der DGA verwendet eine bestimmte Konfiguration, die in der Binärdatei fest codiert und in mehreren Zeichenfolgen gespeichert ist. Abbildung 6 zeigt eine solche Konfiguration (mit dga_id „bbj“), zur besseren Lesbarkeit in JSON neu formatiert.

Grandoreiro-Figure-06-DgaConfig
Abbildung 6. Grandoreiro DGA-Konfiguration, neu formatiert in JSON

In den allermeisten Fällen ist die Basisdomain Feld ist freedynamicdns.org or zapto.org. Wie bereits erwähnt, nutzt Grandoreiro No-IP für seine Domainregistrierung. Der base64_alpha Das Feld entspricht dem benutzerdefinierten Base64-Alphabet, das die DGA verwendet. Der Monat_Substitution wird verwendet, um ein Zeichen durch eine Monatszahl zu ersetzen.

Das dga_table bildet den Hauptteil der Konfiguration. Es besteht aus 12 Zeichenfolgen mit jeweils 35 durch | getrennten Feldern. Der erste Eintrag jeder Zeile ist der dga_id. Der zweite und letzte Eintrag stellt den Monat dar, für den die Zeile bestimmt ist. Die verbleibenden 32 Felder stellen jeweils einen Wert für einen anderen Tag des Monats dar (wobei mindestens ein Feld ungenutzt bleibt).

Die Logik des DGA ist in Abbildung 7 dargestellt. Der Algorithmus wählt zunächst die richtige Zeile und den richtigen Eintrag daraus aus und behandelt ihn als Vier-Byte-Schlüssel. Anschließend formatiert es das aktuelle Datum in einen String und verschlüsselt ihn mit dem Schlüssel mithilfe eines einfachen XOR. Es stellt dann das voran dga_id zum Ergebnis, kodiert das Ergebnis mit base64 mit einem benutzerdefinierten Alphabet und entfernt dann alle =-Auffüllzeichen. Das Endergebnis ist die Subdomain, die zusammen mit Basisdomain, soll als C&C-Server für den aktuellen Tag verwendet werden. Der rot hervorgehobene Teil ist ein Failsafe-Mechanismus und wird als nächstes besprochen.

Grandoreiro-Figure-07-DgaAlgo
Abbildung 7. Grandoreiro-DGA-Berechnung in Python neu implementiert

Grandoreiro hat in einigen Builds einen Failsafe-Mechanismus für den Fall implementiert, dass die Hauptdomäne nicht aufgelöst werden kann. Dieser Mechanismus ist nicht in allen Builds vorhanden und seine Logik hat sich einige Male geändert, aber die Grundidee ist in Abbildung 7 dargestellt. Er verwendet eine Konfiguration, die in den von uns analysierten Beispielen konstant ist und durch den in Abbildung gezeigten einfachen Code generiert werden kann 8. Jeder Eintrag besteht aus einem Schlüssel, einem Präfix und einer Basisdomäne.

Der Failsafe-Algorithmus nimmt einen Teil der Haupt-C&C-Subdomäne ein. Anschließend werden alle Konfigurationseinträge durchlaufen, mit XOR verschlüsselt und ein Präfix vorangestellt, ähnlich dem Hauptalgorithmusteil.

Grandoreiro-Figure-08-DgaConfigBackup
Abbildung 8. Ausfallsicherer DGA-Konfigurationsgenerator, neu implementiert in Python

Seit September 2022 beobachten wir Proben, die ein leicht modifiziertes DGA verwenden. Der Algorithmus bleibt nahezu identisch, aber statt der Base64-Codierung der Subdomain im letzten Schritt wird ihr ein fest codiertes Präfix vorangestellt. Unserem Tracking zufolge ist diese Methode seit etwa Juli 2023 die vorherrschende Methode.

Netzwerkprotokoll

Grandoreiro nutzt RTC Portal, eine Reihe von Delphi-Komponenten, die auf dem basieren RealThinClient-SDK das auf HTTP(S) aufbaut. Das RTC-Portal war im Jahr 2017 eingestellt und sein Quellcode veröffentlicht am GitHub. Im Wesentlichen ermöglicht das RTC-Portal einem oder mehreren Controls den Fernzugriff auf einen oder mehrere Hosts. Hosts und Steuerelemente werden durch eine Mediatorkomponente namens Gateway getrennt.

Grandoreiro-Betreiber verwenden eine Konsole (die als Steuerung fungiert), um eine Verbindung zum C&C-Server herzustellen (die als Gateway fungiert) und um mit den gefährdeten Maschinen zu kommunizieren (die als Hosts fungieren). Um eine Verbindung zum Gateway herzustellen, sind drei Parameter erforderlich: ein geheimer Schlüssel, die Schlüssellänge und ein Login.

Der geheime Schlüssel wird verwendet, um die erste an den Server gesendete Anfrage zu verschlüsseln. Daher muss der Server auch den geheimen Schlüssel kennen, um die ursprüngliche Client-Anfrage entschlüsseln zu können.

Die Schlüssellänge bestimmt die Länge der Schlüssel zur Verschlüsselung des Datenverkehrs, die während des Handshakes erstellt werden. Der Datenverkehr wird mit einer benutzerdefinierten Stream-Verschlüsselung verschlüsselt. Es werden zwei unterschiedliche Schlüssel eingerichtet – einer für eingehenden und einer für ausgehenden Datenverkehr.

Der Login kann eine beliebige Zeichenfolge sein. Das Gateway erfordert, dass jede angeschlossene Komponente über ein eindeutiges Login verfügt.

Grandoreiro verwendet zwei verschiedene Kombinationen von Geheimschlüssel- und Schlüssellängenwerten, die immer in der Binärdatei fest codiert sind, und wir haben dies bereits besprochen login_string das als Login verwendet wird.

In der RTC-Dokumentation heißt es, dass nur eine begrenzte Anzahl von Verbindungen gleichzeitig verarbeitet werden kann. Wenn man bedenkt, dass jeder verbundene Host mindestens eine Anfrage pro Sekunde senden muss, sonst wird seine Verbindung unterbrochen, glauben wir, dass der Grund dafür, dass Grandoreiro mehrere C&C-Server nutzt, darin besteht, keinen von ihnen zu überlasten.

Zusammenfassung

In diesem Blogbeitrag haben wir einen Blick hinter die Kulissen unserer langfristigen Verfolgung von Grandoreiro geworfen, die dazu beigetragen hat, diese Störungsoperation zu ermöglichen. Wir haben ausführlich beschrieben, wie Grandoreiros DGA funktioniert, wie viele verschiedene Konfigurationen gleichzeitig existieren und wie wir viele Überschneidungen von IP-Adressen zwischen ihnen erkennen konnten.

Wir haben auch statistische Informationen bereitgestellt, die wir von den C&C-Servern erhalten haben. Diese Informationen bieten einen hervorragenden Überblick über die Viktimologie und die gezielte Bekämpfung und ermöglichen es uns gleichzeitig, das tatsächliche Ausmaß der Auswirkungen zu erkennen.

Die von der brasilianischen Bundespolizei geleitete Störungsaktion richtete sich gegen Personen, die vermutlich ganz oben in der Einsatzhierarchie von Grandoreiro stehen. ESET wird weiterhin nachverfolgen andere lateinamerikanische Banktrojaner während wir nach dieser Betriebsunterbrechung streng auf jegliche Grandoreiro-Aktivitäten achten.

Bei Fragen zu unseren auf WeLiveSecurity veröffentlichten Forschungsergebnissen kontaktieren Sie uns bitte unter Bedrohungintel@eset.com.
ESET Research bietet private APT-Intelligence-Berichte und Daten-Feeds. Bei Fragen zu diesem Service besuchen Sie bitte die ESET Threat Intelligence

IoCs

Mappen

SHA-1

Dateiname

Entdeckung

Beschreibung

FB32344292AB36080F2D040294F17D39F8B4F3A8

Notif.FEL.RHKVYIIPFVBCGQJPOQÃ.msi

Win32/Spy.Grandoreiro.DB

MSI-Downloader

08C7453BD36DE1B9E0D921D45AEF6D393659FDF5

RYCB79H7B-7DVH76Y3-67DVHC6T20-CH377DFHVO-6264704.msi

Win32/Spy.Grandoreiro.DB

MSI-Downloader

A99A72D323AB5911ADA7762FBC725665AE01FDF9

pcre.dll

Win32/Spy.Grandoreiro.BM

Grandoreiro

4CDF7883C8A0A83EB381E935CD95A288505AA8B8

iconv.dll

Win32/Spy.Grandoreiro.BM

Grandoreiro (mit binärer Auffüllung)

Netzwerk

IP

Domain

Hosting-Anbieter

Zum ersten Mal gesehen

Details

20.237.166[.]161

DGA-generiert

Azure

2024-01-12

C&C-Server.

20.120.249[.]43

DGA-generiert

Azure

2024-01-16

C&C-Server.

52.161.154[.]239

DGA-generiert

Azure

2024-01-18

C&C-Server.

167.114.138[.]249

DGA-generiert

OVH

2024-01-02

C&C-Server.

66.70.160[.]251

DGA-generiert

OVH

2024-01-05

C&C-Server.

167.114.4[.]175

DGA-generiert

OVH

2024-01-09

C&C-Server.

18.215.238[.]53

DGA-generiert

AWS

2024-01-03

C&C-Server.

54.219.169[.]167

DGA-generiert

AWS

2024-01-09

C&C-Server.

3.144.135[.]247

DGA-generiert

AWS

2024-01-12

C&C-Server.

77.246.96[.]204

DGA-generiert

VDSina

2024-01-11

C&C-Server.

185.228.72[.]38

DGA-generiert

Master da Web

2024-01-02

C&C-Server.

62.84.100[.]225

N / A

VDSina

2024-01-18

Verteilungsserver.

20.151.89[.]252

N / A

Azure

2024-01-10

Verteilungsserver.

MITRE ATT&CK-Techniken

Diese Tabelle wurde mit erstellt Version 14 des MITRE ATT&CK-Frameworks.

Taktik

ID

Name und Vorname

Beschreibung

Ressourcenentwicklung

T1587.001

Entwicklungsfähigkeiten: Malware

Grandoreiro-Entwickler entwickeln ihre eigenen benutzerdefinierten Downloader.

Erster Zugriff

T1566

Phishing

Grandoreiro verbreitet sich über Phishing-E-Mails.

ausführung

T1204.002

Benutzerausführung: Schädliche Datei

Grandoreiro drängt die Opfer, den Phishing-Anhang manuell auszuführen.

Beharrlichkeit

T1547.001

Boot- oder Logon-Autostart-Ausführung: Registry Run Keys / Startup Folder

Grandoreiro verwendet die Standard-Autostart-Speicherorte für die Persistenz.

T1574.001

Hijack-Ausführungsablauf: DLL-Suchreihenfolge-Hijacking

Grandoreiro wird ausgeführt, indem die DLL-Suchreihenfolge beeinträchtigt wird.

Verteidigungsflucht

T1140

Enthüllen/Dekodieren von Dateien oder Informationen

Grandoreiro wird oft in passwortgeschützten ZIP-Archiven verteilt.

T1027.001

Verschleierte Dateien oder Informationen: Binäre Auffüllung

Früher wurden die EXE-Dateien von Grandoreiro vergrößert .rsrc Abschnitte mit großen BMP-Bildern.

T1218.007

System-Binär-Proxy-Ausführung: Msiexec

Grandoreiro-Downloader sind in MSI-Installationsprogrammen gebündelt.

T1112

Registry ändern

Grandoreiro speichert einen Teil seiner Konfigurationsdaten in der Windows-Registrierung.

Angewandte F&E

T1010

Anwendungsfenstererkennung

Grandoreiro entdeckt Online-Banking-Websites anhand von Fensternamen.

T1057

Prozesserkennung

Grandoreiro entdeckt Sicherheitstools basierend auf Prozessnamen.

T1518.001

Softwareerkennung: Erkennung von Sicherheitssoftware

Grandoreiro erkennt das Vorhandensein von Bankenschutzprodukten.

T1082

Systeminformationserkennung

Grandoreiro sammelt Informationen über die Maschine des Opfers, wie z %COMPUTERNAME% und Betriebssystem.

Sammlung

T1056.002

Eingabeerfassung: GUI-Eingabeerfassung

Grandoreiro kann gefälschte Pop-ups anzeigen und darin eingegebenen Text erfassen.

T1056.001

Eingabeerfassung: Keylogging

Grandoreiro ist in der Lage, Tastenanschläge zu erfassen.

T1114.001

E-Mail-Sammlung: Lokale E-Mail-Sammlung

Die Betreiber von Grandoreiro haben ein Tool zum Extrahieren von E-Mail-Adressen aus Outlook entwickelt.

Command and Control

T1132.002

Datencodierung: Nicht-Standard-Codierung

Grandoreiro verwendet RTC, das Daten mit einer benutzerdefinierten Stream-Verschlüsselung verschlüsselt.

T1568.002

Dynamische Auflösung: Domänengenerierungsalgorithmen

Grandoreiro verlässt sich ausschließlich auf DGA, um C&C-Serveradressen zu erhalten.

T1573.001

Verschlüsselter Kanal: Symmetrische Kryptographie

Bei RTC erfolgt die Verschlüsselung und Entschlüsselung mit demselben Schlüssel.

T1571

Nicht-Standard-Port

Grandoreiro verwendet für die Verteilung häufig nicht standardmäßige Ports.

T1071

Protokoll der Anwendungsschicht

RTC basiert auf HTTP(S).

Exfiltration

T1041

Exfiltration über C2-Kanal

Grandoreiro exfiltriert Daten auf seinen C&C-Server.

Impact der HXNUMXO Observatorien

T1529

Herunterfahren/Neustart des Systems

Grandoreiro kann einen Systemneustart erzwingen.

spot_img

Neueste Intelligenz

spot_img