Artikulu honekin software gaiztoaren azterketari eskainitako argitalpen sorta osatzen dugu. IN
Gaur Ilya Pomerantsev, CERT Group-IBko malwarearen analisian espezialistak, malwarearen analisiaren lehen faseari buruz hitz egingo du: AgentTesla laginak erdi-automatikoa desegitea CERT Group-IB espezialisten praktikaren hiru kasu txikien adibidea erabiliz.
Normalean, malwarearen analisiaren lehen etapa babesa kentzea da, ontziratzaile, kriptatzaile, babesle edo kargatzaile moduan. Kasu gehienetan, arazo hau malwarea exekutatu eta iraulketa bat eginez konpon daiteke, baina metodo hau egokia ez den egoerak daude. Adibidez, malwarea enkriptatzaile bat bada, bere memoria-eskualdeak iraultzetik babesten baditu, kodeak makina birtualak detektatzeko mekanismoak baditu edo malwarea hasi eta berehala berrabiarazten badu. Horrelakoetan, deseketatze βerdiautomatikoaβ deritzona erabiltzen da, hau da, ikertzaileak prozesuaren kontrol osoa du eta edozein unetan esku hartu dezake. Har dezagun prozedura hau AgentTesla familiaren hiru lagin erabiliz adibide gisa. Hau malware nahiko kaltegabea da sarerako sarbidea desgaitzen baduzu.
1. lagina
Iturburu-fitxategia CVE-2017-11882 ahultasuna baliatzen duen MS Word dokumentu bat da.
Ondorioz, karga deskargatu eta abiarazten da.
Prozesuaren zuhaitzaren eta portaera-markatzaileen analisiak prozesuan injekzioa erakusten du RegAsm.exe.
AgentTesla-ren portaera-markatzaileak daude.
Deskargatutako lagina exekutagarria da . NET-fitxategia babesle batek babestuta .NET Erreaktorea.
Ireki dezagun utilitatean dnSpy x86 eta joan sarrera puntura.
Funtziora joanez DateTimeOffset, berriaren hasierako kodea aurkituko dugu . NET-modulua. Jar dezagun eten puntua interesatzen zaigun lerroan eta exekutatu fitxategia.
Itzulitako bufferetako batean MZ sinadura ikus dezakezu (0x4D 0x5A). Gorde dezagun.
Botatutako fitxategi exekutagarria kargatzailea den liburutegi dinamikoa da, hau da. karga erabilgarria baliabideen ataletik ateratzen du eta abiarazten du.
Aldi berean, beharrezko baliabideak beraiek ez daude zabortegian. Gurasoen laginean daude.
Erabilgarritasuna dnSpy erlazionatutako bi fitxategietatik "Frankenstein" bat sortzen lagunduko diguten bi funtzionalitate oso erabilgarriak ditu.
- Lehenengoak liburutegi dinamiko bat "itsatsi" dezakezu gurasoen laginean.
- Bigarrena, sarrera puntuan funtzio kodea berridaztea da, txertatutako liburutegi dinamikoaren nahi den metodoari deitzeko.
Gure βFrankensteinβ multzoa gordetzen dugu eten puntua Deszifratutako baliabideekin buffer bat itzuliz lerroan, eta iraulketa bat ekoitzi aurreko fasearen analogiaz.
Bigarren zabortegia idatzita dago VB.NET ezagutzen dugun babesle batek babesten duen fitxategi exekutagarria NahasleaEx.
Babeslea kendu ondoren, lehenago idatzitako YARA arauak erabiltzen ditugu eta deskonprimitutako malwarea AgentTesla dela ziurtatzen dugu.
2. lagina
Iturburu fitxategia MS Excel dokumentu bat da. Makro integratuak kode maltzurren exekuzioa eragiten du.
Ondorioz, PowerShell script-a abiarazten da.
Scriptak C# kodea deszifratzen du eta hari kontrola transferitzen dio. Kodea bera abio-kargatzailea da, sandbox txostenean ere ikus daitekeen bezala.
Karga exekutagarria da . NET-fitxategia.
Fitxategia irekitzea dnSpy x86, lausotuta dagoela ikus dezakezu. Erabilgarritasuna erabiliz lausotzea kentzea de4dot eta analisira itzuli.
Kodea aztertzean, funtzio hau aurki dezakezu:
Kodetutako lerroak deigarriak dira SarreraPuntua ΠΈ deitu. jarri dugu eten puntua lehen lerrora, exekutatu eta gorde buffer-aren balioa byte_0.
Zabortegia berriro aplikazio bat da . NET eta babestuta NahasleaEx.
Erabiliz lausotzea kentzen dugu de4dot eta kargatu dnSpy. Fitxategiaren deskribapenetik ulertzen dugu aurrean gaudela CyaX-Sharp kargagailua.
Kargagailu honek analisiaren aurkako funtzionalitate zabala du.
Funtzionalitate honek barne hartzen ditu Windows babesteko sistemak saihestea, Windows Defender desgaitzea, baita sandbox eta makina birtualak detektatzeko mekanismoak ere. Posible da karga saretik kargatzea edo baliabideen atalean gordetzea. Abiarazi injekzio bidez egiten da bere prozesu propioan, prozesu propio baten bikoiztu batean edo prozesuetan MSBuild.exe, vbc.exe ΠΈ RegSvcs.exe erasotzaileak aukeratutako parametroaren arabera.
Hala ere, guretzat baino ez dira hain esanguratsuak Zabortegiaren aurkakoa- gehitzen duen funtzioa NahasleaEx. Bere iturburu kodea helbidean aurki daiteke
Babesa desgaitzeko, aukera erabiliko dugu dnSpy, editatzeko aukera ematen duena IL-kodea.
Gorde eta instalatu eten puntua karga deszifratzeko funtzioa deitzeko lerrora. Klase nagusiaren eraikitzailean dago.
Karga erabilgarria abiarazi eta botatzen dugu. Aurretik idatzitako YARA arauak erabiliz, hau AgentTesla dela ziurtatzen dugu.
3. lagina
Iturburu-fitxategia exekutagarria da VB jatorrizko PE32-fitxategia.
Entropia-analisiak datu enkriptatutako zati handi baten presentzia erakusten du.
Eskaera inprimakia aztertzean VB deskonpilatzailea atzealde pixelatu arraro bat nabarituko duzu.
Entropia grafikoa bmp-image jatorrizko fitxategiaren entropia grafikoaren berdina da, eta tamaina fitxategiaren tamainaren % 85 da.
Irudiaren itxura orokorrak esteganografiaren erabilera adierazten du.
Errepara diezaiogun prozesuaren zuhaitzaren itxurari, baita injekzio-markatzaile baten presentziari ere.
Horrek adierazten du desegitea abian dela. Visual Basic kargagailuetarako (aka VBKrypt edo VBInjector) erabilera tipikoa shellcode karga erabilgarria hasieratzeko, baita injekzioa bera egiteko ere.
Analisia in VB deskonpilatzailea ekitaldi baten presentzia erakutsi zuen Karga formularioan FegatassocAirballoon2.
Goazen IDA pro zehaztutako helbidera eta funtzioa aztertu. Kodea oso lausotuta dago. Interesatzen zaigun zatia jarraian aurkezten dugu.
Hemen prozesuaren helbide-espazioa sinadura baten bila da. Ikuspegi hau oso zalantzazkoa da.
Lehenik eta behin, eskaneatzeko hasierako helbidea 0x400100. Balio hau estatikoa da eta ez da doitzen oinarria aldatzean. Berotegiko baldintza ezin hobeetan amaiera adieraziko du PE-fitxategi exekutagarriaren goiburua. Hala ere, datu-basea ez da estatikoa, bere balioa alda daiteke eta beharrezkoa den sinaduraren benetako helbidea bilatzea, gainezka aldagairik eragingo ez duen arren, oso denbora luzea izan daiteke.
Bigarrenik, sinaduraren esanahia iWGK. Uste dut bistakoa dela 4 byte txikiegia dela berezitasuna bermatzeko. Eta lehen puntua kontuan hartzen baduzu, akats bat egiteko probabilitatea nahiko handia da.
Izan ere, beharrezkoa den zatia aurrez aurkitutakoaren amaierari erantsita dago bmp-irudiak offset bidez 0xA1D0D.
Emanaldia Shellcode bi fasetan burutua. Lehenengoak gorputz nagusia deszifratzen du. Kasu honetan, gakoa indar gordinaren bidez zehazten da.
Deszifratutakoa bota Shellcode eta begiratu lerroei.
Lehenik eta behin, haur prozesu bat sortzeko funtzioa ezagutzen dugu: SortuProzesuaBarneW.
Bigarrenik, sisteman finkatzeko mekanismoaz jabetu ginen.
Itzuli gaitezen jatorrizko prozesura. Jar dezagun eten puntua on SortuProzesuaBarneW eta exekuzioan jarraitu. Jarraian konexioa ikusiko dugu NtGetContextThread/NtSetContextThread, exekuzioaren hasierako helbidea helbidera aldatzen duena ShellCode.
Sortutako prozesura arazte batekin konektatzen gara eta gertaera aktibatzen dugu Eseki liburutegian kargatu/deskargatu, jarraitu prozesua eta itxaron kargatu arte . NET-liburutegiak.
Gehiago erabiliz ProcessHacker ontziratu gabe dauden eskualdeak . NET-aplikazio.
Prozesu guztiak gelditzen ditugu eta sisteman txertatu den malwarearen kopia ezabatzen dugu.
Botatutako fitxategia babesle batek babesten du .NET Erreaktorea, erabilgarritasun bat erabiliz erraz kendu daitekeena de4dot.
Lehen idatzitako YARA arauak erabiliz, hau AgentTesla dela ziurtatzen dugu.
Laburbilduz
Beraz, zehatz-mehatz frogatu genuen lagin erdi-automatikoen desegitearen prozesua adibide gisa hiru mini-kasu erabiliz, eta kasu oso batean oinarritutako malwarea ere aztertu genuen, aztergai dugun lagina AgentTesla dela jakinez, bere funtzionaltasuna eta funtzionaltasuna ezarriz. konpromisoaren adierazleen zerrenda osoa.
Egin dugun objektu gaiztoaren azterketak denbora eta esfortzu handia eskatzen du, eta lan hori enpresako langile berezi batek egin behar du, baina enpresa guztiak ez daude analista bat enplegatzeko prest.
Group-IB Laboratory of Computer Forensics and Malcious Code Analysis eskaintzen dituen zerbitzuetako bat ziber-intzidenteei erantzutea da. Eta bezeroek denbora galdu ez dezaten dokumentuak onartu eta eztabaidatzen ziber-eraso baten erdian, Group-IB-k abiarazi du. Gorabeheren Erantzunaren atxikipena, harpidetza aurreko gertakariei erantzuteko zerbitzua, malwarearen azterketa-urrats bat ere barne hartzen duena. Honi buruzko informazio gehiago aurki daiteke
AgentTesla laginak nola deskonprimitzen diren aztertu eta CERT Group-IB espezialista batek nola egiten duen ikusi nahi baduzu, gai honi buruzko webinar-eko grabazioa deskarga dezakezu.
Iturria: www.habr.com