WinorDLL64: Pintu belakang dari gudang senjata Lazarus yang luas?

WinorDLL64: Pintu belakang dari gudang senjata Lazarus yang luas?

Node Sumber: 1975596

Wilayah yang ditargetkan, dan tumpang tindih dalam perilaku dan kode, menunjukkan bahwa alat tersebut digunakan oleh kelompok APT yang bersekutu dengan Korea Utara.

Peneliti ESET telah menemukan salah satu muatan dari Pengunduh Wslink yang kami temukan kembali pada tahun 2021. Kami menamai payload ini WinorDLL64 berdasarkan nama filenya WinorDLL64.dll. Wslink, yang memiliki nama file WinorLoaderDLL64.dll, adalah pemuat untuk binari Windows yang, tidak seperti pemuat lainnya, berjalan sebagai server dan mengeksekusi modul yang diterima di memori. Seperti yang disarankan oleh kata-katanya, loader berfungsi sebagai alat untuk memuat muatan, atau malware yang sebenarnya, ke sistem yang sudah disusupi. Vektor kompromi Wslink awal belum teridentifikasi.

Muatan Wslink yang awalnya tidak diketahui diunggah ke VirusTotal dari Korea Selatan tidak lama setelah publikasi postingan blog kami, dan mencapai salah satu aturan YARA kami berdasarkan nama unik Wslink WinorDLL64. Mengenai Wslink, telemetri ESET hanya melihat beberapa deteksi โ€“ di Eropa Tengah, Amerika Utara, dan Timur Tengah.

Grafik WinorDLL64 payload berfungsi sebagai pintu belakang yang terutama memperoleh informasi sistem yang luas, menyediakan sarana untuk manipulasi file, seperti exfiltrating, menimpa, dan menghapus file, dan menjalankan perintah tambahan. Menariknya, ini berkomunikasi melalui koneksi yang sudah dibuat oleh pemuat Wslink.

Pada tahun 2021, kami tidak menemukan data apa pun yang menunjukkan bahwa Wslink adalah alat dari pelaku ancaman yang dikenal. Namun, setelah analisis muatan yang ekstensif, kami telah mengaitkannya WinorDLL64 ke grup Lazarus APT dengan kepercayaan rendah berdasarkan wilayah yang ditargetkan dan tumpang tindih dalam perilaku dan kode dengan sampel Lazarus yang diketahui.

Aktif setidaknya sejak 2009, kelompok sekutu Korea Utara yang terkenal ini bertanggung jawab atas insiden penting seperti Peretasan Sony Pictures Entertainment dan puluhan juta dolar cyberheists pada tahun 2016, yang WannaCryptor (alias WannaCry) wabah pada tahun 2017, dan sejarah panjang serangan mengganggu terhadap Infrastruktur publik dan kritis Korea Selatan setidaknya sejak 2011. US-CERT dan FBI memanggil grup ini TERSEMBUNYI COBRA.

Berdasarkan pengetahuan yang luas Dari kegiatan dan operasi grup ini, kami percaya bahwa Lazarus terdiri dari tim besar yang terorganisir secara sistematis, dipersiapkan dengan baik, dan terdiri dari beberapa subkelompok yang menggunakan perangkat besar. Tahun lalu, kami menemukan alat Lazarus yang mengambil keuntungan dari CVEโ€‘2021โ€‘21551 kerentanan untuk menargetkan karyawan perusahaan kedirgantaraan di Belanda, dan jurnalis politik di Belgia. Itu adalah penyalahgunaan kerentanan yang tercatat pertama kali; dalam kombinasi, alat dan kerentanan menyebabkan pemantauan semua solusi keamanan pada mesin yang dikompromikan menjadi buta. Kami juga menyediakan deskripsi ekstensif tentang struktur mesin virtual digunakan dalam sampel Wslink.

Posting blog ini menjelaskan atribusi WinorDLL64 ke Lazarus dan memberikan analisis muatan.

Tautan ke Lazarus

Kami telah menemukan tumpang tindih dalam perilaku dan kode dengan sampel Lazarus dari Operasi GhostSecret dan Implan Bankshot dijelaskan oleh McAfee. Deskripsi implan di artikel GhostSecret dan Bankshot berisi fungsi yang tumpang tindih dengan WinorDLL64 dan kami menemukan beberapa kode yang tumpang tindih dalam sampel. Dalam posting blog ini kita hanya akan menggunakan FE887FCAB66D7D7F79F05E0266C0649F0114BA7C sampel dari GhostSecret untuk perbandingan dengan WinorDLL64 (1BA443FDE984CEE85EBD4D4FA7EB1263A6F1257F), kecuali ditentukan lain.

Detail berikut meringkas fakta pendukung untuk rendahnya kepercayaan kita terhadap Lazarus:

1. Viktimologi

  • Rekan peneliti dari AhnLab mengonfirmasi korban Wslink Korea Selatan dalam telemetri mereka, yang merupakan indikator yang relevan mengingat target tradisional Lazarus dan bahwa kami hanya mengamati beberapa serangan.

Gambar 1. Korban Korea Selatan yang dilaporkan, dimana mstoned7 adalah peneliti dari Ahnlab

2. Malware

  • Sampel GhostSecret terbaru dilaporkan oleh McAfee (FE887FCAB66D7D7F79F05E0266C0649F0114BA7C) dari Februari 2018; kami melihat sampel pertama Wslink pada akhir 2018 dan rekan peneliti melaporkan hit pada Agustus 2018, yang mereka ungkapkan setelah publikasi kami. Oleh karena itu, sampel-sampel ini terlihat dalam waktu yang relatif singkat.
  • Grafik Tajuk kaya PE menunjukkan bahwa lingkungan pengembangan yang sama dan proyek dengan ukuran yang sama digunakan di beberapa sampel Lazarus lain yang diketahui (misalnya, 70DE783E5D48C6FBB576BC494BAF0634BC304FD6; 8EC9219303953396E1CB7105CDB18ED6C568E962). Kami menemukan tumpang tindih ini menggunakan aturan berikut yang hanya mencakup sampel Wslink dan Lazarus ini, yang merupakan indikator dengan bobot rendah. Kami mengujinya Retrohunt VirusTotal dan korpus file internal kami.

rich_signature.length == 80 dan
pe.rich_signature.toolid(175, 30319) == 7 dan
pe.rich_signature.toolid(155, 30319) == 1 dan
pe.rich_signature.toolid(158, 30319) == 10 dan
pe.rich_signature.toolid(170, 30319) >= 90 dan
pe.rich_signature.toolid(170, 30319) <= 108

Aturan ini dapat diterjemahkan ke notasi berikut yang lebih mudah dibaca dan digunakan oleh VirusTotal, di mana orang dapat melihat versi produk dan ID build (VS2010 membangun 30319), jumlah dan jenis file sumber/objek yang digunakan ([LTCG C++] di mana LTCG adalah singkatan dari Link Time Code Generation, [ASM], [ C ]), dan jumlah ekspor ([EXP]) dalam aturan:

[LTCG C++] VS2010 build 30319 hitungan=7
[EXP] VS2010 build 30319 hitungan=1
[ASM] VS2010 build 30319 hitungan=10
[ C ] VS2010 build 30319 dihitung dalam [ 90 .. 108 ]

  • Artikel GhostSecret menjelaskan โ€œkomponen penginstalan implan dan pengumpulan data unik yang mendengarkan port 443 untuk koneksi server kontrol masukโ€ yang juga berjalan sebagai layanan. Ini adalah deskripsi akurat tentang perilaku pengunduh Wslink, selain dari nomor port, yang dapat bervariasi berdasarkan konfigurasi. Singkatnya, meskipun implementasinya berbeda, keduanya melayani tujuan yang sama.
  • Loader divirtualisasi oleh Oreans' Code Virtualizer, yang merupakan pelindung komersial yang digunakan sering oleh Lazarus.
  • Loader menggunakan MemoriModul perpustakaan untuk memuat modul langsung dari memori. Pustaka ini tidak umum digunakan oleh malware, tetapi cukup populer di kalangan grup yang berpihak pada Korea Utara seperti Lazarus dan Kimsuky.
  • Tumpang tindih kode antara WinorDLL64 dan GhostSecret yang kami temukan selama analisis kami. Hasil dan signifikansi dalam atribusi tercantum pada Tabel 1.

Tabel 1. Kesamaan antara WinorDLL64 dan GhostSecret dan signifikansinya dalam mengaitkan keduanya dengan aktor ancaman yang sama

Kesamaan lain antara WinorDLL64 dan GhostSecret Dampak
Tumpang tindih kode dalam kode bertanggung jawab untuk mendapatkan arsitektur prosesor Rendah
Kode tumpang tindih dalam manipulasi direktori saat ini Rendah
Kode tumpang tindih dalam mendapatkan daftar proses Rendah
Kode tumpang tindih dalam pengiriman file Rendah
Perilaku tumpang tindih dalam proses daftar Rendah
Perilaku tumpang tindih dalam manipulasi direktori saat ini Rendah
Perilaku tumpang tindih dalam daftar file dan direktori Rendah
Perilaku tumpang tindih dalam volume daftar Rendah
Perilaku tumpang tindih dalam membaca/menulis file Rendah
Perilaku tumpang tindih dalam menciptakan proses Rendah
Perilaku yang cukup tumpang tindih dalam penghapusan file secara aman Rendah
Perilaku yang cukup tumpang tindih dalam penghentian proses Rendah
Perilaku yang cukup tumpang tindih dalam mengumpulkan informasi sistem Rendah

Tumpang tindih kode dalam fungsi pengiriman file disorot pada Gambar 2 dan Gambar 3.

Gambar 2. GhostSecret mengirim file

Gambar 3. Wslink mengirim file

Analisis teknis

WinorDLL64 berfungsi sebagai pintu belakang yang terutama memperoleh informasi sistem yang luas, menyediakan sarana untuk manipulasi file, dan menjalankan perintah tambahan. Menariknya, ini berkomunikasi melalui koneksi TCP yang telah dibuat oleh pemuatnya dan menggunakan beberapa fungsi pemuat.

Gambar 4. Visualisasi komunikasi Wslink

Pintu belakang adalah DLL dengan satu ekspor tanpa nama yang menerima satu parameter โ€“ struktur komunikasi yang sudah dijelaskan di blogpost sebelumnya. Strukturnya berisi konteks TLS โ€“ soket, kunci, IV โ€“ dan panggilan balik untuk mengirim dan menerima pesan yang dienkripsi dengan AES-CBC 256-bit yang memungkinkan WinorDLL64 bertukar data secara aman dengan operator melalui koneksi yang sudah dibuat.

Fakta-fakta berikut membuat kami percaya dengan keyakinan tinggi bahwa perpustakaan memang bagian dari Wslink:

  • Struktur unik digunakan di mana saja dengan cara yang diharapkan, misalnya, konteks TLS dan parameter penting lainnya disediakan dalam urutan yang diantisipasi ke callback yang benar.
  • Nama DLLnya adalah WinorDLL64.dll dan nama Wslink adalah WinorLoaderDLL64.dll.

WinorDLL64 menerima beberapa perintah. Gambar 5 menampilkan loop yang menerima dan menangani perintah. Setiap perintah terikat pada ID unik dan menerima konfigurasi yang berisi parameter tambahan.

Gambar 5. Bagian utama dari loop penerima perintah backdoor

Daftar perintah, dengan label kami, ada di Gambar 6.

Gambar 6. Daftar perintah

Tabel 2 berisi ringkasan perintah WinorDLL64, yang dimodifikasi, dan kategori lama mengacu pada hubungan ke fungsionalitas GhostSecret yang didokumentasikan sebelumnya. Kami hanya menyoroti perubahan signifikan dalam kategori yang dimodifikasi.

Tabel 2. Gambaran umum perintah pintu belakang

Kategori ID Perintah Fungsi Deskripsi Produk
New 0x03 Jalankan perintah PowerShell WinorDLL64 menginstruksikan juru bahasa PowerShell untuk menjalankan tidak terbatas dan membaca perintah dari input standar. Setelah itu, pintu belakang meneruskan perintah yang ditentukan ke juru bahasa dan mengirimkan hasilnya ke operator.
0x09 Kompres dan unduh direktori WinorDLL64 secara rekursif mengulangi direktori yang ditentukan. Konten setiap file dan direktori dikompresi secara terpisah dan ditulis ke file sementara yang kemudian dikirim ke operator dan kemudian dihapus dengan aman.
0x0D Putuskan sambungan sesi Memutus pengguna yang masuk tertentu dari sesi Layanan Desktop Jarak Jauh pengguna. Perintah juga dapat melakukan fungsi yang berbeda berdasarkan parameter.
0x0D Sesi daftar Memperoleh berbagai detail tentang semua sesi di perangkat korban dan mengirimkannya ke operator. Perintah juga dapat melakukan fungsi yang berbeda berdasarkan parameter.
0x0E Ukur waktu koneksi Menggunakan API Windows DapatkanTickCount untuk mengukur waktu yang diperlukan untuk terhubung ke host tertentu.
Diubah 0x01 Dapatkan info sistem Memperoleh detail lengkap tentang sistem korban dan mengirimkannya ke operator.
0x0A Hapus file dengan aman Menimpa file tertentu dengan blok data acak, mengganti nama setiap file menjadi nama acak, dan akhirnya menghapusnya satu per satu dengan aman.
0x0C Membunuh proses Hentikan semua proses yang namanya cocok dengan pola yang disediakan dan/atau dengan PID tertentu.
Tua 0x02/0x0B Buat sebuah proses Membuat proses baik sebagai pengguna saat ini atau yang ditentukan dan secara opsional mengirimkan hasilnya ke operator.
0x05 Atur/Dapatkan direktori saat ini Upaya untuk mengatur dan selanjutnya memperoleh jalur direktori kerja saat ini.
0x06 Daftar volume Iterasi melalui drive dari C: ke Z: dan memperoleh jenis drive dan nama volume. Perintah juga dapat melakukan fungsi yang berbeda berdasarkan parameter.
0x06 Daftar file dalam direktori Berulang di atas file dalam direktori yang ditentukan dan memperoleh informasi seperti nama, atribut, dll. Perintah juga dapat melakukan fungsi yang berbeda berdasarkan parameter.
0x07 Menulis ke file Mengunduh dan menambahkan jumlah data yang disebutkan ke file yang ditentukan.
0x08 Baca dari file File yang ditentukan dibaca dan dikirim ke operator.
0x0C Daftar proses Memperoleh detail tentang semua proses yang berjalan di perangkat korban dan juga mengirimkan ID dari proses saat ini.

Kesimpulan

Muatan Wslink didedikasikan untuk menyediakan sarana untuk manipulasi file, eksekusi kode lebih lanjut, dan memperoleh informasi ekstensif tentang sistem dasar yang mungkin dapat dimanfaatkan nanti untuk pergerakan lateral, karena minat khusus pada sesi jaringan. Pemuat Wslink mendengarkan pada port yang ditentukan dalam konfigurasi dan dapat melayani klien penghubung tambahan, dan bahkan memuat berbagai muatan.

WinorDLL64 berisi tumpang tindih dalam lingkungan pengembangan, perilaku, dan kode dengan beberapa sampel Lazarus, yang menunjukkan bahwa itu mungkin alat dari gudang senjata yang luas dari grup APT yang selaras dengan Korea Utara ini.

ESET Research menawarkan laporan intelijen APT pribadi dan umpan data. Untuk setiap pertanyaan tentang layanan ini, kunjungi Intelijen Ancaman ESET .

IoC

SHA-1 Nama deteksi ESET Deskripsi Produk
1BA443FDE984CEE85EBD4D4FA7EB1263A6F1257F Win64/Wslink.A Dump memori dari muatan Wslink WinorDll64 yang ditemukan.

Teknik ATT&CK MITER

Tabel ini dibuat menggunakan versi 12 dari kerangka kerja ATT&CK. Kami tidak menyebutkan teknik dari loader lagi, hanya payload.

Taktik ID Nama Deskripsi Produk
Pengembangan Sumber Daya T1587.001 Kembangkan Kemampuan: Malware WinorDLL64 adalah alat khusus.
Execution T1059.001 Penerjemah Perintah dan Skrip: PowerShell WinorDLL64 dapat menjalankan perintah PowerShell yang sewenang-wenang.
T1106 API asli WinorDLL64 dapat menjalankan proses lebih lanjut menggunakan Buat ProsesW dan BuatProcessAsUserW Lebah.
Penghindaran Pertahanan T1134.002 Manipulasi Token Akses: Buat proses dengan token WinorDLL64 dapat memanggil API WTSQueryUserToken dan BuatProcessAsUserW untuk membuat proses di bawah pengguna yang ditiru.
T1070.004 Penghapusan Indikator: Penghapusan File WinorDLL64 dapat dengan aman menghapus file sewenang-wenang.
penemuan T1087.001 Penemuan Akun: Akun Lokal WinorDLL64 dapat menghitung sesi dan daftar pengguna terkait, dan nama klien, di antara detail lainnya.
T1087.002 Penemuan Akun: Akun Domain WinorDLL64 dapat menghitung sesi dan mencantumkan nama domain terkait โ€“ di antara perincian lainnya.
T1083 Penemuan File dan Direktori WinorDLL64 dapat memperoleh daftar file dan direktori.
T1135 Penemuan Berbagi Jaringan WinorDLL64 dapat menemukan drive jaringan bersama.
T1057 Proses Penemuan WinorDLL64 dapat mengumpulkan informasi tentang proses yang sedang berjalan.
T1012 Registri Kueri WinorDLL64 dapat meminta registri Windows untuk mengumpulkan informasi sistem.
T1082 Penemuan Informasi Sistem WinorDLL64 dapat memperoleh informasi seperti nama komputer, OS dan versi paket layanan terbaru, arsitektur prosesor, nama prosesor, dan jumlah ruang pada drive tetap.
T1614 Penemuan Lokasi Sistem WinorDLL64 dapat memperoleh nama negara default korban menggunakan Dapatkan Info LokalW API.
T1614.001 Penemuan Lokasi Sistem: Penemuan Bahasa Sistem WinorDLL64 dapat memperoleh bahasa default korban menggunakan Dapatkan Info LokalW API.
T1016 Penemuan Konfigurasi Jaringan Sistem WinorDLL64 dapat menghitung informasi adaptor jaringan.
T1049 Penemuan Koneksi Jaringan Sistem WinorDLL64 dapat mengumpulkan daftar port yang mendengarkan.
T1033 Pemilik Sistem/Penemuan Pengguna WinorDLL64 dapat menghitung sesi dan mencantumkan nama pengguna, domain, dan klien terkait โ€“ di antara perincian lainnya.
Koleksi T1560.002 Arsip Data yang Dikumpulkan: Arsipkan melalui Perpustakaan WinorDLL64 dapat mengompres dan mengekstrak direktori menggunakan cepat Perpustakaan.
T1005 Data dari Sistem Lokal WinorDLL64 dapat mengumpulkan data di perangkat korban.
Dampak T1531 Penghapusan Akses Akun WinorDLL64 dapat memutuskan pengguna yang masuk dari sesi tertentu.

Stempel Waktu:

Lebih dari Kami Hidup Keamanan