Duqu adalah matryoshka yang berbahaya

pengenalan

Pada tanggal 1 September 2011, file bernama ~DN1.tmp dikirim ke situs web VirusTotal dari Hungaria. Saat itu, file tersebut terdeteksi sebagai berbahaya hanya oleh dua mesin antivirus - BitDefender dan AVIRA. Beginilah kisah Duqu dimulai. Ke depan, harus dikatakan bahwa keluarga malware Duqu dinamai menurut file ini. Namun, file ini adalah modul mata-mata yang sepenuhnya independen dengan fungsi keylogger, mungkin diinstal dengan bantuan pengunduh dropper berbahaya, dan hanya dapat dianggap sebagai "muatan" yang diunduh oleh malware Duqu selama operasinya, tetapi bukan bagian integral bagian (modul) dari Duqu . Salah satu komponen Duqu dikirim ke layanan Virustotal hanya pada 9 September. Fitur yang membedakannya adalah driver yang ditandatangani dengan tanda tangan digital dari C-Media. Beberapa ahli segera mulai menggambar analogi dengan contoh malware terkenal lainnya - Stuxnet, yang juga menggunakan driver bertanda tangan. Jumlah total komputer yang terinfeksi Duqu, terdeteksi oleh berbagai perusahaan antivirus di seluruh dunia, mencapai puluhan. Banyak perusahaan mengklaim bahwa Iran kembali menjadi target utama, tetapi dilihat dari geografi distribusi infeksi, hal ini tidak dapat dikatakan pasti.
Duqu adalah matryoshka yang berbahaya
Dalam hal ini, seseorang harus dengan percaya diri berbicara hanya tentang perusahaan lain dengan kata bermodel baru APT (ancaman persisten tingkat lanjut).

Prosedur implementasi dalam sistem

Investigasi yang dilakukan oleh spesialis dari organisasi Hongaria CrySyS (Laboratorium Kriptografi dan Keamanan Sistem Hungaria dari Universitas Teknologi dan Ekonomi Budapest) mengarah pada penemuan penginstal (penetes) yang melaluinya sistem terinfeksi. Itu adalah file Microsoft Word dengan exploit untuk kerentanan driver win32k.sys (MS11-087, dijelaskan oleh Microsoft pada 13 November 2011), yang bertanggung jawab untuk merender font TTF. Shellcode eksploitasi menggunakan font yang disematkan ke dalam dokumen yang disebut 'Dexter Regular', dan Showtime Inc. dikreditkan sebagai pembuat font tersebut. Seperti yang Anda lihat, pencipta Duqu tidak asing dengan selera humor: Dexter adalah pembunuh berantai, pahlawan serial televisi dengan nama yang sama, difilmkan oleh Showtime. Dexter hanya membunuh (jika memungkinkan) penjahat, yaitu melanggar hukum atas nama hukum. Mungkin dengan cara ini, ironisnya para pengembang Duqu terlibat dalam kegiatan ilegal untuk tujuan yang baik. Pengiriman surat melalui email dilakukan dengan sengaja. Untuk pengiriman, kemungkinan besar, komputer yang disusupi (diretas) digunakan sebagai perantara untuk mempersulit pelacakan.
Dokumen Word dengan demikian berisi komponen-komponen berikut:

  • konten teks;
  • font tertanam;
  • mengeksploitasi kode sutra;
  • pengemudi;
  • pemasang (DLL).

Jika eksekusi berhasil, kode shell eksploit melakukan operasi berikut (dalam mode kernel):

  • pemeriksaan infeksi ulang dilakukan, untuk ini, keberadaan kunci 'CF4D' diperiksa di registri di 'HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionInternet SettingsZones1', jika benar, kode shell menyelesaikan eksekusinya;
  • dua file didekripsi - driver (sys) dan installer (dll);
  • driver disuntikkan ke dalam proses services.exe dan meluncurkan penginstal;
  • pada akhirnya, kode shell menghapus dirinya sendiri dengan angka nol di memori.

Dengan menjalankan win32k.sys sebagai 'Sistem' pengguna root, pengembang Duqu dengan elegan memecahkan masalah peluncuran dan elevasi yang tidak sah (berjalan di bawah akun pengguna dengan hak istimewa terbatas).
Penginstal, setelah menerima kontrol, mendekripsi tiga blok data di memori yang berisi:

  • driver yang ditandatangani (sys);
  • modul utama (dll);
  • data konfigurasi penginstal (pnf).

Dalam data konfigurasi penginstal, rentang tanggal ditentukan (dalam bentuk dua stempel waktu - awal dan akhir). Pemasang memeriksa apakah tanggal saat ini termasuk di dalamnya, jika tidak, itu menyelesaikan pelaksanaannya. Juga, dalam data konfigurasi penginstal, nama tempat penyimpanan driver dan modul utama ditunjukkan. Dalam hal ini, modul utama disimpan di disk dalam bentuk terenkripsi.

Duqu adalah matryoshka yang berbahaya

Untuk memulai otomatis Duqu, dibuat layanan yang menggunakan file driver yang mendekripsi modul utama dengan cepat, menggunakan kunci yang disimpan di registri. Modul utama berisi blok data konfigurasinya sendiri. Pada permulaan pertama, itu didekripsi, tanggal instalasi dimasukkan ke dalamnya, setelah itu dienkripsi lagi dan disimpan oleh modul utama. Jadi, dalam sistem yang terpengaruh, selama penginstalan yang berhasil, tiga file disimpan - driver, modul utama, dan file data konfigurasinya, sedangkan dua file terakhir disimpan di disk dalam bentuk terenkripsi. Semua prosedur dekripsi dilakukan hanya di memori. Prosedur penginstalan yang rumit ini digunakan untuk meminimalkan kemungkinan deteksi oleh perangkat lunak antivirus.

Modul utama

Modul utama (sumber daya 302), oleh informasi oleh Kaspersky Lab, ditulis menggunakan MSVC 2008 dalam bahasa C murni, tetapi menggunakan pendekatan berorientasi objek. Pendekatan ini tidak seperti biasanya saat mengembangkan kode berbahaya. Sebagai aturan, kode tersebut ditulis dalam C untuk mengurangi ukuran dan menghilangkan panggilan implisit yang melekat pada C ++. Ada juga simbiosis di sini. Plus, arsitektur berorientasi acara digunakan. Karyawan Kaspersky Lab cenderung pada teori bahwa modul utama ditulis menggunakan add-on pra-prosesor yang memungkinkan Anda menulis kode dalam C dalam gaya objek.
Modul utama bertanggung jawab atas prosedur untuk menerima perintah dari operator. Duqu menyediakan beberapa cara untuk berinteraksi: menggunakan protokol HTTP dan HTTPS, serta menggunakan pipa bernama (pipe). Untuk HTTP(S), nama domain dari pusat perintah ditentukan, meskipun dimungkinkan untuk bekerja melalui server proxy - mereka diberi nama pengguna dan kata sandi. Saluran diberi alamat IP dan nama saluran. Data yang ditentukan disimpan dalam blok data konfigurasi modul utama (terenkripsi).
Untuk menggunakan pipa bernama, implementasi khusus dari server RPC diluncurkan. Ini mendukung tujuh fungsi berikut:

  • kembalikan versi yang diinstal;
  • menyuntikkan dll ke dalam proses yang ditentukan dan memanggil fungsi yang ditentukan;
  • memuat dll;
  • luncurkan proses dengan memanggil CreateProcess();
  • membaca isi file yang ditentukan;
  • tulis data ke file yang ditentukan;
  • menghapus file yang diberikan.

Pipa bernama dapat digunakan dalam jaringan lokal untuk mendistribusikan modul yang diperbarui dan data konfigurasi antara komputer yang terinfeksi Duqu. Selain itu, Duqu dapat bertindak sebagai server proxy untuk komputer lain yang terinfeksi (yang tidak memiliki akses ke Internet karena pengaturan firewall di gateway). Beberapa versi Duqu tidak memiliki fungsionalitas RPC.

Dikenal "muatan"

Symantec telah mengidentifikasi setidaknya empat "muatan" yang dimuat sesuai perintah dari pusat kendali Duqu.
Namun, hanya satu yang residen dan dikompilasi sebagai file yang dapat dieksekusi (exe), yang disimpan ke disk. Tiga sisanya diimplementasikan sebagai perpustakaan dll. Mereka dimuat secara dinamis dan dieksekusi di memori tanpa disimpan ke disk.

"Muatan" penduduk adalah modul mata-mata (pencuri info) dengan fungsi keylogger. Dengan mengirimkannya ke VirusTotal, pekerjaan penelitian Duqu dimulai. Fungsi mata-mata utama ada di sumber daya, 8 kilobyte pertama berisi bagian dari foto galaksi NGC 6745 (untuk penyamaran). Perlu diingat di sini bahwa pada bulan April 2012, beberapa media menerbitkan informasi (http://www.mehrnews.com/en/newsdetail.aspx?NewsID=1297506) bahwa Iran terkena sejenis malware Stars, sedangkan detailnya kejadian itu tidak diungkapkan. Ada kemungkinan bahwa sampel "muatan" Duqu seperti itu ditemukan di Iran, oleh karena itu dinamai "Bintang" (bintang).
Modul mata-mata mengumpulkan informasi berikut:

  • daftar proses yang berjalan, informasi tentang pengguna dan domain saat ini;
  • daftar drive logis, termasuk drive jaringan;
  • tangkapan layar;
  • alamat antarmuka jaringan, tabel perutean;
  • file log penekanan tombol keyboard;
  • nama jendela aplikasi yang terbuka;
  • daftar sumber daya jaringan yang tersedia (berbagi sumber daya);
  • daftar lengkap file di semua drive, termasuk yang dapat dilepas;
  • daftar komputer di "lingkungan jaringan".

Modul mata-mata lainnya (pencuri info) adalah variasi dari yang sudah dijelaskan, tetapi dikompilasi sebagai pustaka dll, fungsi keylogger, menyusun daftar file, dan menghitung komputer yang termasuk dalam domain telah dihapus darinya.
Modul selanjutnya (pengintaian) mengumpulkan informasi sistem:

  • apakah komputer merupakan bagian dari domain;
  • jalur ke direktori sistem Windows;
  • versi sistem operasi;
  • nama pengguna saat ini;
  • daftar adapter jaringan;
  • sistem dan waktu lokal, serta zona waktu.

Modul terakhir (pembesar umur) mengimplementasikan fungsi untuk meningkatkan nilai (disimpan dalam file data konfigurasi modul utama) dari jumlah hari yang tersisa hingga akhir pekerjaan. Secara default, nilai ini ditetapkan ke 30 atau 36 hari tergantung pada modifikasi Duqu, dan berkurang satu setiap hari.

pusat komando

Pada 20 Oktober 2011 (tiga hari setelah penemuan diumumkan), operator Duqu melakukan prosedur untuk menghilangkan jejak pengoperasian pusat komando. Pusat komando diselenggarakan di server yang diretas di seluruh dunia - di Vietnam, India, Jerman, Singapura, Swiss, Inggris Raya, Belanda, Korea Selatan. Menariknya, semua server yang teridentifikasi menjalankan CentOS versi 5.2, 5.4, atau 5.5. OS keduanya 32-bit dan 64-bit. Terlepas dari kenyataan bahwa semua file yang terkait dengan pengoperasian pusat komando telah dihapus, spesialis Kaspersky Lab berhasil memulihkan beberapa informasi dalam file LOG dari ruang kosong. Fakta yang paling menarik adalah penyerang di server selalu mengganti paket default OpenSSH 4.3 dengan versi 5.8. Ini mungkin menunjukkan bahwa kerentanan yang tidak diketahui di OpenSSH 4.3 digunakan untuk meretas server. Tidak semua sistem digunakan sebagai pusat komando. Beberapa, dilihat dari kesalahan pada log sshd saat mencoba mengalihkan lalu lintas untuk port 80 dan 443, digunakan sebagai server proxy untuk terhubung ke pusat komando terakhir.

Tanggal dan modul

Dokumen Word yang didistribusikan pada April 2011, yang diperiksa oleh Kaspersky Lab, berisi pengandar unduhan penginstal dengan tanggal kompilasi 31 Agustus 2007. Driver serupa (ukuran - 20608 byte, MD5 - EEDCA45BD613E0D9A9E5C69122007F17) dalam dokumen yang masuk ke laboratorium CrySys memiliki tanggal kompilasi 21 Februari 2008. Selain itu, pakar Kaspersky Lab menemukan driver autorun rndismpc.sys (ukuran - 19968 byte, MD5 - 9AEC6E10C5EE9C05BED93221544C783E) tertanggal 20 Januari 2008. Tidak ada komponen bertanda 2009 yang ditemukan. Berdasarkan stempel waktu kompilasi dari masing-masing bagian Duqu, perkembangannya dapat dimulai pada awal 2007. Manifestasi paling awal dikaitkan dengan deteksi file sementara dalam bentuk ~DO (mungkin dibuat oleh salah satu spyware), tanggal pembuatannya adalah 28 November 2008 (artikel "Duqu & Stuxnet: Garis Waktu Acara Menarik"). Tanggal terbaru yang terkait dengan Duqu adalah 23 Februari 2012, terdapat dalam driver unduhan penginstal yang ditemukan oleh Symantec pada Maret 2012.

Sumber informasi yang digunakan:

serangkaian artikel tentang Duqu dari Kaspersky Lab;
Laporan Analis Symantec "W32.Duqu Pendahulu Stuxnet selanjutnya", versi 1.4, November 2011 (pdf).

Sumber: www.habr.com

Tambah komentar