Cara menjalankan analisis mendalam terhadap sampel serangan APT Vietnam

PHPz
Lepaskan: 2023-05-17 22:26:37
ke hadapan
766 orang telah melayarinya

1. Kata Pengantar

APT telah menjadi topik hangat dalam bidang keselamatan.

Innovación y laboratorio, anak syarikat Eleven Paths, menerbitkan laporan "Docless Vietnam APT" pada bulan April:

Cara menjalankan analisis mendalam terhadap sampel serangan APT Vietnam

Maklumat di atas menyatakan bahawa kami telah mengesan beberapa yang berniat jahat E-mel telah dihantar ke peti mel milik kerajaan Vietnam Tarikh e-mel Vietnam ini ialah 13 Mac 2019. Terdapat unsur-unsur yang mencurigakan dalam e-mel ini, yang mungkin datang dari dalam kerajaan Vietnam, tetapi tidak boleh diketepikan bahawa seseorang menghantar e-mel itu kepada jabatan keselamatan.

TKCT quy I nama 2019.doc.lnk.malw maklumat sampel adalah seperti berikut:

Cara menjalankan analisis mendalam terhadap sampel serangan APT Vietnam

Gambar 1: TKCT quy I nam 2019.doc.lnk .malw

2. Analisis statik

1. Selepas TKCT quy I nama 2019.doc.lnk.malw sampel dimuat turun secara tempatan, ia dengan bijak menyamar sebagai pintasan Word, menipu mangsa untuk menjalankan atau lazimnya mengklik dua kali padanya. Lihatnya seperti berikut:

Cara menjalankan analisis mendalam terhadap sampel serangan APT Vietnam

Gambar 2: Menyamar pintasan dokumen

Pertama sekali, dokumen perkataan biasanya tidak Pautan .lnk, dan saiz pautan itu adalah kira-kira 1kb, tetapi pintasan sampel APT ialah 126kb Jelas sekali bahawa ada sesuatu yang tersembunyi Banyak virus menyamar nama fail sebagai .dat, .docx, dll. Dalam hakikatnya, akhiran ialah .exe Anda boleh melihatnya dengan menghidupkan sambungan nama fail.

2. Ekstrak kod hasad yang terkandung dalam sasaran dalam atribut sampel dan dapatkan bahawa ia adalah perintah cmd yang dikaburkan dan disulitkan, dan laksanakan powershell, seperti yang ditunjukkan di bawah:

Cara menjalankan analisis mendalam terhadap sampel serangan APT Vietnam

Oleh itu, virus dan perisian hasad pada masa lalu mempunyai persamaan ini Contohnya, Man Linghua, Xbash dan perisian tebusan semuanya suka melaksanakan powershell sebagai "muatan" pertama dan memberikannya kepada komputer sebagai kejutan.

3. Selepas menghuraikan arahan yang dikelirukan, kami mendapati bahawa pintasan TKCT quy I nam 2019.doc.lnk telah diubah hala ke fail s.sp1, sebenarnya, pintasan desktop ialah fail skrip powershell pembolehubah yang dikelirukan diisih seperti berikut:

Akhirnya ubah hala TKCT quy I nama 2019.doc.lnk ke folder temp, namakannya s.ps1 dan laksanakan powershell, sebagai ditunjukkan di bawah:

Cara menjalankan analisis mendalam terhadap sampel serangan APT Vietnam

Gambar 4: Nyahkeliruan

Cara menjalankan analisis mendalam terhadap sampel serangan APT Vietnam4 Ia juga boleh mengalih keluar pengeliruan iex secara manual ". Powershell menjalankan format arahan: Nama fail (asal) >> s.sp1 (nama fail baharu). Fail ubah hala adalah seperti berikut:

Cara menjalankan analisis mendalam terhadap sampel serangan APT Vietnam

Gambar 5: Kod berniat jahat Powershell

Cara menjalankan analisis mendalam terhadap sampel serangan APT Vietnam5 Seperti yang ditunjukkan dalam Rajah 5, dua keping data berkod Base64 telah ditemui untuk melaksanakan data berniat jahat yang dikodkan, dan laksanakan penciptaan setiap 9 minit Gunakan Perkhidmatan InstallUtil menyedari permulaan dan kegigihan adalah menarik untuk menggunakan Wscript.Shell untuk melaksanakan, dan semakin tidak dijangka, semakin tidak dijangka kesannya, seperti yang ditunjukkan di bawah:

Cara menjalankan analisis mendalam terhadap sampel serangan APT Vietnam

Gambar 6: s.sp1

Cara menjalankan analisis mendalam terhadap sampel serangan APT Vietnam6 Selepas menghuraikan data yang dikodkan Base64, sebenarnya terdapat dua fail boleh laku iaitu malicious .net dan .doc. Kaedah pelaksanaan ditunjukkan dalam rajah di bawah:

Cara menjalankan analisis mendalam terhadap sampel serangan APT Vietnam

Gambar 7: Rutin biasa

Cara menjalankan analisis mendalam terhadap sampel serangan APT Vietnam7. Analisis tmp_pFWwjd.dat.exe dan nyahhimpunkannya melalui alat dnSpy Akhirnya, kod itu kelihatan dengan jelas walaupun terdapat sedikit kekeliruan (anda boleh menggunakan de4dot.exe untuk mengelirukannya), ia tidak menjejaskan tahap kod.

Cari fungsi utama Exec() dan cari data yang dikodkan Base64String Menurut proses pelaksanaan, .NET mewakilkan untuk memanggil fungsi Panggilan, dan ia boleh dibaca dan boleh ditulis Kemudian anda perlu memohon memori VirtualAlloc (), dan Salin kod shell Base64 ke memori yang diminta, dapatkan penuding CreateThread() dan amanahkan penuding panggil balik pelaksanaan untuk melaksanakan kod shell berniat jahat, seperti ditunjukkan di bawah:

Cara menjalankan analisis mendalam terhadap sampel serangan APT Vietnam

Gambar 8: .net disassembly

Bagaimana untuk memahami shellcode atau muatan? Pada asasnya, ia boleh dikatakan sebagai sekumpulan data heksadesimal Untuk fail boleh laku, ia adalah data yang boleh ditafsir dan dilaksanakan oleh enjin pemasangan.

Oleh kerana perkara berikut akan melibatkan pengekstrakan data binari dan analisis pemasangan, berikut ialah rajah ringkas untuk memperkenalkan konsep asas kod shell atau muatan (untuk kod berniat jahat), seperti yang ditunjukkan dalam rajah berikut:

Cara menjalankan analisis mendalam terhadap sampel serangan APT Vietnam

Gambar 9: muatan

Seperti yang ditunjukkan dalam Rajah 9, untuk virus, terutamanya serangan yang bermula sendiri dan berterusan, sukar untuk dilaksanakan tanpa pintu belakang (kelemahan berterusan ( kecuali untuk menarik sedikit trafik setiap kali untuk kecurian data).

Sebagai contoh, alamat asas rawak alamat ASLR akan berubah setiap kali sistem dimulakan semula, atau ia akan disuntik ke dalam ruang proses baharu Alamat asas fungsi kod itu sendiri adalah salah mendapatkan alamat fungsi? Untuk mencapai operasi yang sempurna, beberapa operasi tambahan diperlukan Sudah tentu, ini bukan masalah, dan teknologinya agak matang.

Dengan mengandaikan bahawa pembaca mempunyai pengetahuan tertentu tentang format Windows PE, pemasangan dan kernel, penjelasan pengetahuan berikut akan lebih mudah difahami. Saya tidak akan mempopularkan pengetahuan asas Saya akan menganalisis cara melakukan kod shell ini dari format PE dan tahap pemasangan, bagaimana untuk mendapatkan alamat pangkalan modul secara dinamik seperti kernel32.dll, cara menggunakan nilai hash atau Hash untuk melintasi eksport jadual, dan elakkan membunuh rentetan sensitif dan API fungsi sensitif, dsb.

3. Bercakap tentang PE dan virus

Mengambil kod hasad di atas sebagai contoh, kerana .net menghadapi banyak masalah semasa penyahpepijatan kod shell, c/c++ telah digunakan untuk memulihkan tmp_pFWwjd.dat.exe sampel.

Sekali lagi, OD digunakan untuk penyahpepijatan dinamik Sudah tentu, anda boleh membuangnya untuk analisis Mengikut pilihan peribadi anda, anda boleh terus mengganggu apabila melaksanakan kod shell, seperti yang ditunjukkan di bawah:

Cara menjalankan analisis mendalam terhadap sampel serangan APT Vietnam

Gambar Sepuluh: Penunjuk

1 Masukkan titik masuk, diikuti dengan penyahsulitan XOR data dan pulihkan kod hasad yang perlu dilaksanakan, seperti yang ditunjukkan di bawah. :

Cara menjalankan analisis mendalam terhadap sampel serangan APT Vietnam

Gambar 11: Penyahsulitan XOR

2. Nilai cincang menyulitkan rentetan Ini mempunyai kelebihan untuk mengurangkan saiz kod shell dan menyembunyikan sensitif aksara, menyukarkan perisian anti-virus untuk memintas, seperti yang ditunjukkan di bawah:

Cara menjalankan analisis mendalam terhadap sampel serangan APT Vietnam

Gambar 12: Alamat fungsi pemerolehan nilai cincang

3 fungsi 1E0A42 dan cari sekumpulan operasi penugasan yang kelihatan biasa, seperti Paparan berikut:

Cara menjalankan analisis mendalam terhadap sampel serangan APT Vietnam

Gambar 13: fs:[0x30]

Fs ialah daftar, mod kernel ialah fs = 0x30, mod pengguna fs = 0x3B, fs Tuding ke _KPCR dalam mod kernel dan tuding ke _TEB dalam mod pengguna.

TEB (Blok Persekitaran Benang), blok persekitaran benang, iaitu setiap benang akan mempunyai TEB, yang digunakan untuk menyimpan data antara sistem dan benang untuk memudahkan kawalan operasi. Kemudian Fs:[0x30] ialah blok persekitaran proses PEB.

4. PEB ialah persekitaran proses semasa dengan mudah. ​​Ia memperoleh _PEB_LDR_DATA melalui offset 0xc. Struktur ini mengandungi maklumat tentang modul yang dimuatkan senarai terpaut diperolehi melalui offset 0x1c Setiap senarai terpaut menghala ke struktur LDR_DATA_TABLE_ENTRY Mari kita lihat data yang terkandung dalam struktur ini

Gambar 14: Dapatkan pangkalan modul

Cara menjalankan analisis mendalam terhadap sampel serangan APT Vietnam

Gambar 15: Langkah-langkah untuk mendapatkan alamat pangkalan modul persekitaran semasa

5. Lulus Proses di atas akan berjaya mendapatkan ntdll.dll, seperti yang ditunjukkan di bawah: Cara menjalankan analisis mendalam terhadap sampel serangan APT Vietnam

Gambar 16: Dapatkan Alamat modul

6 fungsi 1E0B2A, dua parameter Menurut konvensyen panggilan fungsi, parameter 1 ialah alamat pangkalan kernel32, parameter 2 ialah nilai cincang nama fungsi, dan fungsi ini ialah fungsi GetProcAddress() yang dilaksanakan sendiri, seperti yang ditunjukkan di bawah: Cara menjalankan analisis mendalam terhadap sampel serangan APT Vietnam

Gambar 17: GetProcAddress

Tujuan fungsi ini adalah untuk menyemak sama ada ia mematuhi format standard PE dan mendapatkan pengepala NT dan jadual eksport. Jadual eksport menyimpan alamat tiga jadual Mari kita lihat struktur jadual eksport, seperti yang ditunjukkan di bawah: Cara menjalankan analisis mendalam terhadap sampel serangan APT Vietnam

Cara menjalankan analisis mendalam terhadap sampel serangan APT Vietnam

Kod hasad perlu mencari alamat ketiga-tiga jadual ini, melintasi jadual nama fungsi AddressOfName, dapatkan nama fungsi dan mengira nilai cincangan jika nilai cincang adalah sama parameter 2, ia bermakna adalah fungsi yang sama.

Kembalikan subskrip yang sedang dilalui, gunakan subskrip untuk pergi ke jadual nombor jujukan fungsi AddressOfNameOrdinals untuk mencari nombor jujukan yang sepadan, dapatkan nilai yang disimpan dalam jadual nombor jujukan dan dapatkan AddressOfFunctions dalam jadual alamat fungsi . Jadual nombor siri dan jadual nama sepadan dengan satu dengan satu, dan subskrip dan subskrip berada dalam Nilai yang disimpan adalah berkaitan.

Perlu diingatkan bahawa nombor siri tidak teratur dan akan ada jurang. Sesetengah fungsi dalam jadual alamat tidak mempunyai nama fungsi, iaitu jadual alamat mempunyai alamat tetapi tidak boleh dikaitkan dengan jadual nama Pada masa ini, nombor siri digunakan untuk memanggil kandungan nombor siri ditambah nombor siri Pangkalan alamat asas ialah nombor panggilan sebenar. Cara menjalankan analisis mendalam terhadap sampel serangan APT Vietnam

8. Dengan pengetahuan ini, jika anda melihat kod berniat jahat dalam sampel, anda akan mendapati ia betul-betul sama dengan penerangan di atas, seperti berikut:

Gambar 19: GetProcAddress()

Cara menjalankan analisis mendalam terhadap sampel serangan APT Vietnam9 Keputusan pengesahan akhir berjaya, seperti yang ditunjukkan di bawah:

Cara menjalankan analisis mendalam terhadap sampel serangan APT Vietnam

Gambar 20: Pengesahan

Cara menjalankan analisis mendalam terhadap sampel serangan APT Vietnam11 Urutan baharu dibuat , seperti yang ditunjukkan di bawah:

Cara menjalankan analisis mendalam terhadap sampel serangan APT VietnamGambar 21: Cipta direktori

Buat fail dan laluan nama direktori c:User...AppDataRoaming

Cara menjalankan analisis mendalam terhadap sampel serangan APT Vietnam

11 Pelayan membalas dan memuat turun kod hasad, yang akan memulakan perjalanan baharu, seperti yang ditunjukkan di bawah:

Cara menjalankan analisis mendalam terhadap sampel serangan APT VietnamGambar 22: DownLoader

Cara menjalankan analisis mendalam terhadap sampel serangan APT Vietnam4. Analisis modul vkT2

1 Selepas mengikuti fungsi, kami menemui sejumlah besar nilai cincang, secara dinamik memperoleh alamat fungsi, dan fungsi di atas Panggilan adalah konsisten, dan nama fungsi sikat adalah seperti berikut:

Cara menjalankan analisis mendalam terhadap sampel serangan APT Vietnam

Penyahsulitan fungsi 1E0AAA adalah seperti berikut:

Cara menjalankan analisis mendalam terhadap sampel serangan APT Vietnam 2. Operasi prapemanasan dilakukan , sebenarnya, berdasarkan nama fungsi, anda harus meneka apa yang akan berlaku seterusnya, seperti yang ditunjukkan dalam rajah berikut:

Cara menjalankan analisis mendalam terhadap sampel serangan APT VietnamGambar 23: InternetOpenA

Cara menjalankan analisis mendalam terhadap sampel serangan APT VietnamGambar 24: InternetConnectA

Cara menjalankan analisis mendalam terhadap sampel serangan APT VietnamGambar 25: HttpOpenRequestA

Cara menjalankan analisis mendalam terhadap sampel serangan APT Vietnam

Gambar 26: Status permintaan

Kami terus mengakses halaman web berdasarkan IP yang diketahui dan format permintaan, seperti ditunjukkan di bawah:

Cara menjalankan analisis mendalam terhadap sampel serangan APT Vietnam

Gambar 27: vkT2

Mendapati bahawa penghuraian web semuanya bercelaru? Muat turun secara tempatan dan ikuti proses pelaksanaan kod asal Ini adalah sekeping data binari, tulis program untuk menyahpepijat kod berniat jahat ini.

4. Analisis vkT2, mula-mula menyahsulit data, dan kemudian secara dinamik mendapatkan alamat fungsi, yang merupakan rutin lama yang digunakan oleh sampel.

Data setiap bahagian (jadual bahagian) disambung secara kitaran Di sini, menurut VirtualAddress, alamat setiap bahagian selepas dimuatkan ke dalam memori disambung secara kitaran Kod ciri pengepala DOS dipadamkan untuk membentuk fail Format PE, seperti yang ditunjukkan di bawah:

Cara menjalankan analisis mendalam terhadap sampel serangan APT Vietnam

Cara menjalankan analisis mendalam terhadap sampel serangan APT Vietnam

Gambar 28: Pengembangan memori

5. Memandangkan ia adalah format PE Dikembangkan ke dalam memori, langkah seterusnya adalah untuk membaiki jadual IAT dan penempatan semula Terdapat banyak aspek yang terlibat di sini, dan ia juga merupakan kandungan format PE Panduan", seperti yang ditunjukkan dalam rajah di bawah:

Cara menjalankan analisis mendalam terhadap sampel serangan APT Vietnam

Gambar 29: Membaiki IAT

6. Seterusnya, analisa perkara utama, dapatkan pembolehubah sistem, dan tentukan sama ada ia berjalan pada sistem 64bit, seperti yang ditunjukkan di bawah:

Cara menjalankan analisis mendalam terhadap sampel serangan APT Vietnam

Cara menjalankan analisis mendalam terhadap sampel serangan APT Vietnam

Cara menjalankan analisis mendalam terhadap sampel serangan APT Vietnam

Gambar 30 : Menentukan persekitaran operasi

8 Data sistem, IP hos, Nama hos dan maklumat lain dikumpul seperti berikut:

Cara menjalankan analisis mendalam terhadap sampel serangan APT Vietnam

Cara menjalankan analisis mendalam terhadap sampel serangan APT Vietnam

Cara menjalankan analisis mendalam terhadap sampel serangan APT Vietnam

Gambar 31: Pengumpulan data

9 Pusingan baharu komunikasi C&C bermula, seperti yang ditunjukkan dalam rajah berikut:

Cara menjalankan analisis mendalam terhadap sampel serangan APT Vietnam<.>

Gambar 32: Mewujudkan komunikasi

Untuk analisis lanjut, fail boleh dibuka menggunakan fungsi HttpOpenRequest dan HttpSendRequest. HttpOpenRequest mencipta pemegang permintaan dan menyimpan parameter dalam pemegang HttpSendRequest menghantar parameter permintaan ke pelayan HTTP, seperti yang ditunjukkan di bawah:

Cara menjalankan analisis mendalam terhadap sampel serangan APT Vietnam

Cara menjalankan analisis mendalam terhadap sampel serangan APT Vietnam

Gambar 33: HttpOpenRequest

Cara menjalankan analisis mendalam terhadap sampel serangan APT Vietnam

Cara menjalankan analisis mendalam terhadap sampel serangan APT Vietnam

Gambar 34: HttpSendRequestA

11 Malangnya, HttpSendRequeS respon tidak wujud lagi. menganalisis kod yang tinggal secara statik (pelaksanaan simulasi), membaca kod hasad yang dikembalikan oleh pelayan dan menggunakan konteks keselamatan benang.

Analisis perisikan tidak menemui data yang lebih berharga, tetapi kaedah permintaan ini sangat unik, dan paket data yang dibina juga sangat istimewa Kekhususan ini akan dibincangkan di bawah.

Menghubungkan proses sampel, carta alir pelaksanaan combing adalah seperti berikut:

Cara menjalankan analisis mendalam terhadap sampel serangan APT Vietnam

Gambar 35: TKCT quy I nam 2019.doc proses pelaksanaan

Seperti yang ditunjukkan dalam Rajah 35, pelayan untuk komunikasi pelanggan semuanya harus menjadi pelayan proksi Sebenarnya, persekitaran sebenar jauh lebih rumit daripada proses di atas, yang juga merupakan kesukaran untuk mengesan sumber.

Seperti yang ditunjukkan dalam Rajah 33, maklumat data utama diekstrak daripada memori tindanan, yang berbeza daripada data permintaan biasa yang kita lihat adalah seperti berikut:

Cara menjalankan analisis mendalam terhadap sampel serangan APT VietnamKaedah komunikasi APT menjadi lebih berhati-hati Jika analisis sampel terperinci, operasi simulasi kotak pasir, forensik memori dan alat penangkapan paket tidak digunakan untuk menganalisis tahap rangkaian, hasilnya mungkin berbeza daripada data yang dikehendaki sampel berkomunikasi, ia sebenarnya menggunakan teknologi serangan rangkaian bahagian hadapan domain.

Apakah itu teknologi serangan rangkaian bahagian hadapan domain? Ringkasnya, pasukan seperti msf dan cs (Cobalt Strike) boleh mengawal trafik pelayan untuk memintas tahap tembok api dan pengesan tertentu Beberapa pengeluar yang lebih besar akan menyediakan perkhidmatan, jadi alatan seperti msf atau cs boleh digunakan untuk memintas firewall dan pengesan pada tahap tertentu Ia boleh dicapai.

Kami menggunakan Cobalt Strike sebagai contoh, yang menyepadukan penghantaran port, mengimbas port multi-mod Listener, penjanaan program Windows exe, penjanaan perpustakaan pautan dinamik Windows dll, penjanaan program java, penjanaan kod makro pejabat, termasuk pengklonan tapak untuk mendapatkan maklumat berkaitan pelayar, dsb.

Salah satu fungsi yang lebih berguna ialah gelagat muatan Beacon, mengubah suai nilai atribut lalai rangka kerja, menukar kekerapan daftar masuk dan mengubah suai trafik rangkaian Beacon berada dalam fail Mudah Tempa C2.

Fungsi Malleable-C2-Profiles boleh membina trafik menyamar Web biasa, dan akhirnya mencapai kesan penyembunyian komunikasi Kami mengambil amazon.profile sebagai contoh, seperti yang ditunjukkan di bawah:

set useragent "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko";http-get {Seturi"/s/ref=nb_sb_noss_1/167-3294888-0262949/field-keywords=books";client {header "Accept" "*/*";header "Host" " www.amazon.com ";metadata {base64;prepend "session-token=";prepend "skin=noskin;";append "csm-hit=s-24KU11BB82RZSYGJ3BDK|1419899012996";header "Cookie";}http-post {set uri "/N4215/adj/amzn.us.sr.aps";client {header "Accept" "*/*";header "Content-Type" "text/xml";header "X-Requested-With" "XMLHttpRequest";header "Host" " www.amazon.com ";parameter "sz" "160x600";parameter "oe" "oe=ISO-8859-1;";id {parameter "sn";}parameter "s" "3717";parameter "dc_ref" "http%3A%2F%2F www.amazon.com ";}
Salin selepas log masuk

The. kod di atas sepadan sepenuhnya dengan ciri komunikasi sampel vkT2.shellcode Dengan memuatkan fail profil yang sepadan, ciri trafik hos sasaran dan pelayan ditukar untuk menyembunyikan trafik dan akhirnya mencapai tujuan menyembunyikan komunikasi.

Atas ialah kandungan terperinci Cara menjalankan analisis mendalam terhadap sampel serangan APT Vietnam. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
apt
sumber:yisu.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!