Kalayan tulisan ieu kami ngalengkepan séri publikasi anu dikhususkeun pikeun nganalisa parangkat lunak jahat. DI
Dinten ayeuna Ilya Pomerantsev, spesialis dina analisis malware di CERT Group-IB, bakal ngobrol ngeunaan tahap mimiti analisis malware - semi-otomatis unpacking sampel AgentTesla ngagunakeun conto tilu mini-kasus tina praktek spesialis CERT Group-IB.
Ilaharna, tahap munggaran dina analisa malware nyaéta ngaleungitkeun panyalindungan dina bentuk packer, cryptor, protector atanapi loader. Dina kalolobaan kasus, masalah ieu bisa direngsekeun ku ngajalankeun malware jeung ngajalankeun dump a, tapi aya kaayaan dimana metoda ieu teu cocog. Salaku conto, upami malware mangrupikeun énkripsi, upami éta ngajagi daérah mémorina tina dibuang, upami kodeu ngandung mékanisme deteksi mesin virtual, atanapi upami malware reboot langsung saatos ngamimitian. Dina kasus sapertos kitu, anu disebut "semi-otomatis" unpacking dianggo, nyaéta, panalungtik gaduh kontrol lengkep dina prosés sareng tiasa ngahalangan iraha waé. Hayu urang nganggap prosedur ieu nganggo tilu conto kulawarga AgentTesla salaku conto. Ieu mangrupikeun malware anu teu bahaya upami anjeun nganonaktipkeun aksés jaringanna.
Sampel No.1
Berkas sumber nyaéta dokumén MS Word anu ngamangpaatkeun kerentanan CVE-2017-11882.
Hasilna, payload diunduh sareng diluncurkeun.
Analisis tangkal prosés sareng spidol paripolah nunjukkeun suntikan kana prosés RegAsm.exe.
Aya ciri spidol paripolah AgentTesla.
Sampel anu diunduh nyaéta anu tiasa dieksekusi .NET-file ditangtayungan ku pelindung .NET Réaktor.
Hayu urang buka dina utiliti dnSpy x86 tur ngaléngkah ka titik éntri.
Ku buka fungsi DateTimeOffset, urang bakal manggihan kode initialization pikeun anyar .NET-modul. Hayu urang nempatkeun titik putus dina garis kami museurkeun tur ngajalankeun file.
Dina salah sahiji buffers balik anjeun tiasa ningali tanda tangan MZ (0x4D 0x5A). Hayu urang simpen.
A file laksana dumped mangrupakeun perpustakaan dinamis anu loader a, i.e. extracts payload tina bagian sumberdaya tur ngajalankeun eta.
Dina waktos anu sami, sumber daya anu dipikabutuh sorangan henteu aya dina tempat pembuangan. Aranjeunna dina sampel indungna.
Utiliti dnSpy boga dua fungsi pisan mangpaat anu bakal nulungan urang rada gancang nyieun "Frankenstein" tina dua file patali.
- Kahiji ngidinan Anjeun pikeun "némpelkeun" perpustakaan dinamis kana sampel indungna.
- Nu kadua nyaéta nulis balik kodeu fungsi dina titik Éntri pikeun nelepon metoda dipikahoyong tina perpustakaan dinamis diselapkeun.
Urang nyimpen urang "Frankenstein", set titik putus dina garis balik a panyangga kalawan sumberdaya decrypted, sarta ngahasilkeun dump ku analogi jeung tahap saméméhna.
Dump kadua ditulis dina VB.NET file laksana anu ditangtayungan ku pelindung wawuh ka urang ConfuserEx.
Saatos ngahapus pelindung, kami nganggo aturan YARA anu diserat sateuacana sareng pastikeun yén malware anu teu dibungkus leres-leres AgentTesla.
Sampel No.2
Berkas sumberna nyaéta dokumén MS Excel. Macro anu diwangun-di nyababkeun palaksanaan kode jahat.
Hasilna, skrip PowerShell diluncurkeun.
Skrip ngadekrip kode C # sareng mindahkeun kontrol ka dinya. Kodeu sorangan nyaéta bootloader, sakumaha ogé tiasa ditingali tina laporan sandbox.
Payload mangrupa executable .NET- file.
Ngabuka file dina dnSpy x86, Anjeun bisa nempo yén éta téh obfuscated. Ngahapus obfuscation nganggo utiliti de4dot sarta balik deui ka analisis.
Nalika mariksa kodeu, anjeun tiasa mendakan fungsi ieu:
Garis-garis anu disandikeun katingali EntryPoint и Ngadamel. Urang nempatkeun titik putus ka garis kahiji, ngajalankeun sarta simpen nilai panyangga byte_0.
Dump deui hiji aplikasi on .NET jeung ditangtayungan ConfuserEx.
Urang miceun obfuscation ngagunakeun de4dot sarta unggah ka dnSpy. Tina pedaran file urang ngartos yen urang nyanghareupan CyaX-Sharp loader.
Loader ieu ngagaduhan fungsionalitas anti-analisis anu éksténsif.
Fungsionalitas ieu kalebet ngalangkungan sistem panyalindungan Windows anu diwangun, nganonaktipkeun Windows Defender, ogé mékanisme deteksi kotak pasir sareng mesin virtual. Kasebut nyaéta dimungkinkeun pikeun ngamuat payload tina jaringan atanapi nyimpen éta dina bagian sumberdaya. Peluncuran dilakukeun ngaliwatan suntikan kana prosés sorangan, kana duplikat prosés sorangan, atanapi kana prosés MSBuild.exe, vbc.exe и RegSvcs.exe gumantung kana parameter anu dipilih ku panyerang.
Najan kitu, pikeun urang aranjeunna kirang signifikan ti AntiDump-fungsi nu nambihan ConfuserEx. Kode sumberna tiasa dipendakan di
Pikeun nganonaktipkeun panyalindungan, urang bakal ngagunakeun kasempetan dnSpy, nu ngidinan Anjeun pikeun ngédit IL-kode.
Simpen sareng pasang titik putus ka garis nelepon fungsi dekripsi payload. Hal ieu lokasina di constructor sahiji kelas utama.
Urang ngajalankeun jeung dump payload nu. Ngagunakeun aturan YARA ditulis saméméhna, urang pastikeun yén ieu téh AgentTesla.
Sampel No.3
File sumber nyaéta executable VB Asli PE32- file.
Analisis éntropi nunjukkeun ayana sapotong badag data énkripsi.
Nalika nganalisis formulir aplikasi dina VB Decompiler Anjeun bisa perhatikeun latar tukang pixelated aneh.
Grafik éntropi bmp-gambar téh idéntik jeung grafik éntropi tina file aslina, sarta ukuranana 85% tina ukuran file.
Penampilan umum gambar nunjukkeun panggunaan steganografi.
Hayu urang nengetan penampilan tangkal prosés, kitu ogé ayana spidol suntik.
Ieu nunjukkeun yén unpacking keur lumangsung. Pikeun loader Visual Basic (aka VBKrypt atawa VBInjector) pamakéan has shellcode pikeun initialize payload, kitu ogé pikeun ngalakukeun suntikan sorangan.
Analisis dina VB Decompiler némbongkeun ayana hiji acara momotkeun dina formulir Balon Udara Fegatassoc2.
Hayu urang ka IDA pro ka alamat dieusian jeung diajar fungsi. Kodeu kabur pisan. Fragmen anu dipikaresep ku urang dibere handap.
Di dieu rohangan alamat prosés diseken pikeun tanda tangan. pendekatan ieu pisan dubious.
Kahiji, alamat scanning ngamimitian 0x400100. Nilai ieu statik sareng henteu disaluyukeun nalika dasarna digeser. Dina kaayaan rumah kaca idéal bakal nunjukkeun tungtungna PE-header tina file laksana. Sanajan kitu, databés teu statik, nilaina bisa robah, sarta néangan alamat nyata tina tanda tangan diperlukeun, sanajan teu ngabalukarkeun ngabahekeun variabel, tiasa nyandak lila pisan.
Bréh, hartina tanda tangan iWGK. Jigana éta atra yén 4 bait leutik teuing pikeun ngajamin uniqueness. Tur upami Anjeun salah tumut kana akun titik kahiji, kamungkinan nyieun kasalahan cukup luhur.
Kanyataanna, sempalan diperlukeun napel tungtung kapanggih saméméhna bmp-gambar ku offset 0xA1D0D.
Kinerja Shellcode dilaksanakeun dina dua tahap. Kahiji deciphers awak utama. Dina hal ieu, konci ditangtukeun ku gaya BRUTE.
Dump hiji decrypted Shellcode jeung kasampak dina garis.
Kahiji, urang ayeuna terang fungsi pikeun nyieun prosés anak: CreateProcessInternalW.
Bréh, urang jadi sadar mékanisme fiksasi dina sistem.
Hayu urang balik deui ka prosés aslina. Hayu urang nempatkeun titik putus dina CreateProcessInternalW jeung neruskeun palaksanaan. Salajengna urang tingali sambungan NtGetContextThread/NtSetContextThread, nu ngarobah alamat ngamimitian palaksanaan ka alamat ShellCode.
Urang nyambung ka prosés dijieun kalawan debugger sarta ngaktipkeun acara Nunda dina perpustakaanu beban / ngabongkar momotanana, neruskeun prosés jeung ngadagoan loading .NET-perpustakaan.
Salajengna ngagunakeun ProcessHacker dump wewengkon ngandung unpacked .NET-aplikasi.
Urang ngeureunkeun sadaya prosés sareng ngahapus salinan malware anu parantos dipasang dina sistem.
File anu dibuang ditangtayungan ku pelindung .NET Réaktor, nu bisa gampang dihapus ngagunakeun utiliti a de4dot.
Ngagunakeun aturan YARA ditulis saméméhna, urang pastikeun yén ieu téh AgentTesla.
pikeun nyimpulkeun
Janten, kami nunjukkeun sacara rinci prosés ngabongkar sampel semi-otomatis nganggo tilu kasus mini sabagé conto, sareng ogé nganalisa malware dumasar kana kasus anu lengkep, mendakan yén sampel anu ditaliti nyaéta AgentTesla, netepkeun fungsionalitasna sareng a daptar lengkep indikator kompromi.
Analisis objék jahat anu kami laksanakeun butuh seueur waktos sareng usaha, sareng padamelan ieu kedah dilakukeun ku karyawan khusus di perusahaan, tapi henteu sadayana perusahaan siap ngerjakeun analis.
Salah sahiji jasa anu disayogikeun ku Laboratorium Forensik Komputer Grup-IB sareng Analisis Kode Berbahaya nyaéta réspon kana insiden cyber. Sareng supados para nasabah henteu miceunan waktos nyatujuan dokumén sareng ngabahas aranjeunna di tengah serangan cyber, Grup-IB ngaluncurkeun Kajadian Tanggapan Retainer, layanan réspon kajadian pre-langganan anu ogé ngawengku léngkah analisis malware. Inpo nu langkung lengkep ihwal ieu bisa kapanggih
Upami anjeun hoyong sakali deui diajar kumaha conto AgentTesla dibongkar sareng ningali kumaha spesialis CERT Group-IB ngalakukeunana, anjeun tiasa ngaunduh rekaman webinar ngeunaan topik ieu.
sumber: www.habr.com