Vi fortsætter vores serie af artikler om malware-analyse. I
Agent Tesla er en modulær spionsoftware distribueret ved hjælp af en malware-as-a-service-model under dække af et legitimt keylogger-produkt. Agent Tesla er i stand til at udtrække og overføre brugeroplysninger fra browsere, e-mail-klienter og FTP-klienter til serveren til angribere, optage klippebordsdata og fange enhedens skærm. På analysetidspunktet var udviklernes officielle hjemmeside ikke tilgængelig.
Konfigurationsfil
Tabellen nedenfor viser, hvilken funktionalitet der gælder for den prøve, du bruger:
beskrivelse | Value |
KeyLogger-brugsflag | sand |
ScreenLogger-brugsflag | falsk |
KeyLogger log afsendelsesinterval i minutter | 20 |
ScreenLogger log afsendelsesinterval i minutter | 20 |
Backspace-tasthåndteringsflag. Falsk – kun logning. Sand – sletter den forrige tast | falsk |
CNC type. Muligheder: smtp, webpanel, ftp | smtp |
Trådaktiveringsflag til afslutning af processer fra listen "%filter_list%" | falsk |
UAC deaktiver flag | falsk |
Task Manager deaktiver flag | falsk |
CMD deaktiver flag | falsk |
Kør vinduet deaktiver flag | falsk |
Registry Viewer Deaktiver flag | falsk |
Deaktiver flag for systemgendannelsespunkter | sand |
Kontrolpanel deaktiver flag | falsk |
MSCONFIG deaktiver flag | falsk |
Flag for at deaktivere kontekstmenuen i Stifinder | falsk |
Pin flag | falsk |
Sti til kopiering af hovedmodulet, når det fastgøres til systemet | %startupfolder% %insfolder%%insname% |
Flag for indstilling af attributterne "System" og "Skjult" for det hovedmodul, der er tildelt systemet | falsk |
Flag for at udføre en genstart, når den er fastgjort til systemet | falsk |
Flag for at flytte hovedmodulet til en midlertidig mappe | falsk |
UAC bypass flag | falsk |
Dato- og tidsformat for logning | åååå-MM-dd TT:mm:ss |
Flag for brug af et programfilter til KeyLogger | sand |
Type programfiltrering. 1 – programnavnet søges i vinduets titler 2 – programnavnet søges i vinduets procesnavn |
1 |
Program filter | "facebook" "twitter" "gmail" "instagram" "film" "skype" "porno" "hack" "whatsapp" "splid" |
Tilslutning af hovedmodulet til systemet
Hvis det tilsvarende flag er sat, kopieres hovedmodulet til den sti, der er angivet i konfigurationen som den sti, der skal tildeles til systemet.
Afhængigt af værdien fra config, får filen attributterne "Skjult" og "System".
Autorun leveres af to registreringsafdelinger:
- HKCU SoftwareMicrosoftWindowsCurrentVersionRun%insregname%
- HKCUSOFTWAREMicrosoftWindowsCurrentVersionExplorerStartupApprovedKør %insregname%
Da bootloaderen injicerer i processen RegAsm, at sætte det vedvarende flag for hovedmodulet fører til ret interessante konsekvenser. I stedet for at kopiere sig selv vedhæftede malwaren den originale fil til systemet RegAsm.exe, hvorunder injektionen blev udført.
Interaktion med C&C
Uanset hvilken metode der anvendes, begynder netværkskommunikation med at få offerets eksterne IP ved hjælp af ressourcen
Det følgende beskriver de metoder til netværksinteraktion, der præsenteres i softwaren.
webpanel
Interaktionen foregår via HTTP-protokollen. Malwaren udfører en POST-anmodning med følgende overskrifter:
- Brugeragent: 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)
- Tilslutning: Keep-Alive
- Indholdstype: application/x-www-form-urlencoded
Serveradressen er angivet af værdien %PostURL%. Den krypterede besked sendes i parameteren «P». Krypteringsmekanismen er beskrevet i afsnit "Krypteringsalgoritmer" (metode 2).
Den sendte besked ser således ud:
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 typen angiver meddelelsestypen:
hwid — en MD5-hash optages fra værdierne af bundkortets serienummer og processor-id. Mest sandsynligt brugt som et bruger-id.
tid — tjener til at sende det aktuelle klokkeslæt og dato.
pcnavn - defineret som /.
logdata — logdata.
Når du sender adgangskoder, ser meddelelsen sådan ud:
type={0}nhwid={1}ntime={2}npcname={3}nlogdata={4}nscreen={5}nipadd={6}nwebcam_link={7}nscreen_link={8}n[passwords]
Følgende er beskrivelser af de stjålne data i formatet nclient[]={0}nlink[]={1}brugernavn[]={2}nadgangskode[]={3}.
smtp
Interaktionen foregår via SMTP-protokollen. Det transmitterede brev er i HTML-format. Parameter BODY har formen:
Overskriften på brevet har den generelle form: / . Indholdet af brevet, såvel som dets vedhæftede filer, er ikke krypteret.
Interaktionen foregår via FTP-protokollen. En fil med navnet overføres til den angivne server _-_.html. Indholdet af filen er ikke krypteret.
Krypteringsalgoritmer
Denne sag bruger følgende krypteringsmetoder:
1-metoden
Denne metode bruges til at kryptere strenge i hovedmodulet. Algoritmen der bruges til kryptering er AES.
Indtastningen er et sekscifret decimaltal. Følgende transformation udføres på den:
f(x) = (((x >> 2 - 31059) ^ 6380) - 1363) >> 3
Den resulterende værdi er indekset for det indlejrede dataarray.
Hvert array-element er en sekvens DWORD. Ved sammenlægning DWORD et array af bytes opnås: de første 32 bytes er krypteringsnøglen, efterfulgt af 16 bytes af initialiseringsvektoren, og de resterende bytes er de krypterede data.
2-metoden
Algoritme brugt 3DES i tilstanden ECB med udfyldning i hele bytes (PKCS7).
Nøglen er specificeret af parameteren %urlkey%, dog bruger kryptering sin MD5-hash.
Ondsindet funktionalitet
Prøven, der undersøges, bruger følgende programmer til at implementere dens skadelige funktion:
keylogger
Hvis der er et tilsvarende malware-flag ved hjælp af WinAPI-funktionen Indstil WindowsHookEx tildeler sin egen handler til tastetrykhændelser på tastaturet. Behandlerfunktionen begynder med at få titlen på det aktive vindue.
Hvis applikationsfiltreringsflaget er indstillet, udføres filtrering afhængigt af den angivne type:
- programnavnet søges efter i vinduets titler
- programnavnet slås op i vinduets procesnavn
Dernæst tilføjes en post til loggen med information om det aktive vindue i formatet:
Derefter registreres information om den tast, der trykkes:
nøgle | Optag |
Backspace | Afhængigt af flaget til behandling af Backspace-tasten: False – {BACK} Sand – sletter den forrige tast |
CapsLock | {CAPS LOCK} |
ESC | {ESC} |
PageUp | {Side op} |
ned | ↓ |
SLET | {DEL} |
" | " |
F5 | {F5} |
& | & |
F10 | {F10} |
TAB | {TAB} |
< | < |
> | > |
Mellemrumstasten | |
F8 | {F8} |
F12 | {F12} |
F9 | {F9} |
ALT + TAB | {ALT+TAB} |
SLUT | {ENDE} |
F4 | {F4} |
F2 | {F2} |
CTRL | {CTRL} |
F6 | {F6} |
Højre | → |
Up | ↑ |
F1 | {F1} |
Venstre | ← |
PageDown | {Side ned} |
indsatte | {Indsæt} |
Vinde | {Vinde} |
NumLock | {NumLock} |
F11 | {F11} |
F3 | {F3} |
FORSIDE | {HJEM} |
ENTER | {GÅ IND} |
ALT + F4 | {ALT+F4} |
F7 | {F7} |
Anden nøgle | Tegnet er med store eller små bogstaver afhængigt af placeringen af CapsLock- og Shift-tasterne |
Ved en specificeret frekvens sendes den indsamlede log til serveren. Hvis overførslen mislykkes, gemmes loggen i en fil %TEMP%log.tmp i format:
Når timeren udløses, vil filen blive overført til serveren.
ScreenLogger
Ved en specificeret frekvens opretter malwaren et skærmbillede i formatet Jpeg med betydningen Kvalitet lig med 50 og gemmer det i en fil %APPDATA %.jpg. Efter overførsel slettes filen.
clipboardlogger
Hvis det relevante flag er sat, foretages udskiftninger i den opsnappede tekst i henhold til tabellen nedenfor.
Herefter indsættes teksten i loggen:
Adgangskode stjæler
Malwaren kan downloade adgangskoder fra følgende applikationer:
Браузеры | E-mail-klienter | FTP-klienter |
Chrome | Outlook | FileZilla |
Firefox | Thunderbird | WS_FTP |
IE/Edge | rævepost | WinSCP |
Safari | Opera Mail | CoreFTP |
Opera Browser | IncrediMail | FTP Navigator |
Yandex | Pocomail | FlashFXP |
Comodo | Eudora | SmartFTP |
ChromePlus | Flagermusen | FTP Commander |
Chromium | Postboks | |
Torch | ClawsMail | |
7-stjernede | ||
Amigo | ||
BraveSoftware | Jabber kunder | VPN-klienter |
CentBrowser | Psi/Psi+ | Åbn VPN |
Chedot | ||
CocCoc | ||
Elements browser | Download administratorer | |
Episk browser til beskyttelse af personlige oplysninger | Internet Download Manager | |
Komet | JDownloader | |
orbitum | ||
Sputnik | ||
uCozMedia | ||
Vivaldi | ||
SeaMonkey | ||
Flock Browser | ||
UC-browser | ||
Black Hawk | ||
Cyber Fox | ||
K-Meleon | ||
Icecat | ||
Icedragon | ||
PaleMoon | ||
vandræv | ||
Falkon browser |
Modstand mod dynamisk analyse
- Brug af funktionen Sleep. Giver dig mulighed for at omgå nogle sandkasser efter timeout
- At ødelægge en tråd Område. Identificer. Giver dig mulighed for at skjule det faktum at downloade en fil fra internettet
- I parameteren %filter_list% angiver en liste over processer, som malwaren vil afslutte med intervaller på et sekund
- frakobling UAC
- Deaktivering af task manager
- frakobling CMD
- Deaktivering af et vindue "Løb"
- Deaktivering af kontrolpanelet
- Deaktivering af et værktøj Regedit
- Deaktivering af systemgendannelsespunkter
- Deaktiver kontekstmenuen i Stifinder
- frakobling MSCONFIG
- Bypass UAC:
Inaktive funktioner i hovedmodulet
Under analysen af hovedmodulet blev der identificeret funktioner, der var ansvarlige for at sprede sig over netværket og spore musens position.
Worm
Hændelser for tilslutning af flytbare medier overvåges i en separat tråd. Når den er tilsluttet, kopieres malwaren med navnet til roden af filsystemet scr.exe, hvorefter den søger efter filer med filtypenavnet LNK. alles hold LNK ændringer til cmd.exe /c start scr.exe&start & afslut.
Hver mappe i roden af mediet får en egenskab "Skjult" og der oprettes en fil med filtypenavnet LNK med navnet på den skjulte mappe og kommandoen cmd.exe /c start scr.exe&explorer /root,"%CD%" og afslut.
MouseTracker
Metoden til at udføre aflytning svarer til den, der bruges til tastaturet. Denne funktionalitet er stadig under udvikling.
Filaktivitet
Sti | beskrivelse |
%Temp%temp.tmp | Indeholder en tæller for UAC-bypass-forsøg |
%startupfolder%%insfolder%%insname% | Sti, der skal tildeles til HPE-systemet |
%Temp%tmpG{Aktuel tid i millisekunder}.tmp | Sti til backup af hovedmodulet |
%Temp%log.tmp | Logfil |
%AppData%{En vilkårlig sekvens på 10 tegn}.jpeg | Skærmbilleder |
C:UsersPublic{En vilkårlig sekvens på 10 tegn}.vbs | Sti til en vbs-fil, som bootloaderen kan bruge til at vedhæfte til systemet |
%Temp%{Tilpasset mappenavn}{Filnavn} | Sti, der bruges af bootloaderen til at knytte sig til systemet |
Angriberprofil
Takket være hårdkodede autentificeringsdata var vi i stand til at få adgang til kommandocentret.
Dette gjorde det muligt for os at identificere den sidste e-mail fra angriberne:
junaid[.]i***@gmail[.]com.
Kommandocentrets domænenavn registreres på mailen sg***@gmail[.]com.
Konklusion
Under en detaljeret analyse af den malware, der blev brugt i angrebet, var vi i stand til at etablere dens funktionalitet og opnå den mest komplette liste over indikatorer for kompromis, der er relevante for denne sag. Forståelse af mekanismerne for netværksinteraktion mellem malware gjorde det muligt at give anbefalinger til justering af driften af informationssikkerhedsværktøjer samt skrive stabile IDS-regler.
Hovedfare AgentTesla ligesom DataStealer ved, at den ikke behøver at forpligte sig til systemet eller vente på en kontrolkommando for at udføre sine opgaver. Når den først er på maskinen, begynder den straks at indsamle private oplysninger og overfører dem til CnC. Denne aggressive adfærd ligner på nogle måder adfærden for ransomware, med den eneste forskel, at sidstnævnte ikke engang kræver en netværksforbindelse. Hvis du støder på denne familie, efter at have renset det inficerede system fra selve malwaren, bør du helt sikkert ændre alle adgangskoder, der i det mindste teoretisk kunne gemmes i en af ovenstående applikationer.
Ser fremad, lad os sige, at angribere sender AgentTesla, ændres den indledende opstartsindlæser meget ofte. Dette giver dig mulighed for at forblive ubemærket af statiske scannere og heuristiske analysatorer på angrebstidspunktet. Og denne families tendens til straks at starte deres aktiviteter gør systemmonitorer ubrugelige. Den bedste måde at bekæmpe AgentTesla på er foreløbig analyse i en sandkasse.
I den tredje artikel i denne serie vil vi se på andre brugte bootloadere AgentTesla, og også studere processen med deres semi-automatiske udpakning. Gå ikke glip af!
Hash
SHA1 |
A8C2765B3D655BA23886D663D22BDD8EF6E8E894 |
8010CC2AF398F9F951555F7D481CE13DF60BBECF |
79B445DE923C92BF378B19D12A309C0E9C5851BF |
15839B7AB0417FA35F2858722F0BD47BDF840D62 |
1C981EF3EEA8548A30E8D7BF8D0D61F9224288DD |
C&C
URL |
sina-c0m[.]icu |
smtp[.]sina-c0m[.]icu |
RegNøgle
register |
HKCUSoftwareMicrosoftWindowsCurrentVersionRun{Scriptnavn} |
HKCUSoftwareMicrosoftWindowsCurrentVersionRun%insregname% |
HKCUSOFTWAREMicrosoftWindowsCurrentVersionExplorerStartupApprovedRun%insregname% |
mutex
Der er ingen indikatorer.
Filer
Filaktivitet |
%Temp%temp.tmp |
%startupfolder%%insfolder%%insname% |
%Temp%tmpG{Aktuel tid i millisekunder}.tmp |
%Temp%log.tmp |
%AppData%{En vilkårlig sekvens på 10 tegn}.jpeg |
C:UsersPublic{En vilkårlig sekvens på 10 tegn}.vbs |
%Temp%{Tilpasset mappenavn}{Filnavn} |
Prøver info
Navn | Ukendt |
MD5 | F7722DD8660B261EA13B710062B59C43 |
SHA1 | 15839B7AB0417FA35F2858722F0BD47BDF840D62 |
SHA256 | 41DC0D5459F25E2FDCF8797948A7B315D3CB0753 98D808D1772CACCC726AF6E9 |
Type | PE (.NET) |
Størrelse | 327680 |
Originalnavn | AZZRIDKGGSLTYFUUBCCRRCUMRKTOXFVPDKGAGPUZI_20190701133545943.exe |
Datostempel | 01.07.2019 |
compiler | VB.NET |
Navn | IELibrary.dll |
MD5 | BFB160A89F4A607A60464631ED3ED9FD |
SHA1 | 1C981EF3EEA8548A30E8D7BF8D0D61F9224288DD |
SHA256 | D55800A825792F55999ABDAD199DFA54F3184417 215A298910F2C12CD9CC31EE |
Type | PE (.NET DLL) |
Størrelse | 16896 |
Originalnavn | IELibrary.dll |
Datostempel | 11.10.2016 |
compiler | Microsoft Linker (48.0*) |
Kilde: www.habr.com