Zephyrnet-logo

ESET neemt deel aan een wereldwijde operatie om de banktrojan Grandoreiro te ontwrichten

Datum:

ESET heeft samengewerkt met de federale politie van Brazilië in een poging het Grandoreiro-botnet te ontwrichten. ESET heeft aan het project bijgedragen door technische analyses, statistische informatie en bekende command and control (C&C) serverdomeinnamen en IP-adressen te leveren. Vanwege een ontwerpfout in het netwerkprotocol van Grandoreiro konden ESET-onderzoekers ook een kijkje nemen in de slachtofferrol.

De geautomatiseerde systemen van ESET hebben tienduizenden Grandoreiro-monsters verwerkt. Het domeingeneratiealgoritme (DGA) dat de malware sinds oktober 2020 gebruikt, produceert één hoofddomein en optioneel meerdere failsafe domeinen per dag. De DGA is de enige manier waarop Grandoreiro weet hoe hij moet rapporteren aan een C&C-server. Naast de huidige datum accepteert de DGA ook statische configuraties – we hebben op het moment van schrijven 105 van dergelijke configuraties waargenomen.

De operators van Grandoreiro hebben cloudproviders zoals Azure en AWS misbruikt om hun netwerkinfrastructuur te hosten. ESET-onderzoekers leverden gegevens die cruciaal zijn voor het identificeren van de accounts die verantwoordelijk zijn voor het opzetten van deze servers. Verder onderzoek uitgevoerd door de federale politie van Brazilië leidde tot de identificatie en arrestatie van de personen die controle hebben over deze servers. In deze blogpost bekijken we hoe we de gegevens hebben verkregen om de wetshandhaving te helpen deze verstoringsoperatie uit te voeren.

Achtergrond

Grandoreiro is een van de vele Latijns-Amerikaanse banktrojanen. Het is in ieder geval sinds 2017 actief en ESET-onderzoekers hebben het sindsdien nauwlettend in de gaten gehouden. Grandoreiro richt zich op Brazilië en Mexico, en sinds 2019 ook op Spanje (zie figuur 1). Terwijl Spanje tussen 2020 en 2022 het meest doelwit was, zagen we in 2023 een duidelijke verschuiving van de focus naar Mexico en Argentinië, waarbij laatstgenoemde nieuw was voor Grandoreiro.

Grandoreiro-Figuur-01-Heatmap
Figuur 1. detectiepercentage Grandoreiro (gegevens sinds januari 2020)

Functioneel gezien is Grandoreiro niet veel veranderd sinds onze vorige blogpost in 2020. We bieden in deze sectie een kort overzicht van de malware en gaan later dieper in op de weinige wijzigingen, voornamelijk nieuwe DGA-logica.

Wanneer een Latijns-Amerikaanse banktrojan met succes een machine in gevaar brengt, stuurt deze gewoonlijk een HTTP GET-verzoek naar een externe server, waarbij basisinformatie over de aangetaste machine wordt verzonden. Terwijl oudere Grandoreiro-builds deze functie implementeerden, besloten de ontwikkelaars na verloop van tijd deze te laten vallen.

Grandoreiro controleert periodiek het voorgrondvenster om er een te vinden die bij een webbrowserproces hoort. Wanneer een dergelijk venster wordt gevonden en de naam ervan overeenkomt met een tekenreeks uit een hardgecodeerde lijst met bankgerelateerde tekenreeksen, initieert de malware de communicatie met de C&C-server en verzendt deze minimaal één keer per seconde verzoeken totdat deze wordt beëindigd.

De operator moet handmatig communiceren met de gecompromitteerde machine om het geld van een slachtoffer te stelen. De malware maakt het volgende mogelijk:

  • het scherm van het slachtoffer blokkeren,
  • toetsaanslagen registreren,
  • muis- en toetsenbordactiviteit simuleren,
  • het delen van het scherm van het slachtoffer, en
  • valse pop-upvensters weergeven.

Grandoreiro ondergaat een snelle en constante ontwikkeling. Af en toe zagen we zelfs meerdere nieuwbouwprojecten per week, waardoor het lastig was om alles bij te houden. Om dit aan te tonen hebben de operators van Grandoreiro in februari 2022 een versie-ID aan de binaire bestanden toegevoegd. In Figuur 2 laten we zien hoe snel de versie-ID veranderde. Gemiddeld was er tussen februari 2022 en juni 2022 elke vier dagen een nieuwe versie. In de periode van een maand tussen 24 meith, 2022 en 22 junindIn 2022 bleven we nieuwe samples zien met voortschrijdende PE-compilatietijden, maar deze misten de versie-ID. Op 27 junith, 2022 is de versie-ID gewijzigd in V37 en we hebben het sindsdien niet meer zien veranderen, waardoor we kunnen concluderen dat deze functie is geschrapt.

Grandoreiro-Figuur-02-Tijdlijn
Figuur 2. Versiegeschiedenis van Grandoreiro tussen februari en juni 2022

Latijns-Amerikaanse banktrojanen delen veel overeenkomsten. Grandoreiro is vergelijkbaar met andere Latijns-Amerikaanse banktrojans, voornamelijk door de voor de hand liggende kernfunctionaliteit en door het bundelen van de downloaders binnen MSI-installatieprogramma's. In het verleden hebben we enkele gevallen waargenomen waarbij de downloaders ervan werden gedeeld Mekotio en Vadokrist, maar niet in de afgelopen twee jaar. Het belangrijkste verschil tussen de Grandoreiro banking trojan en de andere families was het unieke binaire opvulmechanisme dat het uiteindelijke uitvoerbare bestand massaal overspoelt (beschreven in onze blogpost in 2020). In de loop van de tijd hebben de operators van Grandoreiro deze anti-analysetechniek ook aan hun downloaders toegevoegd. Tot onze verbazing werd deze functie in het derde kwartaal van 3 volledig verwijderd uit de binaire bestanden van de banktrojan en de downloader, en sindsdien hebben we deze functie niet meer waargenomen.

Sinds februari 2022 volgen we een tweede variant van Grandoreiro dat aanzienlijk verschilt van de belangrijkste. We hebben dit in kleine campagnes gezien in maart, mei en juni 2022. Op basis van het feit dat de overgrote meerderheid van de C&C-serverdomeinen niet oplost, de kernfuncties vrij vaak veranderen en het netwerkprotocol niet goed functioneert, zijn we ervan overtuigd dat dit het geval is. een werk in uitvoering; daarom zullen we ons in deze blogpost concentreren op de hoofdvariant.

Grandoreiro langetermijntracking

ESET-systemen die zijn ontworpen voor het geautomatiseerd langdurig volgen van geselecteerde malwarefamilies monitoren Grandoreiro sinds eind 2017 en extraheren versie-informatie, C&C-servers, doelen en, sinds eind 2020, DGA-configuraties.

DGA-tracking

De DGA-configuratie is hardgecodeerd in het binaire Grandoreiro-bestand. Naar elke configuratie kan worden verwezen met een string die we noemen dga_id. Het gebruik van verschillende configuraties voor de DGA levert verschillende domeinen op. We duiken verderop in de tekst dieper in op het DGA-mechanisme.

ESET heeft in totaal 105 verschillende geëxtraheerd dga_ids uit de ons bekende Grandoreiro-monsters. 79 van deze configuraties genereerden minstens één keer een domein dat tijdens onze tracking werd omgezet naar een actief C&C-server-IP-adres.

De gegenereerde domeinen worden geregistreerd via de Dynamic DNS-service (DDNS) van No-IP. De operators van Grandoreiro misbruiken de dienst om regelmatig hun domein te wijzigen om te corresponderen met de DGA en om naar believen IP-adressen te wijzigen. De overgrote meerderheid van de IP-adressen die deze domeinen gebruiken, worden geleverd door cloudproviders, voornamelijk AWS en Azure. Tabel 1 illustreert enkele statistieken over IP-adressen die worden gebruikt voor Grandoreiro C&C-servers.

Tabel 1. Statistische informatie over Grandoreiro C&C IP-adressen sinds we met onze tracking zijn begonnen

Informatie Gemiddelde Minimum maximaal
Aantal nieuwe C&C IP-adressen per dag 3 1 34
Aantal actieve C&C IP-adressen per dag 13 1 27
Levensduur van C&C IP-adres (in dagen) 5 1 425

Al snel nadat we de gegenereerde domeinen en de bijbehorende IP-adressen begonnen te volgen, merkten we dat veel domeinen gegenereerd door DGA's met verschillende configuraties naar hetzelfde IP-adres worden omgezet (zoals geïllustreerd in figuur 3). Dit betekent dat op een bepaalde dag de slachtoffers die door Grandoreiro zijn gecompromitteerd, verschillende monsters nemen dga_id allemaal verbonden met dezelfde C&C-server. Dit fenomeen was geen toeval; we observeerden het bijna dagelijks tijdens onze tracking.

Grandoreiro-Figuur-03-Overlap
Figuur 3. Schema van een IP-overlap in twee verschillende Grandoreiro DGA-configuraties

In veel zeldzamere gevallen hebben we ook waargenomen dat een IP-adres door een ander werd hergebruikt dga_id een paar dagen later. Alleen deze keer veranderden ook de parameters die Grandoreiro gebruikte om een ​​verbinding tot stand te brengen (later uitgelegd in de tekst). Dit betekent dat in de tussentijd de C&C-serverzijde opnieuw moet zijn geïnstalleerd of opnieuw moet zijn geconfigureerd.

Onze aanvankelijke veronderstelling was dat de dga_id is uniek voor elke DGA-configuratie. Dit bleek later onjuist te zijn: we hebben twee sets met verschillende configuraties waargenomen die dezelfde delen dga_id. Tabel 2 toont ze allebei, “jjk” en “gh”, waarbij “jjk” en “jjk(2)” overeenkomen met twee verschillende DGA-configuraties, hetzelfde als “gh” en “gh(2)”.

Tabel 2 toont de clusters die we hebben kunnen waarnemen. Alle DGA-configuraties die ten minste één IP-adres delen, bevinden zich in hetzelfde cluster en zijn daaraan gekoppeld dga_ids zijn vermeld. Clusters die minder dan 1% van alle slachtoffers uitmaken, worden buiten beschouwing gelaten.

Tabel 2. Grandoreiro DGA-clusters

Cluster-ID

dga_id lijst

Clustergrootte

% van alle C&C-servers

% van alle slachtoffers

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, jl

2

2.4%

2.5%

3

hybride

1

0.8%

1.6%

4

JJJ

1

1.6%

1.1%

Het grootste cluster bevat 78% van alle actieven dga_idS. Het is verantwoordelijk voor 93.6% van alle IP-adressen van C&C-servers en 94% van alle slachtoffers die we hebben gezien. Het enige andere cluster bestaande uit meer dan 1 dga_id is cluster 2.

sommige bronnen beweren dat Grandoreiro werkt als malware-as-a-service (MaaS). De backend van de Grandoreiro C&C-server staat geen gelijktijdige activiteit van meer dan één operator tegelijk toe. Op basis van Tabel 2 kan de overgrote meerderheid van de door DGA geproduceerde IP-adressen worden geclusterd zonder duidelijk distributiepatroon. Ten slotte zijn we, gezien de hoge bandbreedtevereisten van het netwerkprotocol (daar gaan we aan het einde van de blogpost dieper op in), van mening dat de verschillende C&C-servers worden gebruikt als een primitief taakverdelingssysteem en dat het waarschijnlijker is dat Grandoreiro wordt beheerd door een een enkele groep of door een aantal groepen die nauw met elkaar samenwerken.

C&C-tracking

Grandoreiro's implementatie van zijn netwerkprotocol stelde ESET-onderzoekers in staat een kijkje achter de schermen te nemen en een glimp op te vangen van de slachtofferrol. Grandoreiro C&C-servers geven informatie weg over de verbonden slachtoffers op het moment van het eerste verzoek voor elk nieuw verbonden slachtoffer. Dat gezegd hebbende, zijn de gegevens beïnvloed door het aantal verzoeken, hun intervallen en de geldigheid van de gegevens die door de C&C-servers worden verstrekt.

Elk slachtoffer dat is verbonden met de Grandoreiro C&C-server wordt geïdentificeerd door een login_string – een string die Grandoreiro opbouwt bij het tot stand brengen van de verbinding. Verschillende builds gebruiken verschillende formaten en verschillende formaten bevatten verschillende informatie. We vatten de informatie samen die kan worden verkregen uit de login_string in Tabel 3. De kolom Voorval toont een percentage van alle formaten die we hebben gezien en die de overeenkomstige soort informatie bevatten.

Tabel 3. Overzicht van informatie die kan worden verkregen bij een Grandoreiro-slachtoffer login_string

Informatie

Voorval

Omschrijving

Besturingssysteem

100%

Besturingssysteem van de machine van het slachtoffer.

computernaam

100%

Naam van de machine van het slachtoffer.

Land

100%

Land waarop het Grandoreiro-voorbeeld zich richt (hardgecodeerd in het malwarevoorbeeld).

Versie

100%

Versie (versie_tekenreeks) van het Grandoreiro-monster.

Codenaam van de bank

92%

Codenaam van de bank die de C&C-verbinding heeft geactiveerd (toegewezen door de ontwikkelaars van Grandoreiro).

Uptime

25%

Tijd (in uren) dat de machine van het slachtoffer actief is geweest.

schermresolutie

8%

Schermresolutie van de hoofdmonitor van het slachtoffer.

Gebruikersnaam

8%

Gebruikersnaam van het slachtoffer.

Drie van de velden verdienen een nadere toelichting. Land is een string die hardgecodeerd is in het binaire bestand van Grandoreiro, in plaats van informatie verkregen via de juiste services. Daarom dient het meer als een bestemde land van het slachtoffer.

De codenaam van de bank is een reeks die door de ontwikkelaars van Grandoreiro is gekoppeld aan een bepaalde bank of andere financiële instelling. Het slachtoffer bezocht de website van die bank, waardoor de C&C-verbinding tot stand kwam.

De versie_tekenreeks is een string die een specifieke Grandoreiro-build identificeert. Het is hardgecodeerd in de malware en bevat een string die een specifieke buildserie, een versie (waar we het in de inleiding al over hadden) en een tijdstempel identificeert. Tabel 4 illustreert de verschillende formaten en de informatie die ze bevatten. Merk op dat sommige tijdstempels alleen de maand en de dag bevatten, terwijl andere ook het jaar bevatten.

Tabel 4. Lijst met verschillende versie_tekenreeks formaten en hun parsering

Versietekenreeks

Build ID

Versie

Tijdstempel

DANILO

DANILO

NB

NB

(V37)(P1X)1207

P1X

V37

12/07

(MX)2006

MX

NB

20/06

fox50.28102020

fox50

NB

28/10/2020

MADMX(HERLADEN)E-MAIL2607

MADMX(HERLADEN)E-MAIL

NB

26/07

Men zou in de verleiding kunnen komen om te zeggen dat de Build ID feitelijk de operator identificeert. Wij denken echter niet dat dit het geval is. Het formaat van deze string is erg chaotisch, soms verwijst het alleen naar een maand waarin het binaire bestand waarschijnlijk is gebouwd (zoals (AGOSTO) 2708). Bovendien zijn wij er rotsvast van overtuigd P1X verwijst naar een console die wordt gebruikt door Grandoreiro-operator(s). PIXLOGGER.

C&C-servertracking – bevindingen

In deze sectie concentreren we ons op wat we hebben gevonden door de C&C-servers te bevragen. Alle statistische gegevens in deze sectie zijn rechtstreeks verkregen van Grandoreiro C&C-servers, niet van ESET-telemetrie.

Oude monsters zijn nog steeds actief

Elke login_string we hebben waargenomen bevat de versie_tekenreeks en de overgrote meerderheid daarvan bevat de tijdstempelinformatie (zie Tabel 3 en Tabel 4). Hoewel veel ervan alleen dag en maand bevatten, zoals af en toe de keuze van de ontwikkelaar lijkt te zijn, had het oudste communicerende voorbeeld een tijdstempel 15/09/2020 – dat is vanaf het moment dat deze DGA voor het eerst werd geïntroduceerd in Grandoreiro. Het meest recente voorbeeld kreeg een tijdstempel 12/23/2023.

Distributie van besturingssystemen

Aangezien alle login_string formaten besturingssysteeminformatie bevatten, kunnen we een accuraat beeld schetsen van welke besturingssystemen het slachtoffer zijn geworden, zoals geïllustreerd in figuur 4.

Grandoreiro-Figuur-04-Besturingssystemen
Figuur 4. Distributie van het besturingssysteem onder Grandoreiro-slachtoffers

(Beoogde) landenverdeling

We hebben al vermeld dat Grandoreiro een hardgecodeerde waarde gebruikt in plaats van een dienst te vragen om het land van het slachtoffer te achterhalen. Figuur 5 toont de verdeling die we hebben waargenomen.

Grandoreiro-Figuur-05-Landen
Figuur 5. Verdeling van (beoogde) landcodes onder Grandoreiro-slachtoffers

Deze verdeling is te verwachten van Grandoreiro. Interessant genoeg correleert dit niet met de heatmap die wordt weergegeven in figuur 1. De meest logische verklaring is dat de builds niet goed zijn gemarkeerd om op hun beoogde doelen te lijken. De toename van het aantal aanslagen in Argentinië komt bijvoorbeeld helemaal niet tot uiting in de hardgecodeerde markering. Brazilië is verantwoordelijk voor bijna 41% van alle slachtoffers, gevolgd door Mexico met 30% en Spanje met 28%. Argentinië, Portugal en Peru zijn goed voor minder dan 1%. Interessant is dat we een paar (minder dan 10) slachtoffers hebben gezien die zijn gemarkeerd als PM (Saint-Pierre en Miquelon), GR (Griekenland), of FR (Frankrijk). Wij zijn van mening dat dit typfouten zijn of een andere betekenis hebben, in plaats van dat ze op die landen gericht zijn.

Merk ook op dat terwijl Grandoreiro voegde doelwitten toe uit veel landen buiten Latijns-Amerika al in 2020 hebben we weinig tot geen campagnes waargenomen die zich op deze landen richtten en figuur 5 ondersteunt dit.

Aantal slachtoffers

We hebben vastgesteld dat het gemiddelde aantal slachtoffers dat per dag verbonden is 563 bedraagt. Dit aantal bevat echter zeker duplicaten, want als een slachtoffer lange tijd verbonden blijft, wat volgens ons vaak het geval is, dan wordt de Grandoreiro C&C-server gebruikt. zal dit bij meerdere verzoeken melden.

In een poging dit probleem aan te pakken, hebben we a gedefinieerd unieke slachtoffer als een slachtoffer met een unieke reeks identificerende kenmerken (zoals computernaam, gebruikersnaam, enz.), terwijl de kenmerken die aan verandering onderhevig zijn (zoals uptime) worden weggelaten. Daarmee kwamen we op 551 uit unieke slachtoffers zijn gemiddeld binnen een dag verbonden.

Rekening houdend met het feit dat we slachtoffers hebben geobserveerd die gedurende meer dan een jaar voortdurend verbinding maakten met de C&C-servers, berekenden we een gemiddeld aantal van 114 nieuw uniek slachtoffers die elke dag verbinding maken met de C&C-servers. Door het negeren zijn we tot dit aantal gekomen unieke slachtoffers die we al eerder hebben waargenomen.

Grandoreiro-binnenwerk

Laten we ons diepgaand concentreren op de twee meest cruciale kenmerken van Grandoreiro: de DGA en het netwerkprotocol.

DGA

De operators van Grandoreiro hebben in de loop der jaren verschillende soorten DGA's geïmplementeerd, waarvan de meest recente in juli 2020 verscheen. Hoewel we een paar kleine veranderingen hebben opgemerkt, is de kern van het algoritme sindsdien niet veranderd.

De DGA maakt gebruik van een specifieke configuratie die hardgecodeerd is in het binaire bestand en opgeslagen als meerdere strings. Figuur 6 toont een dergelijke configuratie (met dga_id “bbj”), opnieuw geformatteerd in JSON voor betere leesbaarheid.

Grandoreiro-Figuur-06-DgaConfig
Figuur 6. Grandoreiro DGA-configuratie, opnieuw geformatteerd in JSON

In de overgrote meerderheid van de gevallen is de basis_domein veld is freedynamicdns.org or Zapto.org. Zoals eerder vermeld, gebruikt Grandoreiro No-IP voor zijn domeinregistratie. De base64_alfa veld komt overeen met het aangepaste base64-alfabet dat de DGA gebruikt. De maand_vervanging wordt gebruikt om een ​​teken te vervangen door een maandnummer.

De dga_tabel vormt het belangrijkste onderdeel van de configuratie. Het bestaat uit 12 strings, elk met 35 velden, gescheiden door |. De eerste invoer van elke regel is de dga_id. De tweede en laatste invoer vertegenwoordigt de maand waarvoor de regel bedoeld is. De overige 32 velden vertegenwoordigen elk een waarde voor een andere dag van de maand (waarbij ten minste één veld ongebruikt blijft).

De logica van de DGA wordt getoond in figuur 7. Het algoritme selecteert eerst de juiste regel en de juiste invoer daaruit, en behandelt deze als een sleutel van vier bytes. Vervolgens wordt de huidige datum in een string geformatteerd en met de sleutel gecodeerd met behulp van een eenvoudige XOR. Het gaat dan vooraf aan de dga_id naar het resultaat, codeert het resultaat met behulp van base64 met een aangepast alfabet en verwijdert vervolgens alle = opvultekens. Het eindresultaat is het subdomein dat, samen met basis_domein, moet worden gebruikt als C&C-server voor de huidige dag. Het rood gemarkeerde onderdeel is een failsafe-mechanisme en we bespreken dit hierna.

Grandoreiro-Figuur-07-DgaAlgo
Figuur 7. Grandoreiro DGA-berekening opnieuw geïmplementeerd in Python

Grandoreiro heeft in sommige builds een failsafe-mechanisme geïmplementeerd voor wanneer het hoofddomein niet kan worden opgelost. Dit mechanisme is niet in alle builds aanwezig en de logica ervan is een paar keer veranderd, maar het basisidee wordt geïllustreerd in figuur 7. Het maakt gebruik van een configuratie die constant is in de samples die we hebben geanalyseerd en die kan worden gegenereerd door de eenvoudige code die wordt weergegeven in figuur 8. Elke invoer bestaat uit een sleutel, een voorvoegsel en een basisdomein.

Het failsafe-algoritme neemt een deel van het hoofd-C&C-subdomein in beslag. Vervolgens worden alle configuratie-items herhaald, gecodeerd met XOR en wordt er een voorvoegsel aan toegevoegd, vergelijkbaar met het hoofdalgoritmegedeelte.

Grandoreiro-Figuur-08-DgaConfigBackup
Figuur 8. Failsafe DGA-configuratiegenerator opnieuw geïmplementeerd in Python

Sinds september 2022 zijn we begonnen met het observeren van monsters die een licht gewijzigde DGA gebruiken. Het algoritme blijft vrijwel identiek, maar in plaats van dat base64 het subdomein in de laatste stap codeert, wordt er een hardgecodeerd voorvoegsel aan toegevoegd. Op basis van onze tracking is deze methode sinds ongeveer juli 2023 de dominante methode geworden.

Netwerkprotocol

Grandoreiro maakt gebruik van RTC Portal, een set Delphi-componenten die bovenop de RealThinClient-SDK die bovenop HTTP(S) is gebouwd. Het RTC-portaal was stopgezet in 2017 en de broncode gepubliceerd op GitHub. In wezen biedt RTC Portal een of meer bedieningselementen de mogelijkheid om op afstand toegang te krijgen tot een of meer hosts. Hosts en besturingselementen worden gescheiden door een bemiddelaarcomponent genaamd Gateway.

Operators van Grandoreiro gebruiken een console (die als controle fungeert) om verbinding te maken met de C&C-server (die als gateway fungeert) en om te communiceren met de gecompromitteerde machines (die als hosts fungeren). Om verbinding te maken met Gateway zijn drie parameters vereist: een geheime sleutel, de sleutellengte en een login.

De geheime sleutel wordt gebruikt om het initiële verzoek dat naar de server wordt verzonden, te coderen. Daarom moet de server ook de geheime sleutel kennen om het initiële clientverzoek te kunnen decoderen.

De sleutellengte bepaalt de lengte van de sleutels om het verkeer te versleutelen, die tijdens de handshake tot stand zijn gekomen. Het verkeer wordt gecodeerd met behulp van een aangepast stroomcodering. Er worden twee verschillende sleutels ingesteld: één voor inkomend en één voor uitgaand verkeer.

De login kan elke tekenreeks zijn. De Gateway vereist dat elk aangesloten onderdeel een unieke login heeft.

Grandoreiro gebruikt twee verschillende combinaties van geheime sleutel- en sleutellengtewaarden, altijd hardgecodeerd in het binaire bestand, en we hebben de login_string dat wordt gebruikt als login.

In de RTC-documentatie staat dat het slechts een beperkt aantal verbindingen tegelijk kan verwerken. Gezien het feit dat elke verbonden host ten minste één verzoek per seconde moet verzenden, anders wordt de verbinding verbroken, zijn wij van mening dat de reden dat Grandoreiro meerdere C&C-servers gebruikt, een poging is om geen van deze te overweldigen.

Conclusie

In deze blogpost hebben we een kijkje achter de schermen gegeven van onze langetermijntracking van Grandoreiro die deze verstoringsoperatie mogelijk heeft gemaakt. We hebben uitgebreid beschreven hoe Grandoreiro's DGA werkt, hoeveel verschillende configuraties er tegelijkertijd bestaan, en hoe we veel overlap van IP-adressen tussen deze konden opmerken.

We hebben ook statistische informatie verstrekt die is verkregen van de C&C-servers. Deze informatie biedt een uitstekend overzicht van de slachtofferproblematiek en de targeting, terwijl we ook de werkelijke omvang van de impact kunnen zien.

De verstoringsoperatie onder leiding van de federale politie van Brazilië was gericht op personen van wie wordt aangenomen dat ze hoog in de hiërarchie van de Grandoreiro-operatie staan. ESET blijft volgen andere Latijns-Amerikaanse banktrojans terwijl we nauwlettend toezicht houden op eventuele Grandoreiro-activiteiten na deze verstoringsoperatie.

Neem voor vragen over ons onderzoek gepubliceerd op WeLiveSecurity contact met ons op via: bedreigingintel@eset.com.
ESET Research biedt privé APT-inlichtingenrapporten en datafeeds. Voor vragen over deze service kunt u terecht op de ESET-bedreigingsinformatie pagina.

IoC's

Bestanden

SHA-1

Bestandsnaam

Opsporing

Omschrijving

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 (met binaire opvulling)

Netwerk

IP

Domein

Hostingprovider

Eerst gezien

Details

20.237.166[.]161

DGA-gegenereerd

Azuur

2024-01-12

C&C-server.

20.120.249[.]43

DGA-gegenereerd

Azuur

2024-01-16

C&C-server.

52.161.154[.]239

DGA-gegenereerd

Azuur

2024-01-18

C&C-server.

167.114.138[.]249

DGA-gegenereerd

OVH

2024-01-02

C&C-server.

66.70.160[.]251

DGA-gegenereerd

OVH

2024-01-05

C&C-server.

167.114.4[.]175

DGA-gegenereerd

OVH

2024-01-09

C&C-server.

18.215.238[.]53

DGA-gegenereerd

AWS

2024-01-03

C&C-server.

54.219.169[.]167

DGA-gegenereerd

AWS

2024-01-09

C&C-server.

3.144.135[.]247

DGA-gegenereerd

AWS

2024-01-12

C&C-server.

77.246.96[.]204

DGA-gegenereerd

VDSina

2024-01-11

C&C-server.

185.228.72[.]38

DGA-gegenereerd

Meester da Web

2024-01-02

C&C-server.

62.84.100[.]225

NB

VDSina

2024-01-18

Distributieserver.

20.151.89[.]252

NB

Azuur

2024-01-10

Distributieserver.

MITRE ATT&CK-technieken

Deze tafel is gemaakt met behulp van versie 14 van het MITRE ATT&CK-raamwerk.

Tactiek

ID

Naam

Omschrijving

Ontwikkeling van hulpbronnen

T1587.001

Ontwikkelmogelijkheden: Malware

Grandoreiro-ontwikkelaars ontwikkelen hun eigen aangepaste downloaders.

Eerste toegang

T1566

Phishing

Grandoreiro verspreidt zich via phishing-e-mails.

Uitvoering

T1204.002

Uitvoering door gebruiker: kwaadaardig bestand

Grandoreiro zet slachtoffers onder druk om de phishing-bijlage handmatig uit te voeren.

Volharding

T1547.001

Boot of Logon Autostart Uitvoering: Register Run Keys / Startup Folder

Grandoreiro gebruikt de standaard Autostart-locaties voor persistentie.

T1574.001

Uitvoeringsstroom voor kaping: kaping van DLL-zoekvolgorde

Grandoreiro wordt uitgevoerd door de DLL-zoekvolgorde in gevaar te brengen.

verdediging ontduiking

T1140

Deobfuscate/decodeer bestanden of informatie

Grandoreiro wordt vaak gedistribueerd in met een wachtwoord beveiligde ZIP-archieven.

T1027.001

Obfuscated bestanden of informatie: binaire opvulling

Grandoreiro EXE's waren vroeger vergroot .rsrc secties met grote BMP-afbeeldingen.

T1218.007

Systeem binaire proxy-uitvoering: Msiexec

Grandoreiro-downloaders worden gebundeld in MSI-installatieprogramma's.

T1112

Wijzig register

Grandoreiro slaat een deel van zijn configuratiegegevens op in het Windows-register.

De reis van mijn leven

T1010

Ontdekking van toepassingsvenster

Grandoreiro ontdekt websites voor online bankieren op basis van vensternamen.

T1057

Procesopsporing

Grandoreiro ontdekt beveiligingstools op basis van procesnamen.

T1518.001

Softwaredetectie: detectie van beveiligingssoftware

Grandoreiro detecteert de aanwezigheid van bankbeschermingsproducten.

T1082

Ontdekking van systeeminformatie

Grandoreiro verzamelt informatie over de machine van het slachtoffer, zoals %COMPUTER NAAM% en besturingssysteem.

Collectie

T1056.002

Invoeropname: GUI-invoeropname

Grandoreiro kan valse pop-ups weergeven en de daarin getypte tekst vastleggen.

T1056.001

Invoer vastleggen: Keylogging

Grandoreiro is in staat toetsaanslagen vast te leggen.

T1114.001

E-mailverzameling: lokale e-mailverzameling

De operators van Grandoreiro ontwikkelden een tool om e-mailadressen uit Outlook te halen.

Command and Control

T1132.002

Gegevenscodering: niet-standaardcodering

Grandoreiro maakt gebruik van RTC, dat gegevens codeert met een aangepast streamcodering.

T1568.002

Dynamische resolutie: algoritmen voor het genereren van domeinen

Grandoreiro vertrouwt uitsluitend op DGA om C&C-serveradressen te verkrijgen.

T1573.001

Versleuteld kanaal: symmetrische cryptografie

In RTC worden encryptie en decryptie uitgevoerd met dezelfde sleutel.

T1571

Niet-standaard poort

Grandoreiro gebruikt vaak niet-standaard poorten voor distributie.

T1071

Applicatielaagprotocol

RTC is gebouwd bovenop HTTP(S).

exfiltratie

T1041

Exfiltratie via C2-kanaal

Grandoreiro exfiltreert gegevens naar zijn C&C-server.

Impact

T1529

Systeem afsluiten/opnieuw opstarten

Grandoreiro kan een herstart van het systeem forceren.

spot_img

Laatste intelligentie

spot_img