D'Walbedeelegung gescheitert: loosst eis den AgentTesla proppert Waasser ausstellen. Deel 3

D'Walbedeelegung gescheitert: loosst eis den AgentTesla proppert Waasser ausstellen. Deel 3

Mat dësem Artikel kompletéiere mir d'Serie vu Publikatiounen déi der Analyse vu béiswëlleger Software gewidmet sinn. IN éischten Deel Mir hunn eng detailléiert Analyse vun enger infizéierter Datei gemaach, déi eng europäesch Firma per Mail krut an entdeckt AgentTesla Spyware do. An zweeten Deel beschriwwen d'Resultater vun enger Schrëtt-vun-Schrëtt Analyse vun der Haaptrei AgentTesla Modul.

Haut Ilya Pomerantsev, e Spezialist an der Malware Analyse bei CERT Group-IB, wäert iwwer déi éischt Stuf vun der Malware Analyse schwätzen - semi-automatesch Auspackung vun AgentTesla Echantillon mam Beispill vun dräi Mini-Fäll aus der Praxis vun CERT Group-IB Spezialisten.

Typesch ass déi éischt Stuf an der Malwareanalyse d'Entfernung vum Schutz a Form vun engem Packer, Kryptor, Protector oder Loader. An deene meeschte Fäll kann dëse Problem geléist ginn andeems d'Malware leeft an en Dump ausféiert, awer et gi Situatiounen wou dës Method net gëeegent ass. Zum Beispill, wann d'Malware en Encryptor ass, wann et seng Erënnerungsregioune schützt fir ze dumpen, wann de Code virtuell Maschinn Detektiounsmechanismen enthält, oder wann d'Malware direkt nom Start nei start. An esou Fäll gëtt sougenannt "semi-automatesch" Auspackung benotzt, dat heescht, de Fuerscher huet komplett Kontroll iwwer de Prozess a kann zu all Moment intervenéieren. Loosst eis dës Prozedur mat dräi Proben vun der AgentTesla Famill als Beispill betruechten. Dëst ass eng relativ harmlos Malware wann Dir säin Netzzougang deaktivéiert.

Probe Nr 1

D'Quelldatei ass e MS Word Dokument dat d'Vulnerabilitéit CVE-2017-11882 ausnotzt.

D'Walbedeelegung gescheitert: loosst eis den AgentTesla proppert Waasser ausstellen. Deel 3
Als Resultat gëtt d'Notzlaascht erofgelueden a lancéiert.

Analyse vum Prozessbaum a Verhalensmarker weist d'Injektioun an de Prozess RegAsm.exe.

D'Walbedeelegung gescheitert: loosst eis den AgentTesla proppert Waasser ausstellen. Deel 3
D'Walbedeelegung gescheitert: loosst eis den AgentTesla proppert Waasser ausstellen. Deel 3
Et gi Verhalensmarker charakteristesch fir AgentTesla.

D'Walbedeelegung gescheitert: loosst eis den AgentTesla proppert Waasser ausstellen. Deel 3
Déi erofgeluede Probe ass déi ausführbar .NET-Datei geschützt vun engem Protecteur .NET Reaktor.

D'Walbedeelegung gescheitert: loosst eis den AgentTesla proppert Waasser ausstellen. Deel 3
Loosst eis et am Utility opmaachen dnSpy x86 a fuert weider op den Entréespunkt.

D'Walbedeelegung gescheitert: loosst eis den AgentTesla proppert Waasser ausstellen. Deel 3
Andeems Dir op d'Funktioun geet DatumTimeOffset, wäerte mir den Initialiséierungscode fir déi nei fannen .NET-modul. Loosst eis setzen Breakpoint op der Linn mir interesséiert sinn an de Fichier lafen.

D'Walbedeelegung gescheitert: loosst eis den AgentTesla proppert Waasser ausstellen. Deel 3
An engem vun de zréckkomm Puffer kënnt Dir d'MZ Ënnerschrëft gesinn (0x4D 0x5A). Loosst eis et retten.

D'Walbedeelegung gescheitert: loosst eis den AgentTesla proppert Waasser ausstellen. Deel 3
Eng dumpte ausführbar Datei ass eng dynamesch Bibliothéik déi e Loader ass, d.h. extrahéiert d'Notzlaascht aus der Ressource Sektioun a lancéiert se.

D'Walbedeelegung gescheitert: loosst eis den AgentTesla proppert Waasser ausstellen. Deel 3
Zur selwechter Zäit sinn déi néideg Ressourcen selwer net am Dump präsent. Si sinn an der Elteren Prouf.

Utility dnSpy huet zwee extrem nëtzlech Funktionalitéit, déi eis hëllefe ganz séier e "Frankenstein" aus zwee verbonne Dateien ze kreéieren.

  1. Déi éischt erlaabt Iech eng dynamesch Bibliothéik an d'Eltereprobe ze "paste".

    D'Walbedeelegung gescheitert: loosst eis den AgentTesla proppert Waasser ausstellen. Deel 3

  2. Déi zweet ass de Funktiounscode um Entréespunkt ëmzeschreiwen fir déi gewënschte Method vun der agebauter dynamescher Bibliothéik ze ruffen.

    D'Walbedeelegung gescheitert: loosst eis den AgentTesla proppert Waasser ausstellen. Deel 3

Mir späicheren eis "Frankenstein", Set Breakpoint op der Linn e Puffer mat entschlësselte Ressourcen zréckzeginn, a produzéiert en Dump no Analogie mat der viregter Etapp.

Den zweeten Dump ass geschriwwen VB.NET eng ausführbar Datei déi geschützt ass vun engem Protecteur deen eis vertraut ass ConfuserEx.

D'Walbedeelegung gescheitert: loosst eis den AgentTesla proppert Waasser ausstellen. Deel 3
D'Walbedeelegung gescheitert: loosst eis den AgentTesla proppert Waasser ausstellen. Deel 3
Nodeems mir de Protecteur ewechgeholl hunn, benotze mir d'YARA Reegelen déi virdru geschriwwe goufen a stellen sécher datt déi ausgepackt Malware wierklech AgentTesla ass.

D'Walbedeelegung gescheitert: loosst eis den AgentTesla proppert Waasser ausstellen. Deel 3

Probe Nr 2

D'Quelldatei ass en MS Excel Dokument. En agebaute Makro verursaacht Ausféierung vu béiswëllegen Code.

D'Walbedeelegung gescheitert: loosst eis den AgentTesla proppert Waasser ausstellen. Deel 3
Als Resultat gëtt de PowerShell Skript gestart.

D'Walbedeelegung gescheitert: loosst eis den AgentTesla proppert Waasser ausstellen. Deel 3
D'Walbedeelegung gescheitert: loosst eis den AgentTesla proppert Waasser ausstellen. Deel 3
De Skript entschlësselt den C # Code an iwwerdréit d'Kontroll un. De Code selwer ass e Bootloader, wéi och aus dem Sandbox Bericht gesi ka ginn.

D'Walbedeelegung gescheitert: loosst eis den AgentTesla proppert Waasser ausstellen. Deel 3
D'Walbedeelegung gescheitert: loosst eis den AgentTesla proppert Waasser ausstellen. Deel 3
D'Notzlaascht ass en ausführbar .NET- Datei.

D'Walbedeelegung gescheitert: loosst eis den AgentTesla proppert Waasser ausstellen. Deel 3
D'Datei opmaachen an dnSpy x86, Dir kënnt gesinn datt et verstoppt ass. Ewechzehuelen Obfuscatioun mam Utility de4 dot an zréck op d'Analyse.

Wann Dir de Code iwwerpréift, kënnt Dir déi folgend Funktioun entdecken:

D'Walbedeelegung gescheitert: loosst eis den AgentTesla proppert Waasser ausstellen. Deel 3
Déi kodéiert Linnen sinn opfälleg EntryPoint и Opruff. Mir setzen Breakpoint op déi éischt Zeil, lafen a späichert de Pufferwäert byte_0.

Den Dump ass erëm eng Applikatioun op .NET a geschützt ConfuserEx.

D'Walbedeelegung gescheitert: loosst eis den AgentTesla proppert Waasser ausstellen. Deel 3
D'Walbedeelegung gescheitert: loosst eis den AgentTesla proppert Waasser ausstellen. Deel 3
Mir ewechzehuelen obfuscation benotzt de4 dot an eropluede op dnSpy. Vun der Dateibeschreiwung verstinn mir datt mir konfrontéiert sinn CyaX-Sharp Loader.

D'Walbedeelegung gescheitert: loosst eis den AgentTesla proppert Waasser ausstellen. Deel 3
Dëse Loader huet extensiv Anti-Analysefunktionalitéit.

D'Walbedeelegung gescheitert: loosst eis den AgentTesla proppert Waasser ausstellen. Deel 3
Dës Funktionalitéit beinhalt d'Contournement vun agebaute Windows Schutzsystemer, deaktivéieren Windows Defender, souwéi Sandkëscht a virtuell Maschinn Detektiounsmechanismen. Et ass méiglech d'Notzlaascht aus dem Netz ze lueden oder se an der Ressource Sektioun ze späicheren. De Start gëtt duerch Injektioun an säin eegene Prozess gemaach, an en Duplikat vu sengem eegene Prozess oder a Prozesser MSBuild.exe, vbc.exe и RegSvcs.exe ofhängeg vum Parameter, deen den Ugräifer gewielt huet.

Fir eis si se awer manner bedeitend wéi Antidump-Funktioun déi dobäi ConfuserEx. Seng Quellcode kann op fonnt ginn GitHub.

Fir de Schutz auszeschalten, benotze mir d'Geleeënheet dnSpy, wat Iech erlaabt ze änneren IL-Code.

D'Walbedeelegung gescheitert: loosst eis den AgentTesla proppert Waasser ausstellen. Deel 3
D'Walbedeelegung gescheitert: loosst eis den AgentTesla proppert Waasser ausstellen. Deel 3
Späicheren an installéieren Breakpoint op d'Linn vum Opruff vun der Notzlaaschttschlësselungsfunktioun. Et läit am Konstruktor vun der Haaptklass.

D'Walbedeelegung gescheitert: loosst eis den AgentTesla proppert Waasser ausstellen. Deel 3
Mir starten a dumpen d'Notzlaascht. Mat de virdru geschriwwene YARA Reegelen suerge mir datt dëst AgentTesla ass.

D'Walbedeelegung gescheitert: loosst eis den AgentTesla proppert Waasser ausstellen. Deel 3

Probe Nr 3

D'Quelldatei ass den ausführbar VB Native PE32- Datei.

D'Walbedeelegung gescheitert: loosst eis den AgentTesla proppert Waasser ausstellen. Deel 3
Entropie Analyse weist d'Präsenz vun engem grousse Stéck verschlësselte Donnéeën.

D'Walbedeelegung gescheitert: loosst eis den AgentTesla proppert Waasser ausstellen. Deel 3
Wann Dir den Umeldungsformular analyséiert an VB Decompiler Dir kënnt e komeschen pixeléierten Hannergrond bemierken.

D'Walbedeelegung gescheitert: loosst eis den AgentTesla proppert Waasser ausstellen. Deel 3
D'Walbedeelegung gescheitert: loosst eis den AgentTesla proppert Waasser ausstellen. Deel 3
Entropie Grafik bmp-image ass identesch mat der Entropiegrafik vun der Originaldatei, an d'Gréisst ass 85% vun der Dateigréisst.

D'Walbedeelegung gescheitert: loosst eis den AgentTesla proppert Waasser ausstellen. Deel 3
D'allgemeng Erscheinung vum Bild weist d'Benotzung vu Steganographie un.

Loosst eis op d'Erscheinung vum Prozessbaum oppassen, wéi och d'Präsenz vun engem Injektiounsmarker.

D'Walbedeelegung gescheitert: loosst eis den AgentTesla proppert Waasser ausstellen. Deel 3
D'Walbedeelegung gescheitert: loosst eis den AgentTesla proppert Waasser ausstellen. Deel 3
Dëst weist datt d'Auspackung amgaang ass. Fir Visual Basic Loader (aka VBKrypt oder VBInjector) typesch Notzung shellcode fir d'Notzlaascht ze initialiséieren, wéi och d'Injektioun selwer auszeféieren.

Analyse an VB Decompiler huet d'Präsenz vun engem Event gewisen Lueden an der Form FegatassocAirballoon2.

D'Walbedeelegung gescheitert: loosst eis den AgentTesla proppert Waasser ausstellen. Deel 3
Loosst eis op IDA pro op déi spezifizéiert Adress a studéiert d'Funktioun. De Code ass schwéier verstoppt. De Fragment dat eis interesséiert gëtt hei ënnen presentéiert.

D'Walbedeelegung gescheitert: loosst eis den AgentTesla proppert Waasser ausstellen. Deel 3
Hei gëtt den Adressraum vum Prozess fir eng Ënnerschrëft gescannt. Dës Approche ass extrem zweifelhaft.

Éischt, d'Scannen Start Adress 0x400100. Dëse Wäert ass statesch a gëtt net ugepasst wann d'Basis verréckelt gëtt. An idealen Treibhausbedingungen wäert et d'Enn uginn PE- den Header vun der ausführbarer Datei. Wéi och ëmmer, d'Datebank ass net statesch, säi Wäert kann änneren, an d'Sich no der richteger Adress vun der erfuerderter Ënnerschrëft, obwuel et net e variabelen Iwwerschwemmung verursaacht, kann ganz laang daueren.

Zweetens, d'Bedeitung vun der Ënnerschrëft iWGK. Ech mengen et ass offensichtlech datt 4 Bytes ze kleng ass fir Eenzegaartegkeet ze garantéieren. A wann Dir den éischte Punkt berücksichtegt, ass d'Wahrscheinlechkeet e Feeler ze maachen zimlech héich.

Tatsächlech ass dat erfuerderlecht Fragment um Enn vum virdru fonnte befestegt bmp-Biller duerch Offset 0xA1D0D.

D'Walbedeelegung gescheitert: loosst eis den AgentTesla proppert Waasser ausstellen. Deel 3
Leeschtung Shellcode an zwou Etappen duerchgefouert. Déi éischt entschlësselt den Haaptkierper. An dësem Fall gëtt de Schlëssel duerch brute Kraaft bestëmmt.

D'Walbedeelegung gescheitert: loosst eis den AgentTesla proppert Waasser ausstellen. Deel 3
Dump déi entschlësselte Shellcode a kuckt op d'Linnen.

Als éischt kennen mir elo d'Funktioun fir e Kandprozess ze kreéieren: CreateProcessInternalW.

D'Walbedeelegung gescheitert: loosst eis den AgentTesla proppert Waasser ausstellen. Deel 3
Zweetens goufe mir de Mechanismus vun der Fixatioun am System bewosst.

D'Walbedeelegung gescheitert: loosst eis den AgentTesla proppert Waasser ausstellen. Deel 3
Komme mer zréck op den urspréngleche Prozess. Loosst eis setzen Breakpoint op CreateProcessInternalW a weider Ausféierung. Als nächst gesi mir d'Verbindung NtGetContextThread/NtSetContextThread, déi d'Ausféierungsstartadress op d'Adress ännert ShellCode.

D'Walbedeelegung gescheitert: loosst eis den AgentTesla proppert Waasser ausstellen. Deel 3
Mir verbannen dem erstallte Prozess mat engem Debugger an aktivéieren den Event Suspendéiert op d'Bibliothéik Lueden / Ausluede, fuert de Prozess weider a waart op d'Luede .NET- Bibliothéiken.

Weider benotzen ProzessHacker Dumpregiounen enthalen ausgepackt .NET- Applikatioun.

Mir stoppen all Prozesser a läschen d'Kopie vun der Malware déi am System agebonne gouf.

D'Walbedeelegung gescheitert: loosst eis den AgentTesla proppert Waasser ausstellen. Deel 3
D'Walbedeelegung gescheitert: loosst eis den AgentTesla proppert Waasser ausstellen. Deel 3
Déi gedumpte Datei ass vun engem Protecteur geschützt .NET Reaktor, déi einfach mat engem Utility ewechgeholl ka ginn de4 dot.

D'Walbedeelegung gescheitert: loosst eis den AgentTesla proppert Waasser ausstellen. Deel 3
Mat de YARA Reegelen déi virdru geschriwwe goufen, suerge mir datt dëst AgentTesla ass.

Komme mer zesummegefaasst

Also, mir hunn am Detail de Prozess vun der semi-automatescher Probe Auspackung mat dräi Mini-Fäll als Beispill bewisen, an och Malware analyséiert baséiert op engem vollwäertege Fall, erauszefannen datt d'Probe déi studéiert ass AgentTesla ass, seng Funktionalitéit an eng komplett Lëscht vun Indicateuren vun Kompromëss.

D'Analyse vum béiswëllegen Objet, dee mir duerchgefouert hunn, erfuerdert vill Zäit an Effort, an dës Aarbecht soll vun engem speziellen Employé an der Firma ausgefouert ginn, awer net all Firmen si prett fir en Analyst ze beschäftegen.

Ee vun de Servicer, déi vum Group-IB Laboratory of Computer Forensics and Malicious Code Analysis zur Verfügung gestallt gëtt, ass d'Äntwert op Cyber ​​Tëschefäll. A fir datt d'Clienten keng Zäit verschwenden fir Dokumenter z'accordéieren an ze diskutéieren an der Mëtt vun engem Cyberattack, huet Group-IB gestart Tëschefall Äntwert Retainer, e Pre-Abonnement Incident Response Service deen och e Malware Analyse Schrëtt enthält. Méi Informatiounen iwwer dëst kann fonnt ginn hei.

Wann Dir nach eng Kéier studéiere wëllt wéi AgentTesla Proben ausgepackt ginn a kucken wéi e CERT Group-IB Spezialist et mécht, kënnt Dir de Webinar Opzeechnung iwwer dëst Thema eroflueden hei.

Source: will.com

Setzt e Commentaire