Sebuah malware menggunakan banyak teknik non tradisional dan untuk dapat bertahan lama di dalam perangkat yang disusupi malware ini mencoba bertahan dengan mendaftarkan port monitor baru, teknik yang disebut teknik Port Monitor di knowledgebase MITRE ATT&CK. Untuk itu, malware menggunakan nama “Windows Default Print Monitor”; yang kemudian ESET menamainya dengan DePriMon. Karena kompleksitas dan arsitektur modularnya, ESET menganggapnya sebagai framework.
Menurut telemetri kami, DePriMon telah aktif sejak setidaknya Maret 2017. DePriMon terdeteksi di perusahaan swasta Eropa dan Asia Barat. Beberapa nama domain yang digunakan sebagai server C&C berisi kata-kata Arab, yang memberikan indikasi kampanye khusus kawasan tersebut. Namun, DePriMon patut mendapat perhatian di luar distribusi geografis targetnya, yaitu bahwa malware ini ditulis dengan cermat, dengan banyak enkripsi yang digunakan dengan benar.
Untuk membantu pengguna agar tetap aman dari ancaman ini, ESET telah menganalisis secara menyeluruh malware yang baru ditemukan ini, dengan fokus pada pengunduh itu sendiri. Sebagai catatan, dalam beberapa kasus, DePriMon terdeteksi dengan malware ColoredLambert pada komputer yang sama dalam jangka waktu yang singkat. ColoredLambert digunakan oleh kelompok cyberespionage Lamberts (alias Longhorn) dan terhubung dengan kebocoran Vault 7.
Konfigurasi
Data konfigurasi untuk tahap ketiga DePriMon memiliki 27 anggota, yang merupakan jumlah besar untuk pengunduh. yang dienkripsi dengan AES-256 dan tertanam dalam biner.
Selama proses pertama, tahap ketiga DePriMon (pengunduh sendiri) mendekripsi data konfigurasi dengan Key 2 (lihat bagian IoCs), mengenkripsi data tersebut dengan Key 3 dan menyimpan file konfigurasi terenkripsi dalam folder sementara. Nama file untuk file konfigurasi dibuat melalui proses berikut: Dimulai dengan byte kedua, nilai Key 2 ditransformasikan menjadi angka dalam basis 36 tetapi dikodekan menggunakan alfabet khusus “abc … xyz012 … 789”. Ekstensi file konfigurasi adalah “.tmp”.
Selama menjalankan kedua, pengunduh membaca data konfigurasi dari file, bukan dari dirinya sendiri – dengan cara ini, penyerang dapat dengan mudah memperbarui konfigurasi.
Berkat desainnya yang aman, konfigurasi tidak tertinggal di memori dalam bentuk yang tidak dienkripsi. Setiap kali pengunduh perlu menggunakan beberapa elemen dari file konfigurasi, ia mendekripsi file konfigurasi, mengambil anggota dan mengenkripsi file lagi. Desain ini melindungi fungsi utama malware, komunikasi C&C terhadap forensik memori.
Yang menarik dalam file konfigurasi adalah:
-
Dua entri untuk nama pengguna dan dua anggota untuk kata sandi, untuk server proxy jika diatur pada mesin. Ini berarti pelaku sedang bersiap untuk melanjutkan serangan mereka melalui proxy dengan kredensial. Namun, ESET belum melihat fungsionalitas untuk mencuri detail ini, sehingga tampaknya itu dilakukan pada fase lain dari serangan.
-
Tiga entri untuk tiga server C&C, masing-masing digunakan pada kesempatan berbeda.
-
Tiga entri untuk tiga port, masing-masing digunakan pada kesempatan berbeda.
-
Tanda yang menunjukkan apakah pengunduh menginisialisasi koneksi melalui Security Support Provider Interface (SSPI) dengan kemungkinan proxy atau hanya dengan soket.
-
Perlu dicatat bahwa selain server C&C yang diekstraksi dari sampel malware, ESET mengidentifikasi domain dan server tambahan yang kemungkinan terkait dengan malware ini.
Enkripsi
Malware menggunakan algoritma enkripsi AES dengan tiga kunci 256-bit yang berbeda untuk tujuan yang berbeda (kunci-kunci ini terdaftar di bagian IoCs).
-
Kunci 1: Untuk mendekripsi berbagai string sensitif dalam malware.
-
Kunci 2: Untuk enkripsi dan dekripsi data konfigurasi dalam memori. Kunci ini juga digunakan untuk menghasilkan kunci ketiga.
-
Kunci 3: Untuk enkripsi dan dekripsi file konfigurasi pada disk.
Kunci ini bukan hardcoded tetapi diturunkan menggunakan array 32 byte yang kemudian dienkripsi. Array dihasilkan sebagai berikut: 4 byte pertama adalah nomor seri volume drive sistem, dan 28 byte sisanya berisi nilai 5 – 32. Array ini dienkripsi dengan Kunci 2, menghasilkan Kunci 3.
Catatan penting
DePriMon adalah pengunduh tingkat lanjut yang luar biasa yang para pengembangnya berupaya keras untuk mengatur arsitekturnya dan membuat komponen-komponen penting.
DePriMon diunduh ke memori dan dieksekusi langsung dari sana sebagai DLL menggunakan teknik pemuatan DLL reflektif. Tidak pernah disimpan di disk. Ia memiliki file konfigurasi yang sangat luas dengan beberapa elemen menarik, enkripsi yang diimplementasikan dengan benar dan melindungi komunikasi C&C secara efektif.
Akibatnya, DePriMon adalah alat yang kuat, fleksibel, dan gigih yang dirancang untuk mengunduh muatan dan menjalankannya, dan untuk mengumpulkan beberapa informasi dasar tentang sistem dan penggunanya di sepanjang jalan.