Valgdeltagelse mislykkedes: Lad os udsætte AgentTesla for rent vand. Del 1

Valgdeltagelse mislykkedes: Lad os udsætte AgentTesla for rent vand. Del 1
For nylig kontaktede en europæisk producent af elektrisk installationsudstyr Group-IB - dens medarbejder modtog et mistænkeligt brev med en ondsindet vedhæftet fil med posten. Ilya Pomerantsev, en malware-analysespecialist hos CERT Group-IB, udførte en detaljeret analyse af denne fil, opdagede AgentTesla-spywaren der og fortalte, hvad man kan forvente af sådan malware, og hvordan den er farlig.

Med dette indlæg åbner vi en række artikler om, hvordan man analyserer sådanne potentielt farlige filer, og vi venter på de mest nysgerrige den 5. december på et gratis interaktivt webinar om emnet "Malware-analyse: Analyse af reelle tilfælde". Alle detaljer er under snittet.

Fordelingsmekanisme

Vi ved, at malwaren nåede offerets maskine via phishing-e-mails. Modtageren af ​​brevet var sandsynligvis BCCed.

Valgdeltagelse mislykkedes: Lad os udsætte AgentTesla for rent vand. Del 1
Analyse af overskrifterne viser, at afsenderen af ​​brevet blev forfalsket. Faktisk efterlod brevet med vps56[.]oneworldhosting[.]com.

Valgdeltagelse mislykkedes: Lad os udsætte AgentTesla for rent vand. Del 1
E-mail-vedhæftningen indeholder et WinRar-arkiv qoute_jpeg56a.r15 med en ondsindet eksekverbar fil QOUTE_JPEG56A.exe inde.

Valgdeltagelse mislykkedes: Lad os udsætte AgentTesla for rent vand. Del 1

HPE økosystem

Lad os nu se, hvordan økosystemet for den undersøgte malware ser ud. Diagrammet nedenfor viser dets struktur og komponenternes interaktionsretninger.

Valgdeltagelse mislykkedes: Lad os udsætte AgentTesla for rent vand. Del 1
Lad os nu se på hver af malware-komponenterne mere detaljeret.

Læsser

Original fil QOUTE_JPEG56A.exe er en kompileret AutoIt v3 manuskript.

Valgdeltagelse mislykkedes: Lad os udsætte AgentTesla for rent vand. Del 1
For at sløre det originale script, en obfuscator med lignende PELock AutoIT-Obfuscator egenskaber.
Deobfuscation udføres i tre trin:

  1. Fjernelse af obfuskation For-Hvis

    Det første trin er at gendanne scriptets kontrolflow. Control Flow Flattening er en af ​​de mest almindelige måder at beskytte applikationens binære kode mod analyse. Forvirrende transformationer øger dramatisk kompleksiteten i at udtrække og genkende algoritmer og datastrukturer.

    Valgdeltagelse mislykkedes: Lad os udsætte AgentTesla for rent vand. Del 1

  2. Rækkegendannelse

    To funktioner bruges til at kryptere strenge:

    • gdorizabegkvfca - Udfører Base64-lignende afkodning

      Valgdeltagelse mislykkedes: Lad os udsætte AgentTesla for rent vand. Del 1

    • xgacyukcyzxz - simpel byte-byte XOR af den første streng med længden af ​​den anden

      Valgdeltagelse mislykkedes: Lad os udsætte AgentTesla for rent vand. Del 1

    Valgdeltagelse mislykkedes: Lad os udsætte AgentTesla for rent vand. Del 1

  3. Fjernelse af obfuskation BinaryToString и Udfør

    Valgdeltagelse mislykkedes: Lad os udsætte AgentTesla for rent vand. Del 1

Hovedbelastningen gemmes i en opdelt form i biblioteket Fonts ressourcesektioner af filen.

Valgdeltagelse mislykkedes: Lad os udsætte AgentTesla for rent vand. Del 1
Limningsrækkefølgen er som følger: TIEQHCXWFG, IME, SPDGUHIMPV, KQJMWQQAQTKTFXTUOSW, AOCHKRWWSKWO, JSHMSJPS, NHHWXJBMTTSPXVN, BFUTIFWWXVE, HWJHO, AVZOUMVFRDWFLWU.

WinAPI-funktionen bruges til at dekryptere de udtrukne data CryptDecrypt, og sessionsnøglen, der er genereret baseret på værdien, bruges som nøglen fZgFiZlJDxvuWatFRgRXZqmNCIyQgMYc.

Den dekrypterede eksekverbare fil sendes til funktionsinputtet RunPE, som udfører ProcessInject в RegAsm.exe ved hjælp af indbygget ShellCode (også kendt som RunPE ShellCode). Forfatterskabet tilhører brugeren af ​​det spanske forum uopdagelige[.]net under tilnavnet Wardow.

Valgdeltagelse mislykkedes: Lad os udsætte AgentTesla for rent vand. Del 1
Valgdeltagelse mislykkedes: Lad os udsætte AgentTesla for rent vand. Del 1
Det er også værd at bemærke, at i en af ​​trådene i dette forum, en obfuscator for AutoIt med lignende egenskaber identificeret under prøveanalyse.

Sig selv ShellCode ganske simpelt og vækker opmærksomhed kun lånt fra hackergruppen AnunakCarbanak. API opkald hashing funktion.

Valgdeltagelse mislykkedes: Lad os udsætte AgentTesla for rent vand. Del 1
Valgdeltagelse mislykkedes: Lad os udsætte AgentTesla for rent vand. Del 1

Vi er også opmærksomme på use cases Frenchy Shell-kode forskellige versioner.
Ud over den beskrevne funktionalitet identificerede vi også inaktive funktioner:

  • Blokering af manuel procesafslutning i task manager

    Valgdeltagelse mislykkedes: Lad os udsætte AgentTesla for rent vand. Del 1

  • Genstart af en underordnet proces, når den afsluttes

    Valgdeltagelse mislykkedes: Lad os udsætte AgentTesla for rent vand. Del 1

  • Omgå UAC

    Valgdeltagelse mislykkedes: Lad os udsætte AgentTesla for rent vand. Del 1

  • Gemmer nyttelasten til en fil

    Valgdeltagelse mislykkedes: Lad os udsætte AgentTesla for rent vand. Del 1

  • Demonstration af modale vinduer

    Valgdeltagelse mislykkedes: Lad os udsætte AgentTesla for rent vand. Del 1

  • Venter på, at musemarkørens position ændres

    Valgdeltagelse mislykkedes: Lad os udsætte AgentTesla for rent vand. Del 1

  • AntiVM og AntiSandbox

    Valgdeltagelse mislykkedes: Lad os udsætte AgentTesla for rent vand. Del 1

  • Selv destruktion

    Valgdeltagelse mislykkedes: Lad os udsætte AgentTesla for rent vand. Del 1

  • Pumper nyttelast fra netværket

    Valgdeltagelse mislykkedes: Lad os udsætte AgentTesla for rent vand. Del 1

Vi ved, at en sådan funktionalitet er typisk for beskytteren CypherIT, som tilsyneladende er den pågældende bootloader.

Valgdeltagelse mislykkedes: Lad os udsætte AgentTesla for rent vand. Del 1

Hovedmodul af software

Dernæst vil vi kort beskrive malwarens hovedmodul og overveje det mere detaljeret i den anden artikel. I dette tilfælde er det en ansøgning på . NET.

Valgdeltagelse mislykkedes: Lad os udsætte AgentTesla for rent vand. Del 1
Under analysen opdagede vi, at der blev brugt en obfuscator ConfuserEX.

Valgdeltagelse mislykkedes: Lad os udsætte AgentTesla for rent vand. Del 1

IELibrary.dll

Biblioteket er gemt som en hovedmodulressource og er et velkendt plugin til AgentTesla, som giver funktionalitet til at udtrække forskellige oplysninger fra Internet Explorer og Edge browsere.

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.

Indgangspunktet er funktionen Get SavedPasswords klasse InternetExplorer.

Valgdeltagelse mislykkedes: Lad os udsætte AgentTesla for rent vand. Del 1
Generelt er kodeudførelse lineær og indeholder ingen beskyttelse mod analyse. Kun den urealiserede funktion fortjener opmærksomhed GetSavedCookies. Tilsyneladende skulle funktionaliteten af ​​plugin'et udvides, men det blev aldrig gjort.

Valgdeltagelse mislykkedes: Lad os udsætte AgentTesla for rent vand. Del 1

Tilslutning af bootloaderen til systemet

Lad os studere, hvordan bootloaderen er knyttet til systemet. Prøven, der undersøges, forankrer ikke, men i lignende tilfælde forekommer den i henhold til følgende skema:

  1. I mappe C:UsersPublic script oprettes Visual Basic

    Eksempel på script:

    Valgdeltagelse mislykkedes: Lad os udsætte AgentTesla for rent vand. Del 1

  2. Indholdet af loader-filen er polstret med et nul-tegn og gemt i mappen %Temp%
  3. En autorun-nøgle oprettes i registreringsdatabasen for scriptfilen HKCUSoftwareMicrosoftWindowsCurrentVersionRun

Så baseret på resultaterne af den første del af analysen var vi i stand til at etablere navnene på familierne af alle komponenter af den undersøgte malware, analysere infektionsmønsteret og også opnå objekter til at skrive signaturer. Vi fortsætter vores analyse af dette objekt i den næste artikel, hvor vi vil se nærmere på hovedmodulet AgentTesla. Gå ikke glip af!

Forresten, den 5. december inviterer vi alle læsere til et gratis interaktivt webinar om emnet "Analyse af malware: analyse af virkelige tilfælde", hvor forfatteren af ​​denne artikel, en CERT-GIB-specialist, vil vise online den første fase af malware analyse - semi-automatisk udpakning af prøver ved hjælp af eksemplet med tre rigtige mini-cases fra praksis, og du kan deltage i analysen. Webinaret er velegnet til specialister, der allerede har erfaring med at analysere ondsindede filer. Registrering sker udelukkende fra virksomhedens e-mail: tilmeld dig nu. Venter på dig!

Yara

rule AgentTesla_clean{
meta:
    author = "Group-IB"
    file = "78566E3FC49C291CB117C3D955FA34B9A9F3EEFEFAE3DE3D0212432EB18D2EAD"
    scoring = 5
    family = "AgentTesla"
strings:
    $string_format_AT = {74 00 79 00 70 00 65 00 3D 00 7B 00 30 00 7D 00 0D 00 0A 00 68 00 77 00 69 00 64 00 3D 00 7B 00 31 00 7D 00 0D 00 0A 00 74 00 69 00 6D 00 65 00 3D 00 7B 00 32 00 7D 00 0D 00 0A 00 70 00 63 00 6E 00 61 00 6D 00 65 00 3D 00 7B 00 33 00 7D 00 0D 00 0A 00 6C 00 6F 00 67 00 64 00 61 00 74 00 61 00 3D 00 7B 00 34 00 7D 00 0D 00 0A 00 73 00 63 00 72 00 65 00 65 00 6E 00 3D 00 7B 00 35 00 7D 00 0D 00 0A 00 69 00 70 00 61 00 64 00 64 00 3D 00 7B 00 36 00 7D 00 0D 00 0A 00 77 00 65 00 62 00 63 00 61 00 6D 00 5F 00 6C 00 69 00 6E 00 6B 00 3D 00 7B 00 37 00 7D 00 0D 00 0A 00 73 00 63 00 72 00 65 00 65 00 6E 00 5F 00 6C 00 69 00 6E 00 6B 00 3D 00 7B 00 38 00 7D 00 0D 00 0A 00 5B 00 70 00 61 00 73 00 73 00 77 00 6F 00 72 00 64 00 73 00 5D 00}
    $web_panel_format_string = {63 00 6C 00 69 00 65 00 6E 00 74 00 5B 00 5D 00 3D 00 7B 00 30 00 7D 00 0D 00 0A 00 6C 00 69 00 6E 00 6B 00 5B 00 5D 00 3D 00 7B 00 31 00 7D 00 0D 00 0A 00 75 00 73 00 65 00 72 00 6E 00 61 00 6D 00 65 00 5B 00 5D 00 3D 00 7B 00 32 00 7D 00 0D 00 0A 00 70 00 61 00 73 00 73 00 77 00 6F 00 72 00 64 00 5B 00 5D 00 3D 00 7B 00 33 00 7D 00 00 15 55 00 52 00 4C 00 3A 00 20 00 20 00 20 00 20 00 20 00 20 00 00 15 55 00 73 00 65 00 72 00 6E 00 61 00 6D 00 65 00 3A 00 20 00 00 15 50 00 61 00 73 00 73 00 77 00 6F 00 72 00 64 00 3A 00}
condition:
     all of them
}

rule  AgentTesla_obfuscated {
meta:
    author = "Group-IB"
    file = "41DC0D5459F25E2FDCF8797948A7B315D3CB075398D808D1772CACCC726AF6E9"
    scoring = 5
    family = "AgentTesla"
strings:
    $first_names = {61 66 6B 00 61 66 6D 00 61 66 6F 00 61 66 76 00 61 66 79 00 61 66 78 00 61 66 77 00 61 67 6A 00 61 67 6B 00 61 67 6C 00 61 67 70 00 61 67 72 00 61 67 73 00 61 67 75 00}
    $second_names = "IELibrary.resources"
condition:
     all of them
}

rule AgentTesla_module_for_IE{
meta:
    author = "Group-IB"
    file = "D55800A825792F55999ABDAD199DFA54F3184417215A298910F2C12CD9CC31EE"
    scoring = 5
    family = "AgentTesla_module_for_IE"
strings:
    $s0 = "ByteArrayToStructure" 
    $s1 = "CryptAcquireContext" 
    $s2 = "CryptCreateHash" 
    $s3 = "CryptDestroyHash" 
    $s4 = "CryptGetHashParam" 
    $s5 = "CryptHashData"
    $s6 = "CryptReleaseContext" 
    $s7 = "DecryptIePassword" 
    $s8 = "DoesURLMatchWithHash" 
    $s9 = "GetSavedCookies" 
    $s10 = "GetSavedPasswords" 
    $s11 = "GetURLHashString"  
condition:
     all of them
}

rule RunPE_shellcode {
meta:
    author = "Group-IB"
    file = "37A1961361073BEA6C6EACE6A8601F646C5B6ECD9D625E049AD02075BA996918"
    scoring = 5
    family = "RunPE_shellcode"
strings:
    $malcode = {
      C7 [2-5] EE 38 83 0C // mov     dword ptr [ebp-0A0h], 0C8338EEh
      C7 [2-5] 57 64 E1 01 // mov     dword ptr [ebp-9Ch], 1E16457h
      C7 [2-5] 18 E4 CA 08 // mov     dword ptr [ebp-98h], 8CAE418h
      C7 [2-5] E3 CA D8 03 // mov     dword ptr [ebp-94h], 3D8CAE3h
      C7 [2-5] 99 B0 48 06 // mov     dword ptr [ebp-90h], 648B099h
      C7 [2-5] 93 BA 94 03 // mov     dword ptr [ebp-8Ch], 394BA93h
      C7 [2-5] E4 C7 B9 04 // mov     dword ptr [ebp-88h], 4B9C7E4h
      C7 [2-5] E4 87 B8 04 // mov     dword ptr [ebp-84h], 4B887E4h
      C7 [2-5] A9 2D D7 01 // mov     dword ptr [ebp-80h], 1D72DA9h
      C7 [2-5] 05 D1 3D 0B // mov     dword ptr [ebp-7Ch], 0B3DD105h
      C7 [2-5] 44 27 23 0F // mov     dword ptr [ebp-78h], 0F232744h
      C7 [2-5] E8 6F 18 0D // mov     dword ptr [ebp-74h], 0D186FE8h
      }
condition:
    $malcode 
}

rule AgentTesla_AutoIT_module{
meta:
    author = "Group-IB"
    file = "49F94293F2EBD8CEFF180EDDD58FA50B30DC0F08C05B5E3BD36FD52668D196AF"
    scoring = 5
    family = "AgentTesla"
strings:                                    
    $packedexeau = {55 ED F5 9F 92 03 04 44 7E 16 6D 1F 8C D7 38 E6 29 E4 C8 CF DA 2C C4 E1 F3 65 48 25 B8 93 9D 66 A4 AD 3C 39 50 00 B9 60 66 19 8D FC 20 0A A0 56 52 8B 9F 15 D7 62 30 0D 5C C3 24 FE F8 FC 39 08 DF 87 2A B2 1C E9 F7 06 A8 53 B2 69 C3 3C D4 5E D4 74 91 6E 9D 9A A0 96 FD DB 1F 5E 09 D7 0F 25 FB 46 4E 74 15 BB AB DB 17 EE E7 64 33 D6 79 02 E4 85 79 14 6B 59 F9 43 3C 81 68 A8 B5 32 BC E6}
condition:
     all of them
}

Hashes

Navn qoute_jpeg56a.r15
MD5 53BE8F9B978062D4411F71010F49209E
SHA1 A8C2765B3D655BA23886D663D22BDD8EF6E8E894
SHA256 2641DAFB452562A0A92631C2849B8B9CE880F0F8F

890E643316E9276156EDC8A

Type Arkiver WinRAR
Størrelse 823014
Navn QOUTE_JPEG56A.exe
MD5 329F6769CF21B660D5C3F5048CE30F17
SHA1 8010CC2AF398F9F951555F7D481CE13DF60BBECF
SHA256 49F94293F2EBD8CEFF180EDDD58FA50B30DC0F08

C05B5E3BD36FD52668D196AF

Type PE (Compiled AutoIt Script)
Størrelse 1327616
Originalnavn Ukendt
Datostempel 15.07.2019
Links Microsoft Linker(12.0)[EXE32]
MD5 C2743AEDDADACC012EF4A632598C00C0
SHA1 79B445DE923C92BF378B19D12A309C0E9C5851BF
SHA256 37A1961361073BEA6C6EACE6A8601F646C5B6ECD

9D625E049AD02075BA996918

Type ShellCode
Størrelse 1474

Kilde: www.habr.com

Tilføj en kommentar