Rinkimuose nepavyko: paleiskite AgentTesla švariu vandeniu. 1 dalis
Neseniai Europos elektros instaliacijos įrangos gamintojas susisiekė su Group IB – jos darbuotojas paštu gavo įtartiną laišką su kenkėjišku priedu. Ilja Pomerancevas, CERT Group-IB kenkėjiškų programų analizės specialistas, atliko išsamią šio failo analizę, jame aptiko AgentTesla šnipinėjimo programą ir pasakė, ko tikėtis iš tokios kenkėjiškos programos ir kuo ji pavojinga.
Šiuo įrašu pradedame straipsnių ciklą, kaip analizuoti tokius potencialiai pavojingus failus, o smalsiausiųjų laukiame gruodžio 5 d. į nemokamą interaktyvų internetinį seminarą šia tema „Kenkėjiškų programų analizė: realių atvejų analizė“. Visos detalės yra po pjūviu.
Paskirstymo mechanizmas
Žinome, kad kenkėjiška programa aukos kompiuterį pasiekė sukčiavimo el. laiškais. Laiško gavėjas tikriausiai buvo BCC.
Antraščių analizė rodo, kad laiško siuntėjas buvo apgautas. Tiesą sakant, laišką paliko vps56[.]oneworldhosting[.]com.
El. laiško priede yra WinRar archyvas qoute_jpeg56a.r15 su kenkėjišku vykdomuoju failu QOUTE_JPEG56A.exe viduje.
Kenkėjiškų programų ekosistema
Dabar pažiūrėkime, kaip atrodo tiriamos kenkėjiškos programos ekosistema. Žemiau esančioje diagramoje parodyta jo struktūra ir komponentų sąveikos kryptys.
Dabar pažvelkime į kiekvieną kenkėjiškų programų komponentą išsamiau.
Krautuvas
Originalus failas QOUTE_JPEG56A.exe yra sudarytas AutoIt v3 scenarijus.
Norėdami užmaskuoti originalų scenarijų, užtemdykite panašią „PELock AutoIT-Obfuscator“. charakteristikos.
Deobfuskacija atliekama trimis etapais:
Pašalina užtemimą Jei
Pirmasis žingsnis yra atkurti scenarijaus valdymo srautą. Valdymo srauto išlyginimas yra vienas iš labiausiai paplitusių būdų apsaugoti programos dvejetainį kodą nuo analizės. Painios transformacijos smarkiai padidina algoritmų ir duomenų struktūrų išgavimo ir atpažinimo sudėtingumą.
Eilučių atkūrimas
Eilėms užšifruoti naudojamos dvi funkcijos:
gdorizabegkvfca – atlieka į Base64 panašų dekodavimą
xgacyukcyzxz – paprastas pirmosios eilutės baitas XOR su antrosios eilutės ilgiu
Pašalina užtemimą BinaryToString и Vykdyti
Pagrindinė apkrova kataloge saugoma padalinta forma Šriftai failo išteklių skyriuose.
Klijavimo tvarka yra tokia: TIEQHCXWFG, EMI, SPDGUHIMPV, KQJMWQQAQTKTFXTUOSW, AOCHKRWWSKWO, JSHMSJPS, NHHWXJBMTTSPXVN, BFUTIFWWXVE, HWJHO, AVZOUMVFRDWFLWU.
Funkcija „WinAPI“ naudojama iššifruotiems duomenims iššifruoti CryptDecrypt, o seanso raktas, sugeneruotas pagal reikšmę, naudojamas kaip raktas fZgFiZlJDxvuWatFRgRXZqmNCIyQgMYc.
Iššifruotas vykdomasis failas siunčiamas į funkcijos įvestį RunPE, kuri atlieka ProcessInject в RegAsm.exe naudojant įmontuotą ShellCode (taip pat žinomas kaip RunPE ShellCode). Autorystė priklauso ispanų forumo vartotojui neaptinkami[.]tinklas Vardo slapyvardžiu.
Taip pat verta paminėti, kad vienoje iš šio forumo temų yra užmaskavimo priemonė AutoIt su panašiomis savybėmis, nustatytomis mėginio analizės metu.
Pats ShellCode gana paprastas ir patraukia dėmesį tik pasiskolintas iš įsilaužėlių grupės AnunakCarbanak. API skambučių maišos funkcija.
Taip pat žinome naudojimo atvejus Frenchy Shellcode skirtingos versijos.
Be aprašytų funkcijų, mes taip pat nustatėme neaktyvias funkcijas:
Neautomatinio proceso užbaigimo blokavimas užduočių tvarkyklėje
Antrinio proceso paleidimas iš naujo, kai jis baigiasi
Apeiti UAC
Naudingojo krovinio įrašymas į failą
Modalinių langų demonstravimas
Laukiama, kol pasikeis pelės žymeklio padėtis
AntiVM ir AntiSandbox
Savęs naikinimas
Naudingosios apkrovos siurbimas iš tinklo
Žinome, kad tokia apsauga yra būdinga CypherIT, kuri, matyt, yra aptariama įkrovos programa.
Pagrindinis programinės įrangos modulis
Toliau trumpai apibūdinsime pagrindinį kenkėjiškos programos modulį, o išsamiau apsvarstysime antrajame straipsnyje. Šiuo atveju tai yra programa . NET.
Analizės metu nustatėme, kad buvo naudojamas obfuskatorius ConfuserEX.
IELibrary.dll
Biblioteka saugoma kaip pagrindinis modulio šaltinis ir yra gerai žinomas priedas Agentas Tesla, kuri suteikia įvairios informacijos ištraukimo iš Internet Explorer ir Edge naršyklių funkcionalumą.
Agentas Tesla yra modulinė šnipinėjimo programinė įranga, platinama naudojant kenkėjiškų programų kaip paslaugos modelį, prisidengiant teisėtu klavišų kaupiklio produktu. Agentas Tesla gali išgauti ir perduoti vartotojo kredencialus iš naršyklių, el. pašto programų ir FTP klientų į serverį užpuolikams, įrašyti iškarpinės duomenis ir užfiksuoti įrenginio ekraną. Analizės metu oficiali kūrėjų svetainė nebuvo pasiekiama.
Įėjimo taškas yra funkcija GetSavedPasswords klasės InternetExplorer.
Apskritai kodo vykdymas yra linijinis ir neapsaugo nuo analizės. Tik nerealizuota funkcija nusipelno dėmesio GetSavedCookies. Matyt, įskiepio funkcionalumas turėjo būti išplėstas, tačiau tai nebuvo padaryta.
Įkrovos tvarkyklės prijungimas prie sistemos
Panagrinėkime, kaip įkrovos įkroviklis yra prijungtas prie sistemos. Tiriamas pavyzdys nepritvirtina, tačiau panašiais įvykiais jis įvyksta pagal šią schemą:
Aplanke C:UsersPublic sukurtas scenarijus "Visual Basic"
Taigi, remiantis pirmosios analizės dalies rezultatais, mums pavyko nustatyti visų tiriamų kenkėjiškų programų komponentų šeimų pavadinimus, išanalizuoti užkrėtimo modelį, taip pat gauti parašų rašymo objektus. Šio objekto analizę tęsime kitame straipsnyje, kuriame plačiau apžvelgsime pagrindinį modulį Agentas Tesla. Nepraleisk!
Beje, gruodžio 5 dieną visus skaitytojus kviečiame į nemokamą interaktyvų internetinį seminarą tema „Kenkėjiškų programų analizė: realių atvejų analizė“, kuriame šio straipsnio autorė, CERT-GIB specialistė, internete parodys pirmąjį etapą kenkėjiškų programų analizė - pusiau automatinis mėginių išpakavimas, naudojant trijų realių mini atvejų pavyzdį iš praktikos, ir jūs galite dalyvauti analizėje. Webinaras tinka specialistams, jau turintiems kenkėjiškų failų analizės patirties. Registracija vykdoma tik iš įmonės el. registruotis. Laukiu tavęs!