Turnout gagal: hayu urang ngalaan AgentTesla kana cai bersih. Bagian 3

Turnout gagal: hayu urang ngalaan AgentTesla kana cai bersih. Bagian 3

Kalayan tulisan ieu kami ngalengkepan séri publikasi anu dikhususkeun pikeun nganalisa parangkat lunak jahat. DI bagian kahiji Kami ngalaksanakeun analisa lengkep ngeunaan file anu kainféksi anu ditampi ku perusahaan Éropa ku mail sareng mendakan spyware AgentTesla di dinya. Di bagian kadua digambarkeun hasil analisis hambalan-demi-hambalan tina modul AgentTesla utama.

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.

Turnout gagal: hayu urang ngalaan AgentTesla kana cai bersih. Bagian 3
Hasilna, payload diunduh sareng diluncurkeun.

Analisis tangkal prosés sareng spidol paripolah nunjukkeun suntikan kana prosés RegAsm.exe.

Turnout gagal: hayu urang ngalaan AgentTesla kana cai bersih. Bagian 3
Turnout gagal: hayu urang ngalaan AgentTesla kana cai bersih. Bagian 3
Aya ciri spidol paripolah AgentTesla.

Turnout gagal: hayu urang ngalaan AgentTesla kana cai bersih. Bagian 3
Sampel anu diunduh nyaéta anu tiasa dieksekusi .NET-file ditangtayungan ku pelindung .NET Réaktor.

Turnout gagal: hayu urang ngalaan AgentTesla kana cai bersih. Bagian 3
Hayu urang buka dina utiliti dnSpy x86 tur ngaléngkah ka titik éntri.

Turnout gagal: hayu urang ngalaan AgentTesla kana cai bersih. Bagian 3
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.

Turnout gagal: hayu urang ngalaan AgentTesla kana cai bersih. Bagian 3
Dina salah sahiji buffers balik anjeun tiasa ningali tanda tangan MZ (0x4D 0x5A). Hayu urang simpen.

Turnout gagal: hayu urang ngalaan AgentTesla kana cai bersih. Bagian 3
A file laksana dumped mangrupakeun perpustakaan dinamis anu loader a, i.e. extracts payload tina bagian sumberdaya tur ngajalankeun eta.

Turnout gagal: hayu urang ngalaan AgentTesla kana cai bersih. Bagian 3
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.

  1. Kahiji ngidinan Anjeun pikeun "némpelkeun" perpustakaan dinamis kana sampel indungna.

    Turnout gagal: hayu urang ngalaan AgentTesla kana cai bersih. Bagian 3

  2. Nu kadua nyaéta nulis balik kodeu fungsi dina titik Éntri pikeun nelepon metoda dipikahoyong tina perpustakaan dinamis diselapkeun.

    Turnout gagal: hayu urang ngalaan AgentTesla kana cai bersih. Bagian 3

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.

Turnout gagal: hayu urang ngalaan AgentTesla kana cai bersih. Bagian 3
Turnout gagal: hayu urang ngalaan AgentTesla kana cai bersih. Bagian 3
Saatos ngahapus pelindung, kami nganggo aturan YARA anu diserat sateuacana sareng pastikeun yén malware anu teu dibungkus leres-leres AgentTesla.

Turnout gagal: hayu urang ngalaan AgentTesla kana cai bersih. Bagian 3

Sampel No.2

Berkas sumberna nyaéta dokumén MS Excel. Macro anu diwangun-di nyababkeun palaksanaan kode jahat.

Turnout gagal: hayu urang ngalaan AgentTesla kana cai bersih. Bagian 3
Hasilna, skrip PowerShell diluncurkeun.

Turnout gagal: hayu urang ngalaan AgentTesla kana cai bersih. Bagian 3
Turnout gagal: hayu urang ngalaan AgentTesla kana cai bersih. Bagian 3
Skrip ngadekrip kode C # sareng mindahkeun kontrol ka dinya. Kodeu sorangan nyaéta bootloader, sakumaha ogé tiasa ditingali tina laporan sandbox.

Turnout gagal: hayu urang ngalaan AgentTesla kana cai bersih. Bagian 3
Turnout gagal: hayu urang ngalaan AgentTesla kana cai bersih. Bagian 3
Payload mangrupa executable .NET- file.

Turnout gagal: hayu urang ngalaan AgentTesla kana cai bersih. Bagian 3
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:

Turnout gagal: hayu urang ngalaan AgentTesla kana cai bersih. Bagian 3
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.

Turnout gagal: hayu urang ngalaan AgentTesla kana cai bersih. Bagian 3
Turnout gagal: hayu urang ngalaan AgentTesla kana cai bersih. Bagian 3
Urang miceun obfuscation ngagunakeun de4dot sarta unggah ka dnSpy. Tina pedaran file urang ngartos yen urang nyanghareupan CyaX-Sharp loader.

Turnout gagal: hayu urang ngalaan AgentTesla kana cai bersih. Bagian 3
Loader ieu ngagaduhan fungsionalitas anti-analisis anu éksténsif.

Turnout gagal: hayu urang ngalaan AgentTesla kana cai bersih. Bagian 3
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 GitHub.

Pikeun nganonaktipkeun panyalindungan, urang bakal ngagunakeun kasempetan dnSpy, nu ngidinan Anjeun pikeun ngédit IL-kode.

Turnout gagal: hayu urang ngalaan AgentTesla kana cai bersih. Bagian 3
Turnout gagal: hayu urang ngalaan AgentTesla kana cai bersih. Bagian 3
Simpen sareng pasang titik putus ka garis nelepon fungsi dekripsi payload. Hal ieu lokasina di constructor sahiji kelas utama.

Turnout gagal: hayu urang ngalaan AgentTesla kana cai bersih. Bagian 3
Urang ngajalankeun jeung dump payload nu. Ngagunakeun aturan YARA ditulis saméméhna, urang pastikeun yén ieu téh AgentTesla.

Turnout gagal: hayu urang ngalaan AgentTesla kana cai bersih. Bagian 3

Sampel No.3

File sumber nyaéta executable VB Asli PE32- file.

Turnout gagal: hayu urang ngalaan AgentTesla kana cai bersih. Bagian 3
Analisis éntropi nunjukkeun ayana sapotong badag data énkripsi.

Turnout gagal: hayu urang ngalaan AgentTesla kana cai bersih. Bagian 3
Nalika nganalisis formulir aplikasi dina VB Decompiler Anjeun bisa perhatikeun latar tukang pixelated aneh.

Turnout gagal: hayu urang ngalaan AgentTesla kana cai bersih. Bagian 3
Turnout gagal: hayu urang ngalaan AgentTesla kana cai bersih. Bagian 3
Grafik éntropi bmp-gambar téh idéntik jeung grafik éntropi tina file aslina, sarta ukuranana 85% tina ukuran file.

Turnout gagal: hayu urang ngalaan AgentTesla kana cai bersih. Bagian 3
Penampilan umum gambar nunjukkeun panggunaan steganografi.

Hayu urang nengetan penampilan tangkal prosés, kitu ogé ayana spidol suntik.

Turnout gagal: hayu urang ngalaan AgentTesla kana cai bersih. Bagian 3
Turnout gagal: hayu urang ngalaan AgentTesla kana cai bersih. Bagian 3
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.

Turnout gagal: hayu urang ngalaan AgentTesla kana cai bersih. Bagian 3
Hayu urang ka IDA pro ka alamat dieusian jeung diajar fungsi. Kodeu kabur pisan. Fragmen anu dipikaresep ku urang dibere handap.

Turnout gagal: hayu urang ngalaan AgentTesla kana cai bersih. Bagian 3
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.

Turnout gagal: hayu urang ngalaan AgentTesla kana cai bersih. Bagian 3
Kinerja Shellcode dilaksanakeun dina dua tahap. Kahiji deciphers awak utama. Dina hal ieu, konci ditangtukeun ku gaya BRUTE.

Turnout gagal: hayu urang ngalaan AgentTesla kana cai bersih. Bagian 3
Dump hiji decrypted Shellcode jeung kasampak dina garis.

Kahiji, urang ayeuna terang fungsi pikeun nyieun prosés anak: CreateProcessInternalW.

Turnout gagal: hayu urang ngalaan AgentTesla kana cai bersih. Bagian 3
Bréh, urang jadi sadar mékanisme fiksasi dina sistem.

Turnout gagal: hayu urang ngalaan AgentTesla kana cai bersih. Bagian 3
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.

Turnout gagal: hayu urang ngalaan AgentTesla kana cai bersih. Bagian 3
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.

Turnout gagal: hayu urang ngalaan AgentTesla kana cai bersih. Bagian 3
Turnout gagal: hayu urang ngalaan AgentTesla kana cai bersih. Bagian 3
File anu dibuang ditangtayungan ku pelindung .NET Réaktor, nu bisa gampang dihapus ngagunakeun utiliti a de4dot.

Turnout gagal: hayu urang ngalaan AgentTesla kana cai bersih. Bagian 3
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 di dieu.

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. di dieu.

sumber: www.habr.com

Tambahkeun komentar