Winnti: serangan terhadap rantai pasokan - Pengembang game Asia berada di garis depan

Ini bukan pertama kalinya para penyerang menyerang industri game, mengkompromikan pengembang, menambahkan backdoors ke lingkungan build game, dan kemudian mendistribusikan malware dengan kedok yang sah. Pada April 2013, Kaspersky Lab melaporkan kejadian serupa. Serangan ini dikaitkan dengan cybergroup bernama Winnti.

Baru-baru ini, para ahli ESET tertarik dengan serangan baru terhadap rantai pasokan. Dua game dan satu platform game dikompromikan untuk memperkenalkan backdoor. Serangan-serangan ini menargetkan Asia dan industri game, dengan Winnti lagi di belakang mereka.


Tiga kasus, satu pintu belakang


Meskipun konfigurasi malware berbeda, tiga produk perangkat lunak yang dikompromikan termasuk kode backdoor yang sama dan mulai menggunakan mekanisme yang sama. Sekarang tidak ada jalan belakang dalam dua produk, tetapi satu masih didistribusikan dalam versi trojanized - ironisnya, game ini disebut Infestation, yang dirilis oleh perusahaan Thailand Extreme Extreme. Kami telah mencoba menghubungi pengembang sejak awal Februari, tetapi sejauh ini tidak berhasil.

Kami akan menganalisis bagaimana muatan berbahaya diperkenalkan, dan kemudian mempertimbangkan pintu belakang secara detail.

Implementasi Muatan


Kode payload berjalan selama eksekusi executable trojanized. Segera setelah titik masuk PE, panggilan inisialisasi Runtime C standar ( __scrt_common_main_seh pada gambar di bawah) dicegat untuk meluncurkan muatan berbahaya sebelum hal lain (Gambar 2). Ini mungkin menunjukkan bahwa penyerang mengubah konfigurasi perakitan, dan bukan kode sumber itu sendiri.



Gambar 1. Net entry point ke file yang dapat dieksekusi



Gambar 2. Titik masuk dari executable yang dikompromikan

Kode ditambahkan ke dekripsi yang dapat dieksekusi dan meluncurkan pintu belakang dalam RAM sebelum melanjutkan eksekusi normal dari kode inisialisasi C Runtime dan kode aplikasi host berikutnya. Payload bawaan memiliki struktur khusus, yang ditunjukkan pada gambar di bawah ini, yang ditafsirkan oleh kode dekompresi yang ditambahkan.



Gambar 3. Struktur payload tertanam

Ini berisi kunci RC4 (XOR terenkripsi dengan 0x37), yang digunakan untuk mendekripsi nama file dan file DLL tertanam.

Muatan Berbahaya


Muatan berbahaya yang sebenarnya hanya berisi 17 KB kode dan data.

Konfigurasi


Data konfigurasi yang ditunjukkan pada gambar di bawah ini adalah daftar garis yang dipisahkan oleh spasi.



Gambar 4. Data konfigurasi payload

Konfigurasi terdiri dari empat bidang:

  1. URL dari server C&C yang mengelola.
  2. Variabel (t) yang digunakan untuk menentukan batas waktu dalam milidetik sebelum melanjutkan. Waktu tunggu dipilih dalam kisaran dari 2/3 hingga 5/3 t secara acak.
  3. Baris mengidentifikasi kampanye.
  4. Daftar nama file yang dapat dieksekusi, dipisahkan oleh tanda titik koma. Jika salah satu dari mereka berfungsi, pintu belakang menghentikan eksekusi.

Kami telah mengidentifikasi lima versi muatan:



Dalam tiga opsi pertama, kode tidak dikompilasi ulang, tetapi data konfigurasi diedit dalam file DLL itu sendiri. Sisa konten adalah salinan byte.

Infrastruktur K&C


Nama domain dipilih sedemikian rupa sehingga menyerupai situs pengembang aplikasi yang disusupi. Domain tingkat atas dikonfigurasikan untuk mengalihkan ke situs resmi yang sesuai menggunakan layanan Namecheap, sementara subdomain menunjukkan server C&C berbahaya.



Pada saat penulisan ini, tidak ada domain yang tersedia, C & C-server tidak merespons.

Laporan studi


ID bot dihasilkan dari alamat MAC mesin. Backdoor mentransmisikan informasi mesin ke server C&C, termasuk nama pengguna, nama komputer, versi Windows dan bahasa sistem, dan kemudian menunggu perintah. Data dienkripsi dengan XOR menggunakan kunci " *&b0i0rong2Y7un1 " dan dikodekan dengan base64. Data yang diterima dari server C&C dienkripsi menggunakan kunci yang sama.

Tim


Backdoor sederhana hanya mendukung empat tim yang dapat digunakan oleh penyerang:

- DownUrlFile
- DownRunUrlFile
- RunUrlBinInMem
- UnInstall

Nama-nama tim berbicara sendiri. Mereka memungkinkan penyerang untuk menjalankan executable tambahan dari URL yang diberikan.

Mungkin perintah terakhir kurang jelas. UnInstall tidak menghapus malware dari sistem. Pada akhirnya, itu tertanam dalam file yang dapat dieksekusi yang sah yang masih akan berjalan. Alih-alih menghapus sesuatu, perintah menonaktifkan kode jahat dengan menetapkan nilai ke 1 untuk kunci registri:

HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\ImageFlag

Setelah memulai payload, nilai dari registri diminta dan, jika ditentukan, eksekusi dibatalkan. Mungkin penyerang berusaha mengurangi beban di server C&C mereka dengan menghindari panggilan balik dari korban yang tidak tertarik.

Tahap kedua


Menurut telemetri, salah satu muatan tahap kedua yang dikirim kepada korban adalah Win64 / Winnti.BN. Sejauh yang kami tahu, dropper malware ini diunduh melalui api.goallbandungtravel[.]com dari api.goallbandungtravel[.]com . Kami melihat bahwa itu diinstal sebagai layanan Windows dan sebagai DLL di C:\Windows\System32 menggunakan nama file berikut:

- cscsrv.dll
- dwmsvc.dll
- iassrv.dll
- mprsvc.dll
- nlasrv.dll
- powfsvc.dll
- racsvc.dll
- slcsvc.dll
- snmpsvc.dll
- sspisvc.dll

Sampel yang kami analisis cukup besar - sekitar 60 MB. Namun, ini hanya visibilitas, karena ukuran aktual atau file PE adalah 63 hingga 72 KB, tergantung pada versinya. Banyak yang bersih hanya ditambahkan ke file berbahaya. Ini kemungkinan dilakukan oleh komponen yang me-reset dan menginstal layanan jahat.

Setelah memulai layanan, ia menambahkan ekstensi .mui ke .mui DLL dan mendekripsi menggunakan RC5. File MUI yang didekripsi berisi kode posisi-independen dengan offset 0. Kunci RC5 diperoleh dari nomor seri hard disk dan baris β€œ f@Ukd!rCto R$. " Kami tidak bisa mendapatkan file MUI atau kode yang menginstalnya terlebih dahulu. Dengan demikian, tujuan pasti dari layanan jahat tidak diketahui oleh kami.

Versi malware terbaru mencakup mekanisme pembaruan otomatis menggunakan server C&C http://checkin.travelsanignacio[.]com . Server ini menyajikan versi terbaru dari file MUI yang dienkripsi dengan kunci statis RC5. Dalam penelitian kami, server C&C ini tidak merespons.

Tujuan


Mari kita mulai dengan mereka yang kampanye tidak ditargetkan secara spesifik. Di awal payload, malware memeriksa apakah bahasa sistemnya adalah Rusia atau Cina (lihat gambar di bawah). Jika jawabannya ya, program berhenti bekerja. Tidak mungkin untuk mengatasi pengecualian ini - penyerang secara fundamental tidak tertarik pada komputer dengan pengaturan bahasa ini.



Gambar 5. Memeriksa bahasa sebelum meluncurkan payload

Statistik distribusi


Menurut telemetri, sebagian besar infeksi terjadi di Asia, terutama Thailand. Mengingat popularitas aplikasi yang dikompromikan, yang masih didistribusikan oleh pengembang, tidak mengherankan jika jumlah korban mencapai puluhan dan ratusan ribu.



Kesimpulan


Serangan rantai pasokan sulit dideteksi di sisi pengguna. Tidak mungkin menganalisis semua perangkat lunak yang berjalan, serta semua pembaruan yang disarankan. Secara default, pengguna mempercayai pengembang dan menganggap bahwa file mereka tidak mengandung kode berbahaya. Ini mungkin mengapa beberapa cybergroup menargetkan serangan terhadap vendor perangkat lunak - kompromi akan memungkinkan pembuatan botnet, yang ukurannya sebanding dengan popularitas perangkat lunak trojan. Taktik ini memiliki kelemahan - ketika skema terungkap, penyerang akan kehilangan kendali atas botnet, dan pengguna akan dapat membersihkan sistem dengan menginstal pembaruan berikutnya.

Motif dari cybergroup Winnti saat ini tidak diketahui. Mungkin penyerang mencari keuntungan finansial atau berencana menggunakan botnet sebagai bagian dari operasi yang lebih besar.

Produk ESET mendeteksi ancaman sebagai Win32 / HackedApp.Winnti.A, Win32 / HackedApp.Winnti.B, payload sebagai Win32 / Winnti.AG, tahap kedua sebagai Win64 / Winnti.BN.

Indikator kompromi tersedia di sini .

Source: https://habr.com/ru/post/id443416/


All Articles