Vi fortsätter vår serie artiklar som ägnas åt analys av skadlig programvara. I
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.
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
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:
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:
Rubriken på brevet har den allmänna formen: / . Innehållet i brevet, liksom dess bilagor, är inte krypterade.
Interaktionen sker via FTP-protokollet. En fil med namnet överförs till den angivna servern _-_.html. Innehållet i filen är inte krypterat.
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:
- programnamnet letas efter i fönstertitlarna
- 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:
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:
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.
Efter detta infogas texten i loggen:
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.
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