Opkomst mislearre: lit ús AgentTesla bleatstelle oan skjin wetter. Diel 3

Opkomst mislearre: lit ús AgentTesla bleatstelle oan skjin wetter. Diel 3

Mei dit artikel foltôgje wy de searje publikaasjes wijd oan 'e analyze fan kweade software. YN earste diel Wy hawwe in detaillearre analyze útfierd fan in ynfekteare bestân dat in Jeropeesk bedriuw per post krige en dêr AgentTesla-spyware ûntdutsen. Yn it twadde diel beskreaun de resultaten fan in stap-foar-stap analyse fan de wichtichste AgentTesla module.

Hjoed sil Ilya Pomerantsev, in spesjalist yn malware-analyze by CERT Group-IB, prate oer de earste faze fan malware-analyze - semy-automatyske útpakke fan AgentTesla-samples mei it foarbyld fan trije mini-gefallen út 'e praktyk fan CERT Group-IB-spesjalisten.

Typysk is de earste etappe yn malware-analyze it fuortheljen fan beskerming yn 'e foarm fan in packer, kryptor, beskermer of loader. Yn 'e measte gefallen kin dit probleem oplost wurde troch de malware út te fieren en in dump út te fieren, mar der binne situaasjes wêr't dizze metoade net geskikt is. Bygelyks, as de malware in encryptor is, as it har ûnthâldregio's beskermet tsjin dumping, as de koade meganismen foar deteksje fan firtuele masines befettet, of as de malware direkt nei it starten opnij begjint. Yn sokke gefallen wurdt saneamde "semi-automatyske" útpakke brûkt, dat is, de ûndersiker hat folsleine kontrôle oer it proses en kin op elk momint yngripe. Litte wy dizze proseduere beskôgje mei trije foarbylden fan 'e AgentTesla-famylje as foarbyld. Dit is in relatyf harmless malware as jo de netwurk tagong útskeakelje.

Sample nr. 1

It boarnebestân is in MS Word-dokumint dat de kwetsberens CVE-2017-11882 eksploitearret.

Opkomst mislearre: lit ús AgentTesla bleatstelle oan skjin wetter. Diel 3
As gefolch wurdt de lading ynladen en lansearre.

Analyse fan 'e prosesbeam en gedrachsmarkers toant ynjeksje yn it proses RegAsm.exe.

Opkomst mislearre: lit ús AgentTesla bleatstelle oan skjin wetter. Diel 3
Opkomst mislearre: lit ús AgentTesla bleatstelle oan skjin wetter. Diel 3
D'r binne gedrachsmarkers karakteristyk foar AgentTesla.

Opkomst mislearre: lit ús AgentTesla bleatstelle oan skjin wetter. Diel 3
It ynladen foarbyld is de útfierbere .NET-bestân beskerme troch in beskermer .NET Reactor.

Opkomst mislearre: lit ús AgentTesla bleatstelle oan skjin wetter. Diel 3
Litte wy it iepenje yn it hulpprogramma dnSpy x86 en gean troch nei it yngongspunt.

Opkomst mislearre: lit ús AgentTesla bleatstelle oan skjin wetter. Diel 3
Troch nei de funksje te gean DatumTimeOffset, wy sille fine de inisjalisaasje koade foar de nije .NET- module. Litte wy sette brekpunt op 'e line wy ​​binne ynteressearre yn en rinne de triem.

Opkomst mislearre: lit ús AgentTesla bleatstelle oan skjin wetter. Diel 3
Yn ien fan 'e weromjûne buffers kinne jo de MZ-hântekening sjen (0x4d 0x5a). Litte wy it bewarje.

Opkomst mislearre: lit ús AgentTesla bleatstelle oan skjin wetter. Diel 3
In dumpte útfierbere triem is in dynamyske bibleteek dy't in loader is, d.w.s. ekstrakt de loadload út 'e boarne seksje en lanseart it.

Opkomst mislearre: lit ús AgentTesla bleatstelle oan skjin wetter. Diel 3
Tagelyk binne de nedige middels sels net oanwêzich yn 'e dump. Se binne yn 'e âldermonster.

Utility dnSpy hat twa ekstreem nuttige funksjonaliteiten dy't ús sille helpe frij fluch in "Frankenstein" te meitsjen fan twa relatearre bestannen.

  1. De earste lit jo in dynamyske bibleteek "plakke" yn 'e âldermonster.

    Opkomst mislearre: lit ús AgentTesla bleatstelle oan skjin wetter. Diel 3

  2. De twadde is om de funksjekoade op it yngongspunt te herskriuwen om de winske metoade fan 'e ynfoege dynamyske bibleteek te neamen.

    Opkomst mislearre: lit ús AgentTesla bleatstelle oan skjin wetter. Diel 3

Wy bewarje ús "Frankenstein", set brekpunt op 'e line werom in buffer mei decrypted middels, en produsearje in dump troch analogy mei de foarige etappe.

De twadde dump is skreaun yn VB.NET in útfierber bestân dat wurdt beskerme troch in beskermer dy't ús bekend is ConfuserEx.

Opkomst mislearre: lit ús AgentTesla bleatstelle oan skjin wetter. Diel 3
Opkomst mislearre: lit ús AgentTesla bleatstelle oan skjin wetter. Diel 3
Nei it fuortheljen fan de beskermer brûke wy de YARA-regels dy't earder skreaun binne en soargje derfoar dat de útpakte malware echt AgentTesla is.

Opkomst mislearre: lit ús AgentTesla bleatstelle oan skjin wetter. Diel 3

Sample nr. 2

De boarne triem is in MS Excel dokumint. In ynboude makro feroarsaket it útfieren fan kweade koade.

Opkomst mislearre: lit ús AgentTesla bleatstelle oan skjin wetter. Diel 3
As gefolch wurdt it PowerShell-skript lansearre.

Opkomst mislearre: lit ús AgentTesla bleatstelle oan skjin wetter. Diel 3
Opkomst mislearre: lit ús AgentTesla bleatstelle oan skjin wetter. Diel 3
It skript ûntsiferet de C #-koade en draacht de kontrôle deroan oer. De koade sels is in bootloader, lykas ek te sjen is út it sânboxrapport.

Opkomst mislearre: lit ús AgentTesla bleatstelle oan skjin wetter. Diel 3
Opkomst mislearre: lit ús AgentTesla bleatstelle oan skjin wetter. Diel 3
De lading is in útfierber .NET-map.

Opkomst mislearre: lit ús AgentTesla bleatstelle oan skjin wetter. Diel 3
It iepenjen fan de triem yn dnSpy x86, kinne jo sjen dat it is obfuscated. Fuortsmite obfuscation mei help fan it hulpprogramma de4 dot en werom nei analyze.

By it ûndersykjen fan de koade kinne jo de folgjende funksje ûntdekke:

Opkomst mislearre: lit ús AgentTesla bleatstelle oan skjin wetter. Diel 3
De kodearre rigels binne opfallend Yngongspunt и Útnoegje. Wy sette brekpunt nei de earste rigel, rinne en bewarje de buffer wearde byte_0.

De dump is wer in applikaasje op .NET en beskerme ConfuserEx.

Opkomst mislearre: lit ús AgentTesla bleatstelle oan skjin wetter. Diel 3
Opkomst mislearre: lit ús AgentTesla bleatstelle oan skjin wetter. Diel 3
Wy fuortsmite obfuscation brûkend de4 dot en upload nei dnSpy. Ut de triem beskriuwing wy begripe dat wy wurde konfrontearre mei CyaX-Sharp loader.

Opkomst mislearre: lit ús AgentTesla bleatstelle oan skjin wetter. Diel 3
Dizze loader hat wiidweidige anty-analysefunksjonaliteit.

Opkomst mislearre: lit ús AgentTesla bleatstelle oan skjin wetter. Diel 3
Dizze funksjonaliteit omfettet it omgean fan ynboude Windows-beskermingssystemen, it útskeakeljen fan Windows Defender, lykas sânbak en deteksjemeganismen foar firtuele masines. It is mooglik om de lading fan it netwurk te laden of op te slaan yn 'e boarne seksje. Lansearring wurdt útfierd troch ynjeksje yn har eigen proses, yn in duplikaat fan har eigen proses, of yn prosessen MSBuild.exe, vbc.exe и RegSvcs.exe ôfhinklik fan de parameter keazen troch de oanfaller.

Foar ús binne se lykwols minder wichtich dan AntiDump-funksje dy't foeget ConfuserEx. De boarnekoade kin fûn wurde op GitHub.

Om beskerming út te skeakeljen, sille wy de kâns brûke dnSpy, wêrmei jo te bewurkjen IL-koade.

Opkomst mislearre: lit ús AgentTesla bleatstelle oan skjin wetter. Diel 3
Opkomst mislearre: lit ús AgentTesla bleatstelle oan skjin wetter. Diel 3
Bewarje en ynstallearje brekpunt nei de line fan it oproppen fan de funksje foar ûntsiferjen fan lading. It leit yn 'e konstruktor fan' e haadklasse.

Opkomst mislearre: lit ús AgentTesla bleatstelle oan skjin wetter. Diel 3
Wy lansearje en dump de lading. Mei help fan de earder skreaune YARA-regels soargje wy derfoar dat dit AgentTesla is.

Opkomst mislearre: lit ús AgentTesla bleatstelle oan skjin wetter. Diel 3

Sample nr. 3

De boarne triem is de útfierbere VB Native PE32-map.

Opkomst mislearre: lit ús AgentTesla bleatstelle oan skjin wetter. Diel 3
Entropy-analyze lit de oanwêzigens fan in grut stik fersifere gegevens sjen.

Opkomst mislearre: lit ús AgentTesla bleatstelle oan skjin wetter. Diel 3
By it analysearjen fan it oanfraachformulier yn VB Decompiler jo kinne in frjemde pikseleare eftergrûn fernimme.

Opkomst mislearre: lit ús AgentTesla bleatstelle oan skjin wetter. Diel 3
Opkomst mislearre: lit ús AgentTesla bleatstelle oan skjin wetter. Diel 3
Entropy grafyk bmp-ôfbylding is identyk oan de entropygrafyk fan it orizjinele bestân, en de grutte is 85% fan 'e triemgrutte.

Opkomst mislearre: lit ús AgentTesla bleatstelle oan skjin wetter. Diel 3
It algemiene uterlik fan 'e ôfbylding jout it gebrûk fan steganografy oan.

Litte wy omtinken jaan oan it uterlik fan 'e prosesbeam, lykas de oanwêzigens fan in ynjeksjemarker.

Opkomst mislearre: lit ús AgentTesla bleatstelle oan skjin wetter. Diel 3
Opkomst mislearre: lit ús AgentTesla bleatstelle oan skjin wetter. Diel 3
Dit jout oan dat it útpakken oan 'e gong is. Foar Visual Basic-laders (aka VBKrypt of VBInjector) typysk gebrûk shellcode om de lading te inisjalisearjen, en ek de ynjeksje sels út te fieren.

Analyse yn VB Decompiler liet de oanwêzigens fan in evenemint sjen Lade by it formulier FegatassocAirballoon 2.

Opkomst mislearre: lit ús AgentTesla bleatstelle oan skjin wetter. Diel 3
Litte wy nei IDA pro nei it oantsjutte adres en studearje de funksje. De koade is swier obfuscated. It fragmint dat ús ynteresseart wurdt hjirûnder presintearre.

Opkomst mislearre: lit ús AgentTesla bleatstelle oan skjin wetter. Diel 3
Hjir wurdt de adresromte fan it proses skansearre foar in hantekening. Dizze oanpak is tige twifelich.

Earst, it skennen startadres 0x400100. Dizze wearde is statysk en wurdt net oanpast as de basis wurdt ferskood. Yn ideale kasomstannichheden sil it it ein oanjaan PE-de koptekst fan it útfierbere bestân. De databank is lykwols net statysk, syn wearde kin feroarje, en sykjen nei it echte adres fan 'e fereaske hantekening, hoewol it gjin fariabele oerstreaming feroarsaakje sil, kin heul lang duorje.

Twad, de betsjutting fan 'e hantekening iWGK. Ik tink dat it dúdlik is dat 4 bytes te lyts is om unykens te garandearjen. En as jo rekken hâlde mei it earste punt, de kâns op it meitsjen fan in flater is frij heech.

Yn feite is it fereaske fragmint oan 'e ein fan' e earder fûn bmp-ôfbyldings troch offset 0xA1D0D.

Opkomst mislearre: lit ús AgentTesla bleatstelle oan skjin wetter. Diel 3
Ferfolling Shellcode útfierd yn twa stadia. De earste ûntsiferet it haadlichaam. Yn dit gefal wurdt de kaai bepaald troch brute krêft.

Opkomst mislearre: lit ús AgentTesla bleatstelle oan skjin wetter. Diel 3
Dump de ûntsifere Shellcode en sjoch nei de linen.

Earst witte wy no de funksje om in bernproses te meitsjen: CreateProcessInternalW.

Opkomst mislearre: lit ús AgentTesla bleatstelle oan skjin wetter. Diel 3
Twadder waarden wy bewust fan it meganisme fan fixaasje yn it systeem.

Opkomst mislearre: lit ús AgentTesla bleatstelle oan skjin wetter. Diel 3
Litte wy weromgean nei it orizjinele proses. Litte wy sette brekpunt op CreateProcessInternalW en fierder útfiering. Folgjende sjogge wy de ferbining NtGetContextThread/NtSetContextThread, dy't it útfieringsstartadres feroaret yn it adres ShellCode.

Opkomst mislearre: lit ús AgentTesla bleatstelle oan skjin wetter. Diel 3
Wy ferbine mei it oanmakke proses mei in debugger en aktivearje it evenemint Suspend op libraryu laden/útladen, ferfetsje it proses en wachtsje op it laden .NET- biblioteken.

Fierder gebrûk ProcessHacker dump regio's befetsje unpacked .NET-oanfraach.

Wy stopje alle prosessen en wiskje de kopy fan 'e malware dy't yn it systeem ynsletten is.

Opkomst mislearre: lit ús AgentTesla bleatstelle oan skjin wetter. Diel 3
Opkomst mislearre: lit ús AgentTesla bleatstelle oan skjin wetter. Diel 3
It dumpte bestân wurdt beskerme troch in beskermer .NET Reactor, dat kin maklik fuortsmiten wurde mei help fan in hulpprogramma de4 dot.

Opkomst mislearre: lit ús AgentTesla bleatstelle oan skjin wetter. Diel 3
Mei de YARA-regels dy't earder skreaun binne, soargje wy derfoar dat dit AgentTesla is.

Litte wy it fermelde

Dat, wy demonstrearren yn detail it proses fan semy-automatyske sample-útpakke mei trije mini-gefallen as foarbyld, en analysearren ek malware basearre op in folweardige saak, en fûnen út dat de ûndersochte stekproef AgentTesla is, it fêststellen fan syn funksjonaliteit en in folsleine list fan yndikatoaren fan kompromis.

De analyze fan it kweade objekt dat wy hawwe útfierd freget in protte tiid en muoite, en dit wurk moat wurde útfierd troch in spesjale meiwurker yn it bedriuw, mar net alle bedriuwen binne ree om te wurkjen in analist.

Ien fan 'e tsjinsten oanbean troch it Group-IB Laboratory of Computer Forensics and Malicious Code Analysis is antwurd op cyber-ynsidinten. En sadat klanten gjin tiid fergrieme mei it goedkarjen fan dokuminten en it besprekken fan har yn 'e midden fan in cyberoanfal, lansearre Group-IB Incident Response Retainer, in pre-abonnemint ynsidint antwurd tsjinst dy't ek omfiemet in malware analyze stap. Mear ynformaasje oer dit is te finen hjir.

As jo ​​nochris wolle studearje hoe't AgentTesla-samples wurde útpakt en sjen hoe't in CERT Group-IB-spesjalist it docht, kinne jo de opname fan it webinar oer dit ûnderwerp downloade hjir.

Boarne: www.habr.com

Add a comment