Kun ĉi tiu artikolo ni kompletigas la serion de publikaĵoj dediĉitaj al la analizo de malica programaro. EN
Hodiaŭ Ilya Pomerantsev, specialisto pri malware-analizo ĉe CERT Group-IB, parolos pri la unua etapo de malware-analizo - duonaŭtomata malpakaĵo de AgentTesla specimenoj uzante la ekzemplon de tri mini-kazoj el la praktiko de specialistoj de CERT Group-IB.
Tipe, la unua etapo en malware analizo estas la forigo de protekto en la formo de pakisto, kriptor, protektanto aŭ ŝargilo. Plejofte, ĉi tiu problemo povas esti solvita rulante la malware kaj farante rubejon, sed estas situacioj kie ĉi tiu metodo ne taŭgas. Ekzemple, se la malbon-varo estas ĉifrilo, se ĝi protektas siajn memorregionojn kontraŭ esti forĵetita, se la kodo enhavas virtualajn maŝinajn detektajn mekanismojn, aŭ se la malbon-varo rekomencas tuj post ekfunkciigo. En tiaj kazoj oni uzas tiel nomatan "duonaŭtomatan" malpakadon, tio estas, la esploristo havas kompletan kontrolon de la procezo kaj povas interveni en ajna momento. Ni konsideru ĉi tiun proceduron uzante tri specimenojn de la familio AgentTesla kiel ekzemplon. Ĉi tio estas relative sendanĝera malware se vi malŝaltas ĝian retan aliron.
Specimeno n-ro 1
La fontdosiero estas MS Word-dokumento, kiu ekspluatas la vundeblecon CVE-2017-11882.
Kiel rezulto, la utila ŝarĝo estas elŝutita kaj lanĉita.
Analizo de la procezarbo kaj kondutismaj signoj montras injekton en la procezon RegAsm.exe.
Estas kondutismaj signoj karakterizaj por AgentTesla.
La elŝutita specimeno estas la plenumebla NET-dosiero protektita de protektanto .NET Reaktoro.
Ni malfermu ĝin en la utileco dnSpy x86 kaj transiru al la enirpunkto.
Irante al la funkcio DateTimeOffset, ni trovos la komencan kodon por la nova NET-modulo. Ni metu rompopunkto sur la linio kiun ni interesiĝas kaj rulu la dosieron.
En unu el la redonitaj bufroj vi povas vidi la subskribon MZ (0x4D 0x5A). Ni savu ĝin.
Forĵetita rulebla dosiero estas dinamika biblioteko kiu estas ŝargilo, t.e. eltiras la utilan ŝarĝon el la rimeda sekcio kaj lanĉas ĝin.
Samtempe, la necesaj rimedoj mem ne ĉeestas en la rubejo. Ili estas en la gepatra specimeno.
Utileco dnSpy havas du ege utilajn funkciojn, kiuj helpos nin sufiĉe rapide krei "Frankenstein" el du rilataj dosieroj.
- La unua permesas al vi "glui" dinamikan bibliotekon en la gepatran specimenon.
- La dua estas reverki la funkciokodon ĉe la enirpunkto por voki la deziratan metodon de la enigita dinamika biblioteko.
Ni konservas nian "Frankenstein", aron rompopunkto sur la linio resendante bufron kun deĉifritaj rimedoj, kaj produkti rubejon analoge kun la antaŭa etapo.
La dua rubejo estas enskribita VB.NET rulebla dosiero, kiu estas protektita de protektanto konata al ni ConfuserEx.
Post forigo de la protektanto, ni uzas la YARA-regulojn skribitajn pli frue kaj certigas, ke la malpakita malware estas vere AgentTesla.
Specimeno n-ro 2
La fontdosiero estas MS Excel-dokumento. Enkonstruita makroo kaŭzas ekzekuton de malica kodo.
Kiel rezulto, la PowerShell-skripto estas lanĉita.
La skripto malĉifras la C#-kodon kaj transdonas kontrolon al ĝi. La kodo mem estas ekŝargilo, kiel ankaŭ videblas el la raporto pri sablokesto.
La utila ŝarĝo estas efektivigebla NET-dosiero.
Malfermante la dosieron en dnSpy x86, vi povas vidi ke ĝi estas malklarigita. Forigante malklarigadon uzante la ilon de4dot kaj reveni al analizo.
Ekzamenante la kodon, vi povas malkovri la jenan funkcion:
La koditaj linioj estas okulfrapaj EnirPunkto и Alpreĝi. Ni metas rompopunkto al la unua linio, rulu kaj konservu la bufran valoron bajto_0.
La rubejo denove estas aplikaĵo NET kaj protektita ConfuserEx.
Ni forigas malklarigadon uzante de4dot kaj alŝutu al dnSpy. El la dosiera priskribo ni komprenas, ke ni alfrontas CyaX-Sharp ŝargilo.
Ĉi tiu ŝargilo havas ampleksan kontraŭ-analizan funkciojn.
Ĉi tiu funkcio inkluzivas preterpasi enkonstruitajn Windows-protektajn sistemojn, malŝalti Windows Defender, same kiel sablokeston kaj virtualajn maŝinajn detektajn mekanismojn. Eblas ŝargi la utilan ŝarĝon de la reto aŭ stoki ĝin en la rimeda sekcio. Lanĉo estas farita per injekto en sian propran procezon, en duplikaton de sia propra procezo, aŭ en procezojn MSBuild.exe, vbc.exe и RegSvcs.exe depende de la parametro elektita de la atakanto.
Tamen por ni ili estas malpli signifaj ol AntiDump-funkcio kiu aldonas ConfuserEx. Ĝia fontkodo troveblas ĉe
Por malŝalti protekton, ni uzos la ŝancon dnSpy, kiu permesas vin redakti IL-kodo.
Konservu kaj instalu rompopunkto al la linio de vokado de la utila malĉifra funkcio. Ĝi situas en la konstrukciisto de la ĉefa klaso.
Ni lanĉas kaj forĵetas la utilan ŝarĝon. Uzante la antaŭe skribitajn YARA-regulojn, ni certigas, ke ĉi tio estas AgentTesla.
Specimeno n-ro 3
La fontdosiero estas la plenumebla VB Denaska PE32-dosiero.
Entropia analizo montras la ĉeeston de granda peco de ĉifritaj datumoj.
Kiam vi analizas la aliĝilon en VB Malkompililo vi eble rimarkos strangan pikselan fonon.
Entropia grafiko bmp-image estas identa al la entropia grafiko de la originala dosiero, kaj la grandeco estas 85% de la dosiergrandeco.
La ĝenerala aspekto de la bildo indikas la uzon de steganografio.
Ni atentu la aspekton de la proceza arbo, kaj ankaŭ la ĉeeston de injekta markilo.
Ĉi tio indikas, ke elpakado estas en progreso. Por Visual Basic ŝargiloj (alinome VBKrypt aŭ VBInjektilo) tipa uzo ŝelkodo pravalorigi la utilan ŝarĝon, same kiel fari la injekton mem.
Analizo en VB Malkompililo montris la ĉeeston de evento ŝarĝo ĉe la formo FegatassocAerbalono2.
Ni iru al IDA pro al la specifita adreso kaj studi la funkcion. La kodo estas tre malklarigita. La fragmento, kiu interesas nin, estas prezentita sube.
Ĉi tie la adresspaco de la procezo estas skanita por subskribo. Ĉi tiu aliro estas ege dubinda.
Unue, la skanado komenca adreso 0x400100. Ĉi tiu valoro estas senmova kaj ne estas alĝustigita kiam la bazo estas ŝovita. En idealaj forcejaj kondiĉoj ĝi indikos la finon PE-la kaplinio de la plenumebla dosiero. Tamen, la datumbazo ne estas senmova, ĝia valoro povas ŝanĝiĝi, kaj serĉi la realan adreson de la postulata subskribo, kvankam ĝi ne kaŭzos varian superfluon, povas preni tre longan tempon.
Due, la signifo de la subskribo iWGK. Mi pensas, ke estas evidente, ke 4 bajtoj estas tro malgrandaj por garantii unikecon. Kaj se vi konsideras la unuan punkton, la probablo de eraro estas sufiĉe alta.
Fakte, la bezonata fragmento estas alfiksita al la fino de la antaŭe trovita bmp-bildoj per ofseto 0xA1D0D.
Agado Shellcode efektivigita en du etapoj. La unua deĉifras la ĉefan korpon. En ĉi tiu kazo, la ŝlosilo estas determinita de kruda forto.
Forĵetu la deĉifritan Shellcode kaj rigardu la liniojn.
Unue, ni nun konas la funkcion por krei infanan procezon: KreiProcezonInternanW.
Due, ni ekkonsciis pri la mekanismo de fiksado en la sistemo.
Ni reiru al la originala procezo. Ni metu rompopunkto sur KreiProcezonInternanW kaj daŭrigu la ekzekuton. Poste ni vidas la rilaton NtGetContextThread/NtSetContextThread, kiu ŝanĝas la ekzekutkomencadreson al la adreso ShellCode.
Ni konektas al la kreita procezo per erarserĉilo kaj aktivigas la eventon Malakceptu sur bibliotekou ŝarĝo/malŝarĝo, rekomencu la procezon kaj atendu la ŝarĝon NET-bibliotekoj.
Plu uzado ProcessHacker dump regionoj enhavantaj malpakitaj NET-apliko.
Ni ĉesigas ĉiujn procezojn kaj forigas la kopion de la malware enigita en la sistemo.
La forĵetita dosiero estas protektita de protektanto .NET Reaktoro, kiu povas esti facile forigita per ilo de4dot.
Uzante la YARA-regulojn skribitajn pli frue, ni certigas, ke ĉi tio estas AgentTesla.
Ni resumu
Do, ni detale pruvis la procezon de duonaŭtomata specimena malpakado uzante tri mini-kazojn kiel ekzemplon, kaj ankaŭ analizis malware surbaze de plenrajta kazo, eksciante, ke la specimeno studata estas AgentTesla, establante ĝian funkciecon kaj kompleta listo de indikiloj de kompromiso.
La analizo de la malica objekto, kiun ni faris, postulas multan tempon kaj penadon, kaj ĉi tiu laboro devas esti farita de speciala dungito en la kompanio, sed ne ĉiuj kompanioj pretas dungi analiziston.
Unu el la servoj provizitaj de la Grupo-IB-Laboratorio de Komputila Krimscienco kaj Malica Koda Analizo estas respondo al ciber-okazaĵoj. Kaj por ke klientoj ne perdu tempon aprobante dokumentojn kaj diskuti ilin meze de ciberatako, Group-IB lanĉis Okazaĵo-Respondo Retenilo, antaŭ-abbona okazaĵrespondservo kiu ankaŭ inkludas malware analizan paŝon. Pliaj informoj pri tio troveblas
Se vi volas denove studi kiel AgentTesla specimenoj estas malpakitaj kaj vidi kiel CERT Group-IB-specialisto faras tion, vi povas elŝuti la webinar registradon pri ĉi tiu temo
fonto: www.habr.com