Valgdeltakelsen mislyktes: la oss utsette AgentTesla for rent vann. Del 1

Valgdeltakelsen mislyktes: la oss utsette AgentTesla for rent vann. Del 1
Nylig kontaktet en europeisk produsent av elektrisk installasjonsutstyr Group-IB - den ansatte mottok et mistenkelig brev med et ondsinnet vedlegg i posten. Ilya Pomerantsev, en spesialist på malwareanalyse ved CERT Group-IB, utførte en detaljert analyse av denne filen, oppdaget AgentTesla-spywaren der og fortalte hva du kan forvente av slik skadelig programvare og hvordan den er farlig.

Med dette innlegget åpner vi en serie artikler om hvordan man analyserer slike potensielt farlige filer, og vi venter på de mest nysgjerrige den 5. desember på et gratis interaktivt webinar om emnet "Malware Analyse: Analyse av reelle tilfeller". Alle detaljene er under kuttet.

Fordelingsmekanisme

Vi vet at skadelig programvare nådde offerets maskin via phishing-e-post. Mottakeren av brevet var sannsynligvis BCCed.

Valgdeltakelsen mislyktes: la oss utsette AgentTesla for rent vann. Del 1
Analyse av overskriftene viser at avsenderen av brevet ble forfalsket. Faktisk ble brevet igjen med vps56[.]oneworldhosting[.]com.

Valgdeltakelsen mislyktes: la oss utsette AgentTesla for rent vann. Del 1
E-postvedlegget inneholder et WinRar-arkiv qoute_jpeg56a.r15 med en ondsinnet kjørbar fil QOUTE_JPEG56A.exe innsiden.

Valgdeltakelsen mislyktes: la oss utsette AgentTesla for rent vann. Del 1

Økosystem for skadelig programvare

La oss nå se hvordan økosystemet til skadelig programvare som studeres ser ut. Diagrammet nedenfor viser strukturen og komponentenes interaksjonsretninger.

Valgdeltakelsen mislyktes: la oss utsette AgentTesla for rent vann. Del 1
La oss nå se på hver av skadevarekomponentene mer detaljert.

Laster

Original fil QOUTE_JPEG56A.exe er en kompilert AutoIt v3 manus.

Valgdeltakelsen mislyktes: la oss utsette AgentTesla for rent vann. Del 1
For å tilsløre det originale manuset, en obfuscator med lignende PELock AutoIT-Obfuscator kjennetegn.
Deobfuskering utføres i tre trinn:

  1. Fjerner obfuskasjon For hvis

    Det første trinnet er å gjenopprette skriptets kontrollflyt. Control Flow Flattening er en av de vanligste måtene å beskytte applikasjonens binære kode mot analyse. Forvirrende transformasjoner øker dramatisk kompleksiteten ved å trekke ut og gjenkjenne algoritmer og datastrukturer.

    Valgdeltakelsen mislyktes: la oss utsette AgentTesla for rent vann. Del 1

  2. Radgjenoppretting

    To funksjoner brukes til å kryptere strenger:

    • gdorizabegkvfca - Utfører Base64-lignende dekoding

      Valgdeltakelsen mislyktes: la oss utsette AgentTesla for rent vann. Del 1

    • xgacyukcyzxz - enkel byte-byte XOR av den første strengen med lengden på den andre

      Valgdeltakelsen mislyktes: la oss utsette AgentTesla for rent vann. Del 1

    Valgdeltakelsen mislyktes: la oss utsette AgentTesla for rent vann. Del 1

  3. Fjerner obfuskasjon BinaryToString и Henrette

    Valgdeltakelsen mislyktes: la oss utsette AgentTesla for rent vann. Del 1

Hovedlasten lagres i en delt form i katalogen Skrifter ressursseksjoner av filen.

Valgdeltakelsen mislyktes: la oss utsette AgentTesla for rent vann. Del 1
Limrekkefølgen er som følger: TIEQHCXWFG, IME, SPDGUHIMPV, KQJMWQQAQTKTFXTUOSW, AOCHKRWWSKWO, JSHMSJPS, NHHWXJBMTTSPXVN, BFUTIFWWXVE, HWJHO, AVZOUMVFRDWFLWU.

WinAPI-funksjonen brukes til å dekryptere de utpakkede dataene CryptDecrypt, og øktnøkkelen generert basert på verdien brukes som nøkkel fZgFiZlJDxvuWatFRgRXZqmNCIyQgMYc.

Den dekrypterte kjørbare filen sendes til funksjonsinngangen RunPE, som gjennomfører ProcessInject в RegAsm.exe ved hjelp av innebygd ShellCode (også kjent som Kjør PE ShellCode). Forfatterskapet tilhører brukeren av det spanske forumet uoppdagbare[.]net under kallenavnet Wardow.

Valgdeltakelsen mislyktes: la oss utsette AgentTesla for rent vann. Del 1
Valgdeltakelsen mislyktes: la oss utsette AgentTesla for rent vann. Del 1
Det er også verdt å merke seg at i en av trådene i dette forumet, en obfuscator for Bilen med lignende egenskaper identifisert under prøveanalyse.

Selv ShellCode ganske enkelt og vekker oppmerksomhet kun lånt fra hackergruppen AnunakCarbanak. API call hashing funksjon.

Valgdeltakelsen mislyktes: la oss utsette AgentTesla for rent vann. Del 1
Valgdeltakelsen mislyktes: la oss utsette AgentTesla for rent vann. Del 1

Vi er også klar over brukstilfeller Frenchy Shell-kode forskjellige versjoner.
I tillegg til den beskrevne funksjonaliteten, identifiserte vi også inaktive funksjoner:

  • Blokkering av manuell prosessavslutning i oppgavebehandling

    Valgdeltakelsen mislyktes: la oss utsette AgentTesla for rent vann. Del 1

  • Starter en underordnet prosess på nytt når den avsluttes

    Valgdeltakelsen mislyktes: la oss utsette AgentTesla for rent vann. Del 1

  • Omgå UAC

    Valgdeltakelsen mislyktes: la oss utsette AgentTesla for rent vann. Del 1

  • Lagre nyttelasten til en fil

    Valgdeltakelsen mislyktes: la oss utsette AgentTesla for rent vann. Del 1

  • Demonstrasjon av modale vinduer

    Valgdeltakelsen mislyktes: la oss utsette AgentTesla for rent vann. Del 1

  • Venter på at musepekerposisjonen skal endres

    Valgdeltakelsen mislyktes: la oss utsette AgentTesla for rent vann. Del 1

  • AntiVM og AntiSandbox

    Valgdeltakelsen mislyktes: la oss utsette AgentTesla for rent vann. Del 1

  • Selvutslettelse

    Valgdeltakelsen mislyktes: la oss utsette AgentTesla for rent vann. Del 1

  • Pumper nyttelast fra nettverket

    Valgdeltakelsen mislyktes: la oss utsette AgentTesla for rent vann. Del 1

Vi vet at slik funksjonalitet er typisk for beskytteren CypherIT, som tilsynelatende er den aktuelle bootloaderen.

Valgdeltakelsen mislyktes: la oss utsette AgentTesla for rent vann. Del 1

Hovedmodul for programvare

Deretter vil vi kort beskrive hovedmodulen til skadelig programvare, og vurdere den mer detaljert i den andre artikkelen. I dette tilfellet er det en søknad på . NET.

Valgdeltakelsen mislyktes: la oss utsette AgentTesla for rent vann. Del 1
Under analysen oppdaget vi at en obfuscator ble brukt ConfuserEX.

Valgdeltakelsen mislyktes: la oss utsette AgentTesla for rent vann. Del 1

IELibrary.dll

Biblioteket er lagret som en hovedmodulressurs og er en velkjent plugin for AgentTesla, som gir funksjonalitet for å trekke ut forskjellig informasjon fra Internet Explorer og Edge-nettlesere.

Agent Tesla er en modulær spionprogramvare distribuert ved hjelp av en malware-as-a-service-modell under dekke av et legitimt keylogger-produkt. Agent Tesla er i stand til å trekke ut og overføre brukerlegitimasjon fra nettlesere, e-postklienter og FTP-klienter til serveren til angripere, registrere utklippstavledata og fange enhetens skjerm. På analysetidspunktet var den offisielle nettsiden til utviklerne utilgjengelig.

Inngangspunktet er funksjonen Get SavedPasswords klasse InternetExplorer.

Valgdeltakelsen mislyktes: la oss utsette AgentTesla for rent vann. Del 1
Generelt er kodeutførelse lineær og inneholder ingen beskyttelse mot analyse. Bare den urealiserte funksjonen fortjener oppmerksomhet Get SavedCookies. Tilsynelatende skulle funksjonaliteten til pluginet utvides, men dette ble aldri gjort.

Valgdeltakelsen mislyktes: la oss utsette AgentTesla for rent vann. Del 1

Koble til oppstartslasteren til systemet

La oss studere hvordan bootloaderen er koblet til systemet. Prøven som studeres forankrer ikke, men i lignende hendelser skjer det i henhold til følgende skjema:

  1. I mappe C:UsersPublic skriptet er opprettet Visual Basic

    Skripteksempel:

    Valgdeltakelsen mislyktes: la oss utsette AgentTesla for rent vann. Del 1

  2. Innholdet i loader-filen er polstret med et null-tegn og lagret i mappen %Temp%<Egendefinert mappenavn><Filnavn>
  3. En autorun-nøkkel opprettes i registret for skriptfilen HKCUSoftwareMicrosoftWindowsCurrentVersionRun<Skriptnavn>

Så, basert på resultatene fra den første delen av analysen, var vi i stand til å etablere navnene på familiene til alle komponentene av skadelig programvare som ble undersøkt, analysere infeksjonsmønsteret og også skaffe objekter for å skrive signaturer. Vi vil fortsette vår analyse av dette objektet i neste artikkel, hvor vi skal se på hovedmodulen mer detaljert AgentTesla. Ikke gå glipp!

Forresten, 5. desember inviterer vi alle lesere til et gratis interaktivt webinar om emnet "Analyse av skadelig programvare: analyse av virkelige tilfeller", hvor forfatteren av denne artikkelen, en CERT-GIB-spesialist, vil vise online den første fasen av malware analyse - semi-automatisk utpakking av prøver ved å bruke eksemplet med tre ekte mini-cases fra praksis, og du kan ta del i analysen. Webinaret passer for spesialister som allerede har erfaring med å analysere skadelige filer. Registrering er strengt tatt fra bedriftens e-post: registrer. Venter på deg!

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

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

C05B5E3BD36FD52668D196AF

typen PE (Kompilert AutoIt-skript)
Størrelse 1327616
Originalnavn Ukjent
Datostempel 15.07.2019
linker Microsoft Linker(12.0)[EXE32]
MD5 C2743AEDDADACC012EF4A632598C00C0
SHA1 79B445DE923C92BF378B19D12A309C0E9C5851BF
SHA256 37A1961361073BEA6C6EACE6A8601F646C5B6ECD

9D625E049AD02075BA996918

typen ShellCode
Størrelse 1474

Kilde: www.habr.com

Legg til en kommentar