Valdeltagandet misslyckades: låt oss utsätta AgentTesla för rent vatten. Del 2

Valdeltagandet misslyckades: låt oss utsätta AgentTesla för rent vatten. Del 2
Vi fortsätter vår serie artiklar som ägnas åt analys av skadlig programvara. I först Dels berättade vi hur Ilya Pomerantsev, en specialist på skadlig programvara på CERT Group-IB, genomförde en detaljerad analys av en fil som mottagits via post från ett av de europeiska företagen och upptäckte spionprogram där Agent Tesla. I den här artikeln ger Ilya resultaten av en steg-för-steg-analys av huvudmodulen Agent Tesla.

Agent Tesla är en modulär spionprogramvara som distribueras med en malware-as-a-service-modell under sken av en legitim keylogger-produkt. Agent Tesla kan extrahera och överföra användaruppgifter från webbläsare, e-postklienter och FTP-klienter till servern till angripare, spela in urklippsdata och fånga enhetens skärm. Vid tidpunkten för analysen var utvecklarnas officiella webbplats inte tillgänglig.

Konfigurationsfil

Tabellen nedan visar vilken funktionalitet som gäller för exemplet du använder:

beskrivning Värde
KeyLogger användningsflagga sann
Användningsflagga för ScreenLogger falsk
KeyLogger-loggsändningsintervall i minuter 20
ScreenLogger-loggsändningsintervall i minuter 20
Backstegsnyckelhanteringsflagga. Falskt – endast loggning. Sant – raderar föregående nyckel falsk
CNC typ. Alternativ: smtp, webpanel, ftp smtp
Trådaktiveringsflagga för att avsluta processer från listan "%filter_list%" falsk
UAC inaktivera flaggan falsk
Aktivitetshanteraren inaktivera flaggan falsk
CMD inaktivera flagga falsk
Kör fönster inaktivera flagga falsk
Registry Viewer Inaktivera flagga falsk
Inaktivera flaggan för systemåterställningspunkter sann
Kontrollpanelen avaktiverar flaggan falsk
MSCONFIG inaktivera flaggan falsk
Flagga för att inaktivera snabbmenyn i Utforskaren falsk
Pin flagga falsk
Sökväg för att kopiera huvudmodulen när den fästs i systemet %startupfolder% %insfolder%%insname%
Flagga för att ställa in attributen "System" och "Dold" för huvudmodulen som tilldelats systemet falsk
Flagga för att utföra en omstart när den är fäst vid systemet falsk
Flagga för att flytta huvudmodulen till en tillfällig mapp falsk
UAC bypass-flagga falsk
Datum- och tidsformat för loggning åååå-MM-dd TT:mm:ss
Flagga för att använda ett programfilter för KeyLogger sann
Typ av programfiltrering.
1 – programnamnet söks i fönstertitlarna
2 – programnamnet letas efter i fönstrets processnamn
1
Programfilter "Facebook"
"Twitter"
"gmail"
"Instagram"
"film"
"skype"
"porr"
"hacka"
"whatsapp"
"disharmoni"

Ansluter huvudmodulen till systemet

Om motsvarande flagga är inställd, kopieras huvudmodulen till den sökväg som anges i konfigurationen som den sökväg som ska tilldelas systemet.

Beroende på värdet från konfigurationen får filen attributen "Hidden" och "System".
Autorun tillhandahålls av två registergrenar:

  • HKCU SoftwareMicrosoftWindowsCurrentVersionRun%insregname%
  • HKCUSOFTWAREMicrosoftWindowsCurrentVersionExplorerStartupApprovedKör %insregname%

Eftersom starthanteraren injicerar i processen RegAsm, inställning av den beständiga flaggan för huvudmodulen leder till ganska intressanta konsekvenser. Istället för att kopiera sig själv bifogade skadlig programvara originalfilen till systemet RegAsm.exe, under vilken injektionen utfördes.

Valdeltagandet misslyckades: låt oss utsätta AgentTesla för rent vatten. Del 2
Valdeltagandet misslyckades: låt oss utsätta AgentTesla för rent vatten. Del 2

Interaktion med C&C

Oavsett vilken metod som används, börjar nätverkskommunikation med att få offrets externa IP med hjälp av resursen checkcheck[.]amazonaws[.]com/.
Följande beskriver nätverksinteraktionsmetoderna som presenteras i programvaran.

webbpanel

Interaktionen sker via HTTP-protokollet. Skadlig programvara kör en POST-begäran med följande rubriker:

  • Användaragent: Mozilla/5.0 (Windows U Windows NT 6.1 ru rv:1.9.2.3) Gecko/20100401 Firefox/4.0 (.NET CLR 3.5.30729)
  • Anslutning: Keep-Alive
  • Innehållstyp: application/x-www-form-urlencoded

Serveradressen anges av värdet %PostURL%. Det krypterade meddelandet skickas i parametern «P». Krypteringsmekanismen beskrivs i avsnitt "Krypteringsalgoritmer" (metod 2).

Det överförda meddelandet ser ut så här:

type={0}nhwid={1}ntime={2}npcname={3}nlogdata={4}nscreen={5}nipadd={6}nwebcam_link={7}nclient={8}nlink={9}nusername={10}npassword={11}nscreen_link={12}

Parameter Typ indikerar meddelandetypen:

Valdeltagandet misslyckades: låt oss utsätta AgentTesla för rent vatten. Del 2
hwid — en MD5-hash registreras från värdena för moderkortets serienummer och processor-ID. Används troligen som användar-ID.
tid — tjänar till att överföra aktuell tid och datum.
pcnamn - definierad som /.
logdata — loggdata.

När du överför lösenord ser meddelandet ut så här:

type={0}nhwid={1}ntime={2}npcname={3}nlogdata={4}nscreen={5}nipadd={6}nwebcam_link={7}nscreen_link={8}n[passwords]

Följande är beskrivningar av stulna data i formatet nclient[]={0}nlink[]={1}användarnamn[]={2}nlösenord[]={3}.

smtp

Interaktionen sker via SMTP-protokollet. Det överförda brevet är i HTML-format. Parameter KROPP har formen:

Valdeltagandet misslyckades: låt oss utsätta AgentTesla för rent vatten. Del 2
Rubriken på brevet har den allmänna formen: / . Innehållet i brevet, liksom dess bilagor, är inte krypterade.

Valdeltagandet misslyckades: låt oss utsätta AgentTesla för rent vatten. Del 2
Interaktionen sker via FTP-protokollet. En fil med namnet överförs till den angivna servern _-_.html. Innehållet i filen är inte krypterat.

Valdeltagandet misslyckades: låt oss utsätta AgentTesla för rent vatten. Del 2

Krypteringsalgoritmer

Det här fallet använder följande krypteringsmetoder:

1-metoden

Denna metod används för att kryptera strängar i huvudmodulen. Algoritmen som används för kryptering är AES.

Inmatningen är ett sexsiffrigt decimaltal. Följande transformation utförs på den:

f(x) = (((x >> 2 - 31059) ^ 6380) - 1363) >> 3

Det resulterande värdet är indexet för den inbäddade datamatrisen.

Varje matriselement är en sekvens DWORD. Vid sammanslagning DWORD en uppsättning byte erhålls: de första 32 byten är krypteringsnyckeln, följt av 16 byte av initialiseringsvektorn, och de återstående byten är krypterad data.

2-metoden

Algoritm använd 3DES i läget ECB med utfyllnad i hela byte (PKCS7).

Nyckeln anges av parametern %urlkey%, dock använder kryptering sin MD5-hash.

Skadlig funktionalitet

Provet som studeras använder följande program för att implementera sin skadliga funktion:

nyckellogger

Om det finns en motsvarande skadlig kod med WinAPI-funktionen Ställ in WindowsHookEx tilldelar sin egen hanterare för tangenttryckningshändelser på tangentbordet. Hanterarfunktionen börjar med att få titeln på det aktiva fönstret.

Om applikationsfiltreringsflaggan är inställd utförs filtrering beroende på den angivna typen:

  1. programnamnet letas efter i fönstertitlarna
  2. programnamnet slås upp i fönstrets processnamn

Därefter läggs en post till loggen med information om det aktiva fönstret i formatet:

Valdeltagandet misslyckades: låt oss utsätta AgentTesla för rent vatten. Del 2
Sedan registreras information om den nedtryckta tangenten:

nyckel Rekord
Backsteg Beroende på bearbetningsflaggan för backstegstangenten: False – {BACK}
Sant – raderar föregående nyckel
CAPS LOCK {CAPS LOCK}
ESK {ESC}
PageUp {Sida upp}
Ner
RADERA {DEL}
" "
F5 {F5}
& &
F10 {F10}
FLIK {FLIK}
< <
> >
spalt
F8 {F8}
F12 {F12}
F9 {F9}
ALT + TAB {ALT+TABB}
SLUT {SLUTET}
F4 {F4}
F2 {F2}
CTRL {CTRL}
F6 {F6}
Höger
Up
F1 {F1}
Vänster
Pagedown {Sida ned}
Insert {Föra in}
Vinna {Vinna}
NumLock {Num lock}
F11 {F11}
F3 {F3}
HEM {HEM}
ENTER {STIGA PÅ}
ALT + F4 {ALT+F4}
F7 {F7}
Annan nyckel Tecknet är i versaler eller gemener beroende på positionerna för CapsLock och Shift-tangenterna

Vid en angiven frekvens skickas den insamlade loggen till servern. Om överföringen misslyckas sparas loggen i en fil %TEMP%log.tmp i format:

Valdeltagandet misslyckades: låt oss utsätta AgentTesla för rent vatten. Del 2
När timern startar kommer filen att överföras till servern.

ScreenLogger

Vid en angiven frekvens skapar skadlig programvara en skärmdump i formatet jpeg med mening Kvalitet lika med 50 och sparar den i en fil %APPDATA %.jpg. Efter överföringen raderas filen.

ClipboardLogger

Om lämplig flagga är inställd görs ersättningar i den avlyssnade texten enligt tabellen nedan.

Valdeltagandet misslyckades: låt oss utsätta AgentTesla för rent vatten. Del 2
Efter detta infogas texten i loggen:

Valdeltagandet misslyckades: låt oss utsätta AgentTesla för rent vatten. Del 2

PasswordStealer

Skadlig programvara kan ladda ner lösenord från följande applikationer:

Браузеры E-postklienter FTP-klienter
krom utsikterna filezilla
firefox Thunder WS_FTP
IE/Edge foxmail WinSCP
Safari Opera Mail CoreFTP
Opera Browser IncrediMail FTP Navigator
Yandex Pocomail FlashFXP
Comodo Eudora SmartFTP
ChromePlus Fladdermusen FTPCommander
krom Postbox
Ficklampa ClawsMail
7Star
Vän
BraveSoftware Jabber-klienter VPN-klienter
CentBrowser Psi/Psi+ Öppna VPN
Chedot
CocCoc
Elements webbläsare Nedladdningshanterare
Epic Privacy Browser Internet Download Manager
Komet JDownloader
orbitum
Sputnik
uCozMedia
Vivaldi
SeaMonkey
Flock Browser
UC Browser
Svart hök
Cyber ​​Fox
K-Meleon
Icecat
Icedragon
Blek måne
WaterFox
Falkon webbläsare

Motverkan till dynamisk analys

  • Använder funktionen Sleep. Gör att du kan kringgå vissa sandlådor efter timeout
  • Förstör en tråd Zon.Identifierare. Låter dig dölja att en fil laddas ner från Internet
  • I parametern %filter_list% anger en lista över processer som skadlig programvara kommer att avsluta med en sekunds intervall
  • frånkoppling UAC
  • Inaktiverar aktivitetshanteraren
  • frånkoppling CMD
  • Inaktiverar ett fönster "Springa"
  • Inaktiverar kontrollpanelen
  • Inaktivera ett verktyg regEdit
  • Inaktiverar systemåterställningspunkter
  • Inaktivera snabbmenyn i Utforskaren
  • frånkoppling MSCONFIG
  • Gå förbi UAC:

Inaktiva funktioner i huvudmodulen

Under analysen av huvudmodulen identifierades funktioner som var ansvariga för att spridas över nätverket och spåra musens position.

Worm

Händelser för anslutning av flyttbara media övervakas i en separat tråd. När den är ansluten kopieras den skadliga programvaran med namnet till roten av filsystemet scr.exe, varefter den söker efter filer med filtillägget LNK. Allas lag LNK ändringar till cmd.exe /c starta scr.exe&starta & avsluta.

Varje katalog i roten av media ges ett attribut "Dold" och en fil skapas med tillägget LNK med namnet på den dolda katalogen och kommandot cmd.exe /c starta scr.exe&explorer /root,"%CD%" och avsluta.

Mousetracker

Metoden för att utföra avlyssning liknar den som används för tangentbordet. Denna funktion är fortfarande under utveckling.

Filaktivitet

Bana beskrivning
%Temp%temp.tmp Innehåller en räknare för UAC-bypassförsök
%startupfolder%%insfolder%%insname% Sökväg som ska tilldelas till HPE-systemet
%Temp%tmpG{Aktuell tid i millisekunder}.tmp Sökväg för säkerhetskopiering av huvudmodulen
%Temp%log.tmp Loggfil
%AppData%{En godtycklig sekvens på 10 tecken}.jpeg Skärmdumpar
C:UsersPublic{En godtycklig sekvens med 10 tecken}.vbs Sökväg till en vbs-fil som starthanteraren kan använda för att bifoga till systemet
%Temp%{Anpassat mappnamn}{Filnamn} Sökväg som används av starthanteraren för att ansluta sig till systemet

Angriparprofil

Tack vare hårdkodad autentiseringsdata kunde vi få tillgång till kommandocentralen.

Valdeltagandet misslyckades: låt oss utsätta AgentTesla för rent vatten. Del 2
Detta gjorde det möjligt för oss att identifiera angriparnas sista e-postmeddelande:

junaid[.]in***@gmail[.]com.

Kommandocentralens domännamn registreras på posten sg***@gmail[.]com.

Slutsats

Under en detaljerad analys av den skadliga programvaran som användes i attacken kunde vi fastställa dess funktionalitet och få den mest kompletta listan över indikatorer på kompromiss som är relevanta för detta fall. Att förstå mekanismerna för nätverksinteraktion mellan skadlig programvara gjorde det möjligt att ge rekommendationer för att justera driften av informationssäkerhetsverktyg, samt skriva stabila IDS-regler.

Huvudfara Agent Tesla som DataStealer genom att den inte behöver binda sig till systemet eller vänta på ett kontrollkommando för att utföra sina uppgifter. Väl på maskinen börjar den omedelbart samla in privat information och överför den till CnC. Detta aggressiva beteende liknar på vissa sätt beteendet hos ransomware, med den enda skillnaden är att de senare inte ens kräver en nätverksanslutning. Om du stöter på den här familjen, efter att ha rensat det infekterade systemet från själva skadliga programvaran, bör du definitivt ändra alla lösenord som åtminstone teoretiskt skulle kunna sparas i något av applikationerna ovan.

Om vi ​​ser framåt, låt oss säga att angripare skickar Agent Tesla, ändras den initiala starthanteraren väldigt ofta. Detta gör att du kan förbli obemärkt av statiska skannrar och heuristiska analysatorer vid tidpunkten för attacken. Och denna familjs tendens att omedelbart börja sina aktiviteter gör systemmonitorer värdelösa. Det bästa sättet att bekämpa AgentTesla är preliminär analys i en sandlåda.

I den tredje artikeln i denna serie kommer vi att titta på andra bootloaders som används Agent Tesla, och studera också processen för deras halvautomatiska uppackning. Missa inte!

Hash

SHA1
A8C2765B3D655BA23886D663D22BDD8EF6E8E894
8010CC2AF398F9F951555F7D481CE13DF60BBECF
79B445DE923C92BF378B19D12A309C0E9C5851BF
15839B7AB0417FA35F2858722F0BD47BDF840D62
1C981EF3EEA8548A30E8D7BF8D0D61F9224288DD

C&C

URL
sina-c0m[.]icu
smtp[.]sina-c0m[.]icu

RegKey

register
HKCUSoftwareMicrosoftWindowsCurrentVersionRun{Skriptnamn}
HKCUSoftwareMicrosoftWindowsCurrentVersionRun%insregname%
HKCUSOFTWAREMicrosoftWindowsCurrentVersionExplorerStartupApprovedRun%insregname%

mutex

Det finns inga indikatorer.

Filer

Filaktivitet
%Temp%temp.tmp
%startupfolder%%insfolder%%insname%
%Temp%tmpG{Aktuell tid i millisekunder}.tmp
%Temp%log.tmp
%AppData%{En godtycklig sekvens på 10 tecken}.jpeg
C:UsersPublic{En godtycklig sekvens med 10 tecken}.vbs
%Temp%{Anpassat mappnamn}{Filnamn}

Provinformation

Namn Okänd
MD5 F7722DD8660B261EA13B710062B59C43
SHA1 15839B7AB0417FA35F2858722F0BD47BDF840D62
SHA256 41DC0D5459F25E2FDCF8797948A7B315D3CB0753
98D808D1772CACCC726AF6E9
Typ PE (.NET)
Storlek 327680
Originalnamn AZZRIDKGGSLTYFUUBCCRRCUMRKTOXFVPDKGAGPUZI_20190701133545943.exe
Datumstämpel 01.07.2019
Kompilator VB.NET

Namn IELibrary.dll
MD5 BFB160A89F4A607A60464631ED3ED9FD
SHA1 1C981EF3EEA8548A30E8D7BF8D0D61F9224288DD
SHA256 D55800A825792F55999ABDAD199DFA54F3184417
215A298910F2C12CD9CC31EE
Typ PE (.NET DLL)
Storlek 16896
Originalnamn IELibrary.dll
Datumstämpel 11.10.2016
Kompilator Microsoft Linker(48.0*)

Källa: will.com

Lägg en kommentar