Partopreno malsukcesis: ni elmontru AgentTesla al pura akvo. Parto 1

Partopreno malsukcesis: ni elmontru AgentTesla al pura akvo. Parto 1
Lastatempe eŭropa fabrikisto de elektraj instalaĵoj kontaktis Group-IB - ĝia dungito ricevis suspektindan leteron kun malica aldonaĵo en la poŝto. Ilja Pomerantsev, specialisto pri analizo pri malware ĉe CERT Group-IB, faris detalan analizon de ĉi tiu dosiero, malkovris la spionprogramon AgentTesla tie kaj diris kion atendi de tia malware kaj kiel ĝi estas danĝera.

Kun ĉi tiu afiŝo ni malfermas serion da artikoloj pri kiel analizi tiajn eble danĝerajn dosierojn, kaj ni atendas la plej scivolemajn la 5-an de decembro por senpaga interaga retseminario pri la temo. "Malware-Analizo: Analizo de Realaj Kazoj". Ĉiuj detaloj estas sub la tranĉo.

Distribua mekanismo

Ni scias, ke la malware atingis la maŝinon de la viktimo per retpoŝtoj pri phishing. La ricevanto de la letero estis verŝajne BCCed.

Partopreno malsukcesis: ni elmontru AgentTesla al pura akvo. Parto 1
Analizo de la kaplinioj montras, ke la sendinto de la letero estis trompita. Fakte, la letero foriris kun vps56[.]oneworldhosting[.]com.

Partopreno malsukcesis: ni elmontru AgentTesla al pura akvo. Parto 1
La retpoŝta aldonaĵo enhavas WinRar-arkivon qoute_jpeg56a.r15 kun malica rulebla dosiero QUUTE_JPEG56A.exe interne.

Partopreno malsukcesis: ni elmontru AgentTesla al pura akvo. Parto 1

Malware-ekosistemo

Nun ni vidu kiel aspektas la ekosistemo de la studata malware. La diagramo malsupre montras ĝian strukturon kaj la direktojn de interagado de la komponentoj.

Partopreno malsukcesis: ni elmontru AgentTesla al pura akvo. Parto 1
Nun ni rigardu ĉiun el la malware-komponentoj pli detale.

Ŝargilo

Originala dosiero QUUTE_JPEG56A.exe estas kompilita AutoIt v3 skripto.

Partopreno malsukcesis: ni elmontru AgentTesla al pura akvo. Parto 1
Por malklarigi la originalan skribon, malklarigilon kun simila PELock AutoIT-Obfuscator karakterizaĵoj.
Senmalklarigado okazas en tri etapoj:

  1. Forigante malklariĝon Por-Se

    La unua paŝo estas restarigi la kontrolfluon de la skripto. Kontrola Flua Platigo estas unu el la plej oftaj manieroj por protekti aplikaĵon binaran kodon de analizo. Konfuzaj transformoj draste pliigas la kompleksecon ĉerpi kaj rekoni algoritmojn kaj datumstrukturojn.

    Partopreno malsukcesis: ni elmontru AgentTesla al pura akvo. Parto 1

  2. Reakiro de vico

    Du funkcioj estas uzataj por ĉifri ŝnurojn:

    • gdorizabegkvfca - Elfaras Base64-similan malkodigon

      Partopreno malsukcesis: ni elmontru AgentTesla al pura akvo. Parto 1

    • xgacyukcyzxz - simpla bajta-bajta XOR de la unua ĉeno kun la longo de la dua

      Partopreno malsukcesis: ni elmontru AgentTesla al pura akvo. Parto 1

    Partopreno malsukcesis: ni elmontru AgentTesla al pura akvo. Parto 1

  3. Forigante malklariĝon BinaryToString и Ekzekuti

    Partopreno malsukcesis: ni elmontru AgentTesla al pura akvo. Parto 1

La ĉefa ŝarĝo estas konservita en dividita formo en la dosierujo Tiparoj rimedsekcioj de la dosiero.

Partopreno malsukcesis: ni elmontru AgentTesla al pura akvo. Parto 1
La ordo de gluado estas jena: TIEQHCXWFG, EMI, SPDGUHIMPV, KQJMWQQAQTKTFXTUOSW, AOCHKRWWSKWO, JSHMSJPS, NHHWXJBMTTSPXVN, BFUTIFWWXVE, HWJHO, AVZOUMVFRDWFLWU.

La WinAPI-funkcio estas uzata por deĉifri la ĉerpitajn datumojn CryptDecrypt, kaj la sesioŝlosilo generita surbaze de la valoro estas uzata kiel la ŝlosilo fZgFiZlJDxvuWatFRgRXZqmNCIyQgMYc.

La deĉifrita rulebla dosiero estas sendita al la funkcio-enigo KuruPE, kiu efektivigas ProcessInject в RegAsm.exe uzante enkonstruitan ShellCode (ankaŭ konata kiel RunPE ShellCode). Aŭtoreco apartenas al la uzanto de la hispana forumo nedetekteblaj[.]net sub la kromnomo Wardow.

Partopreno malsukcesis: ni elmontru AgentTesla al pura akvo. Parto 1
Partopreno malsukcesis: ni elmontru AgentTesla al pura akvo. Parto 1
Indas ankaŭ rimarki, ke en unu el la fadenoj de ĉi tiu forumo, malklarigaĵo por Ĉe la tegmento kun similaj trajtoj identigitaj dum prova analizo.

Li mem ShellCode sufiĉe simpla kaj altiras atenton nur pruntita de la hacker grupo AnunakCarbanak. API-voka haŝa funkcio.

Partopreno malsukcesis: ni elmontru AgentTesla al pura akvo. Parto 1
Partopreno malsukcesis: ni elmontru AgentTesla al pura akvo. Parto 1

Ni ankaŭ konscias pri uzaj kazoj Frenchy Shellcode malsamaj versioj.
Krom la priskribita funkcieco, ni ankaŭ identigis neaktivajn funkciojn:

  • Blokante manan procezfinon en taskmanaĝero

    Partopreno malsukcesis: ni elmontru AgentTesla al pura akvo. Parto 1

  • Rekomencante infanan procezon kiam ĝi finiĝas

    Partopreno malsukcesis: ni elmontru AgentTesla al pura akvo. Parto 1

  • Preterpasu UAC

    Partopreno malsukcesis: ni elmontru AgentTesla al pura akvo. Parto 1

  • Konservado de la utila ŝarĝo al dosiero

    Partopreno malsukcesis: ni elmontru AgentTesla al pura akvo. Parto 1

  • Demonstro de modalaj fenestroj

    Partopreno malsukcesis: ni elmontru AgentTesla al pura akvo. Parto 1

  • Atendante la ŝanĝon de la pozicio de la muskursoro

    Partopreno malsukcesis: ni elmontru AgentTesla al pura akvo. Parto 1

  • AntiVM kaj AntiSandbox

    Partopreno malsukcesis: ni elmontru AgentTesla al pura akvo. Parto 1

  • memdetruo

    Partopreno malsukcesis: ni elmontru AgentTesla al pura akvo. Parto 1

  • Pumpado de utila ŝarĝo de la reto

    Partopreno malsukcesis: ni elmontru AgentTesla al pura akvo. Parto 1

Ni scias, ke tia funkcieco estas tipa por la protektanto CypherIT, kiu, ŝajne, estas la koncerna ekŝargilo.

Partopreno malsukcesis: ni elmontru AgentTesla al pura akvo. Parto 1

Ĉefa modulo de programaro

Poste, ni mallonge priskribos la ĉefan modulon de la malware, kaj konsideros ĝin pli detale en la dua artikolo. En ĉi tiu kazo, ĝi estas aplikaĵo NET.

Partopreno malsukcesis: ni elmontru AgentTesla al pura akvo. Parto 1
Dum la analizo, ni malkovris, ke malklarigilo estis uzata ConfuserEX.

Partopreno malsukcesis: ni elmontru AgentTesla al pura akvo. Parto 1

IELibrary.dll

La biblioteko estas konservita kiel ĉefa modula rimedo kaj estas konata kromaĵo por Agento Tesla, kiu disponigas funkciecon por ĉerpi diversajn informojn de Internet Explorer kaj Edge-retumiloj.

Agento Tesla estas modula spiona programaro distribuita per malware-kiel-serva modelo sub la alivestiĝo de legitima keylogger produkto. Agento Tesla kapablas ĉerpi kaj transdoni uzantajn akreditaĵojn de retumiloj, retpoŝtaj klientoj kaj FTP-klientoj al la servilo al atakantoj, registri datumojn de tondujo kaj kapti la ekranon de la aparato. En la momento de la analizo, la oficiala retejo de la programistoj ne estis disponebla.

La enirpunkto estas la funkcio GetSavedPasvortoj klaso InternetExplorer.

Partopreno malsukcesis: ni elmontru AgentTesla al pura akvo. Parto 1
Ĝenerale, koda ekzekuto estas linia kaj ne enhavas ajnan protekton kontraŭ analizo. Nur la nerealigita funkcio meritas atenton GetSavedCookies. Ŝajne, la funkcieco de la kromaĵo laŭsupoze estis vastigita, sed tio neniam estis farita.

Partopreno malsukcesis: ni elmontru AgentTesla al pura akvo. Parto 1

Alkroĉante la ekŝargilon al la sistemo

Ni studu kiel la ekŝargilo estas ligita al la sistemo. La studata specimeno ne ankras, sed en similaj eventoj ĝi okazas laŭ la sekva skemo:

  1. En la dosierujo C: Uzantoj Publikaj skripto estas kreita vidaj Bazaj

    Ekzemplo de manuskripto:

    Partopreno malsukcesis: ni elmontru AgentTesla al pura akvo. Parto 1

  2. La enhavo de la ŝargilo dosiero estas plenigita kun nula signo kaj konservita en la dosierujo %Temp%
  3. Aŭtomata ŝlosilo estas kreita en la registro por la skriptodosiero HKCUSoftwareMicrosoftWindowsCurrentVersionRun

Do, surbaze de la rezultoj de la unua parto de la analizo, ni povis establi la nomojn de la familioj de ĉiuj komponantoj de la studata malware, analizi la infektan ŝablonon kaj ankaŭ akiri objektojn por skribi subskribojn. Ni daŭrigos nian analizon de ĉi tiu objekto en la sekva artikolo, kie ni rigardos la ĉefan modulon pli detale Agento Tesla. Ne maltrafu!

Cetere, la 5-an de decembro ni invitas ĉiujn legantojn al senpaga interaga retseminario pri la temo “Analizo de malware: analizo de realaj kazoj”, kie la aŭtoro de ĉi tiu artikolo, specialisto de CERT-GIB, montros interrete la unuan etapon de malware analizo - duonaŭtomata malpakado de specimenoj uzante la ekzemplon de tri realaj mini-kazoj de praktiko, kaj vi povas partopreni en la analizo. La retseminario taŭgas por specialistoj, kiuj jam havas sperton pri analizado de malicaj dosieroj. Registrado estas strikte de kompania retpoŝto: registri. Atendante vin!

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
}

Haŝiŝoj

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

890E643316E9276156EDC8A

tipo Arkivo WinRAR
grandeco 823014
Nomo QUUTE_JPEG56A.exe
MD5 329F6769CF21B660D5C3F5048CE30F17
SHA1 8010CC2AF398F9F951555F7D481CE13DF60BBECF
SHA256 49F94293F2EBD8CEFF180EDDD58FA50B30DC0F08

C05B5E3BD36FD52668D196AF

tipo PE (Kompilita AutoIt-Skripto)
grandeco 1327616
OriginalName Nekonata
Datmarko 15.07.2019
Ligilo Microsoft Linker(12.0)[EXE32]
MD5 C2743AEDDADACC012EF4A632598C00C0
SHA1 79B445DE923C92BF378B19D12A309C0E9C5851BF
SHA256 37A1961361073BEA6C6EACE6A8601F646C5B6ECD

9D625E049AD02075BA996918

tipo ShellCode
grandeco 1474

fonto: www.habr.com

Aldoni komenton