Tampilkan postingan dengan label Malware Alerts. Tampilkan semua postingan
Tampilkan postingan dengan label Malware Alerts. Tampilkan semua postingan

Senin, 06 Agustus 2012

Malware bersertifikat menyamar sebagai file DOC


Memang bukan hal baru sebuah malware menggunakan sertifikat resmi. Kali ini saya menemukan sebuah file executable dengan icon mirip file Microsoft Word. Tadinya diduga ini hanyalah sebuah worm yang umum yang banyak ditemui yang menyaru atau menyamar sebagai file DOC. Namun ternyata setelah ditelusuri lebih lanjut file tersebut dalam keadaan bertandatangan (signed).

Dari file properties terlihat file tersebut ditanda-tangani menggunakan sertifikat yang dikeluarkan untuk sebuah perusahaan di Korea.

file certificate

Berdasarkan histori dari Virus Total, file ini sudah empat kali di upload dan kesemuanya berasal dari Korea dengan nama “MyInfo.doc.exe” dan "C$$DOCUME~1$ROOTAD~1$LOCALS~1$Temp$~00C.tmp_X".


File tersebut ditanda-tangani pada tanggal 11 Juni 2012 22:05:20, informasi dari file header pun mengatakan ia dibuat pada tanggal yang sama 11 Juni 2012 14:54:54, kurang lebih dua bulan yang lalu. Memang informasi dari file header belum tentu akurat karena bisa dengan mudah dipalsukan.

The DOC File 


File tersebut dibuat menggunakan Microsoft Visual C++ dan tidak di-pack. Ia memiliki 4 sections, dan pada section .data terlihat sebuah magic number yang familiar – 0xD0CF11E0 atau juga dikenal dengan "docfile".


docfile - 0xD0CF11E0


Saat malware tersebut dieksekusi ia akan meng-extract file DOC tersebut dengan nama MyInfo.doc (sesuai dengan nama awal) pada direktori yang sama dan membuka file dokumen itu. Pada Microsoft Word terlihat dokumen tersebut merupakan sebuah resume atau curriculum vitae seseorang.

resume / curriculum vitae

File Components



Selain meng-extract file .doc, MyInfo.doc.exe juga akan men-drop dua file lainnya pada direktori khusus yakni "C:\tmp".  Berikut adalah daftar file selengkapnya:


malware file components

File DaumCleans.exe di-extract dari dalam tubuh MyInfo.doc.exe yang terdapat pada section .data dan dalam kondisi ter-encrypt menggunakan enkripsi berbasis xor dan subtitusi.

encrypt-decrypt routine

Menariknya, sama seperti halnya pada dropper, file ini juga ditandatangani, dan menggunakan sertifikat yang diperuntukan untuk perusahaan yang berbeda, yang setelah ditelusuri juga mengarah kepada sebuah perusahaan di  Korea yang ditanda-tangani pada 27 ‎April ‎2012 12:33:05, sementara dari file header terlihat bahwa file tersebut kemungkinan dibuat pada tanggal 06 March 2012 11:20:28.

file certificate / digital signature

Sementara untuk file kernel.dll memang merupakan file DLL namun dalam keadaan ter-enkripsi. File ini akan dibahas selanjutnya.

Executions


Saat dropper berhasil dijalankan dan berhasil meng-extract beberapa file dari dalam dirinya, ia akan menghapus dirinya sendiri dengan berpindah ke direktori temp mengunakan nama temporary lalu kemudian kembali memanggil perintah MoveFileEx dengan menggunakan flag MOVEFILE_DELAY_UNTIL_REBOOT. Setelah itu file pertama yang berhasil di-drop, DaumCleans.exe, akan dieksekusi.


DaumCleans.exe saat dijalankan akan membuat sebuah mutex yakni "mark02" sebagai penanda kehadirannya. Setelah itu akan membuat autorun dengan membuat entri baru di Registry dengan nama "WarHead" pada key:


HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run\

Contacting Server


Saat DaumCleans.exe dieksekusi ia akan menghubungi beberapa C&C server menggunakan port 80 dan mencari mana yang aktif, diantaranya adalah:
  • war.winxps.com 
  • war.webok.net 
  • war.eatuo.com
Ketiga host tersebut berada pada IP yang sama: 61.111.3.45.

contacting c&c server

Perintah API Windows send and recv digunakan untuk berkomunikasi dengan server. Pertama ia akan mengirimkan pesan "Password:". Jika ia berhasil terkoneksi dan server mengirimkan password yang diminta, maka password atau key tersebut akan disimpan untuk kemudian digunakan nantinya untuk men-decrypt file kernel.dll.

exported functions kernel.dll

Kernel.dll Decryption



Saat artikel ini ditulis, malware tidak dapat berkomunikasi dengan server tersebut sehingga tidak ada data yang berhasil kami dapatkan. Berikut ini adalah algoritma yang digunakan malware tersebut untuk men-decrypt file kernel.dll:

kernel.dll decryption routine

Dengan menggunakan bahasa tingkat tinggi, kita bisa menuliskannya seperti ini:

Buffer[i] := AnsiChar(((((Ord(Buffer[i]) xor Ord(Key[1])) - Ord(Key[2])) xor Ord(Key[3])) + Ord(Key[4])) xor KeyLength);

Seperti yang terlihat pada rutin di atas, untuk men-decrypt file kernel.dll, rutin tersebut paling tidak membutuhkan password sepanjang 4 karakter, walaupun bisa saja password aslinya lebih dari 4 karakter.

Untuk itu yang bisa kita lakukan sekarang adalah dengan melakukan brute-force untuk mendapatkan kunci yang tepat, paling tidak untuk mendapatkan 4 karakter pertama. Sementara untuk panjang key kita bisa mencoba segala kemungkinan, misalkan mulai dari 4 hingga 10.

Berikut ini tampilan file kernel.dll dalam kondisi ter-encrypt:




Untuk melakukan brute-force kita juga harus mengetahui kondisi tertentu karena jika tidak program brute-force kita tidak akan pernah berhenti. Kondisi tersebut dalam hal ini adalah string khusus yang kemungkinan besar terdapat pada file tersebut, contoh yang paling dikenal dan paling sering digunakan adalah "MZ", dan DOS string "This program cannot be run in DOS mode". Agar lebih akurat kita juga menambahkan string condition lainnya yakni "KERNEL32.DLL" atau "WS2_32.DLL" yang kemungkinan besar terdapat pada file tersebut.

kernel.dll decryptor

Tidak beselang lama setelah brute-force dijalankan, maka didapatlah kunci yang cocok, yakni: "game" dengan panjang key yang benar adalah 8. Dengan kata lain, password yang benar yang ia gunakan adalah sepanjang 8 karakter dengan 4 karakter pertama adalah "game". Mungkinkah maksudnya adalah "gameover"?  

Berikut ini adalah tampilan file kernel.dll setelah di-decrypt:

kernel.dll decrypted

kernel.dll decrypted

3 Certificates From 3 Different Companies

 

Setelah file kernel.dll berhasil di-decrypt ternyata diketahui bahwa file tersebut juga ditandatangani. Sertifikat yang digunakan pun berbeda dengan dua file sebelumnya, yang ditanda-tangani pada tanggal 06 Maret 2012 18:18:26 sementara pada file header menunjukan file tersebut dibuat pada tanggal 11 Maret 2012 11:12:13. Sedikit kecurigaan muncul apakah tanggal dan waktu tersebut telah dimodifikasi atau hanya kebetulan, karena waktu compile sangat berurutan, jam 11 menit 12 detik 13.

Terlepas dari hal itu jadi total total sertifikat yang ia gunakan adalah 3 dari perusahaan yang berbeda – beda. Namun, tidak seperti pada kedua file executable sebelumnya yang status sertifikatnya masih dalam keadaan valid, pada file kernel.dll sertifikatnya telah di-revoke sehingga sudah tidak valid lagi.

file certificate / digital signature

Kembali pada file DaumCleans.exe, saat ia mendapatkan kunci yang cocok dan file kernel.dll berhasil di-decrypt, maka DaumCleans.exe akan me-load file tersebut dan mencoba mendapatkan alamat API dari beberapa exported function, diantaranya adalah:
  • StartShell
  • ClearFile
  • g_iiskill

Selanjutnya fungsi pertama yang akan dipanggil adalah StartShell yang bertugas sebagai backdoor. Fungsi StartShell pertama akan menjalankan ipconfig dengan parameter "ipconfig /all". Data hasil tangkapan ini selanjutnya dikirim kembali ke C&C server.

Dengan dikirimkannya hasil output dari perintah ipconfig tadi, maka kini attacker dapat mengetahui IP yang digunakan pada komputer korban, termasuk gateway, DNS server, MAC address, dan mungkin dapat memperkirakan struktur jaringan, dan lain – lain.

Setelah backdoor pada komputer korban tercipta, attacker kini selanjutnya dapat leluasa mengirimkan perintah kepada komputer. Perintah – perintah tersebut memiliki format sebagai berikut:

backdoor command

Sama seperti halnya pada saat ia memanggil perintah "ipconfig", setiap perintah yang dijalankan akan ditangkap dan disimpan pada buffer untuk kemudian dapat dikirim kembali ke server. Untuk itu saat ia mendapatkan perintah "iiscmd", ia akan memanggil CreateProcess dengan sebelumnya sebuah anonymous pipe telah dibuat menggunakan CreatePipe yang dipersiapkan untuk meng-capture hasil dari standard output.

 

Suicide


Jika ternyata attacker tidak menginginkan malware nya menginfeksi korban atau ia punya alasan lainnya, ia dapat menghentikannya dengan mengirimkan perintah "iiskill". Dengan begitu malware tersebut akan melakukan bunuh diri dengan menghapus key run yang telah dibuat di registry dan menghapus dirinya sendiri dari system. Selain itu pada rutin bunuh diri juga terlihat ia mencari file dengan nama tran.exe di direktori yang sama, C:\tmp, apabila ditemukan maka file tersebut juga akan akan dihapus.

 

Propagation


Ada satu hal yang hingga sampai saat ini saya belum yakin, yaitu dari mana dan bagaimana malware tersebut menyebar. Namun dari hasil pencarian saya menemukan dokumen ASEC Report milik Ahnlab (halaman: 14) yang pada salah satu artikelnya yang berjudul "A file-stealing malicious code distributed via email" terdapat analisa malware yang memiliki kemiripan dengan malware ini, mulai dari nama file hingga nama registry key yang dibuat yang saya duga merupakan varian awal dari malware tersebut.

Dalam laporan dituliskan bahwa malware tersebut menyebar melalui email dengan perantara link berbahaya yang disertakan pada email. Jika link berbahaya tersebut di-klik, maka pengguna akan dibawa ke situs yang telah terpasang Java exploit, untuk kemudian men-download file berbahaya ke komputer korban dan menginfeksinya.

Kamis, 23 Juni 2011

Virus Penyerang Instalasi Nuklir di Indonesia

VIVAnews - Beberapa waktu lalu dilaporkan bahwa worm Stuxnet menyerang Heysham Power Station,  sebuah pembangkit tenaga nuklir di Inggris. Satu dari dua reaktor Heysham 1 dimiliki oleh perusahaan Energi dari Perancis, EDF. Namun, seperti yang dikutip dari TheRegister, juru bicara EDF mengatakan bahwa permasalahan yang terjadi Heysham 1 tidak ada hubungannya  dengan isu 'cyber security'.

Cerita seputar Stuxnet memang tidak ada habisnya. Semenjak kemunculannya bulan Juni lalu, hingga kini Stuxnet terus menjadi bahan perbincangan di kalangan analis antivirus seluruh dunia.

Stuxnet memang didesain untuk langsung menyerang sistem spesifik yakni SCADA dan PLC (Programmable Logic Controllers) yang menggunakan Siemens STEP 7 SCADA  atau SIMATIC WinCC. Bahayanya, Stuxnet juga dapat mencuri data-data penting di dalamnya.


SCADA atau Supervisory Control and Data Acquisition adalah sistem yang bertugas mengontrol dan memonitor proses industri dan infrastruturnya, dan biasanya juga digunakan oleh pembangkit listrik.

Stuxnet memang program yang sangat canggih. Ia dibuat dengan kode yang begitu kompleks serta mampu mengeksploitasi beberapa celah Windows sekaligus dengan target serangan yang ditujukan pada skala besar/industri. Ini menjadikannya sebagai worm selebritas di kalangan para researcher antivirus.

Banyak orang yang mencurigai Stuxnet dibuat oleh sekelompok orang dengan dukungan teknologi dan dana yang besar. Tidak heran bila banyak spekulasi mengatakan Stuxnet dibekingi oleh negara tertentu.

Banyak kalangan menduga bahwa Stuxnet sengaja didesain untuk menyerang pembangkit tenaga nuklir di Bushehr, Iran. Ada pula yang mengatakan bahwa ia mengincar uranium centrifuges (mesin pemisah isotop) di instalasi nuklir Natanz, yang juga berada di Iran.

Iran memang menduduki peringkat pertama sebagai negara dengan tingkat penyebaran Stuxnet yang paling tinggi di dunia. Dalam update laporan terbaru yang dibuat oleh Symantec, diduga kuat serangan ini ditujukan kepada pembangkit nuklir milik Iran.

Pemerintah Iran sendiri secara resmi pernah mengkonfirmasikan bahwa Stuxnet telah menfinfeksi 30.000 komputer di negara Mullah itu. Namun mereka menyangkal bahwa worm Stuxnet tersebut menyebabkan kerusakan pada sistem SCADA yang ada di industri-industri, maupun reaktor nuklir milik mereka.

Serunya, Ramin Mehmanparast, pejabat dari Departemen Luar Negeri Iran, terang-terangan menuduh bahwa Stuxnet adalah bagian dari upaya barat untuk mensabotase program nuklir milik Iran. Spekulasi itu pun kini sudah mengarah kepada ranah politik.

Sekarang, mari kita lihat dari sisi Indonesia, yang merupakan negara dengan tingkat serangan Stuxnet tertinggi kedua setelah Iran. Yang jadi pertanyaan selanjutnya adalah, mengapa Stuxnet juga begitu menyebar luas di Indonesia? Apakah Stuxnet juga ditargetkan untuk menyerang infrastruktus industri di Indonesia?

Hingga kini belum ada konfirmasi resmi dari kalangan industri maupun pemerintah setempat, perihal dampak dari serangan Stuxnet ini. Korban terbanyak di Indonesia justru berasal dari masyarakat umum pengguna Windows, yang banyak melaporkan komputernya terinfeksi oleh Stuxnet.

Tak usah jauh-jauh, beberapa waktu lalu, saya melakukan scanning rutin terhadap USB flashdisk milik ayah serta adik saya. Ternyata worm Stuxnet terdeteksi di media simpan portabel itu.

Memang efek Stuxnet ini tak begitu kentara saat ia berjalan di sebuah komputer rumahan biasa. Namun, Stuxnet baru akan menyerang secara ganas pada komputer yang memiliki SCADA di dalamnya, karena memang Stuxnet didesain untuk itu.

Symantec pernah membuat proof-of-concept mengenai bahayanya stuxnet dengan melakukan simulasi percobaan menggunakan balon. Tes dilakukan menggunakan komputer yang terhubung dengan sistem SCADA yang diprogram untuk menjalankan mesin pompa peniup balon selama sekitar 3 detik.

Ketika salah satu komputer diinfeksikan worm Stuxnet, maka sistem SCADA mulai menunjukkan keanehan, karena kemudian worm Stuxnet menginstruksikan mesin pompa untuk terus meniup balon, hingga akhirnya meledak.

Cepatnya penyebaran Stuxnet yang terjadi di Indonesia adalah akibat kebiasaan penggunaan flash disk sebagai media pertukaran data yang terpopuler di masyarakat. Ini menjawab pertanyaan mengapa stuxnet begitu menyebar luas di sini.

Stuxnet merupakan worm pertama yang dapat mengeksploitasi dan memanfaatkan celah sistem operasi Windows melalui file .LNK atau shortcut (CVE-2010-2568), yang dirancang untuk menginfeksi flash disk sebagai media primer penyebarannya.

Tidak hanya itu, karena ia juga dapat menyebar di LAN atau jaringan setempat dengan mengeksploitasi celah Microsoft Windows Server Service RPC Handling Remote Code Execution Vulnerability (CVE-2008-4250), kelemahan Printer Spooler  (CVE-2010-2729), hingga menggunakan certificate atau digital signature curian.

Pada laporan awalnya, Michael Krampe, Jurubicara Siemens mengumumkan ditemukannya 15 customer-nya yang positif terinfeksi oleh virus ini, dan menurutnya masing-masing telah dapat mengatasi worm tersebut dan tidak berdampak buruk pada operational mereka.

Sumber  lain juga menimpali, bahwa sepertiga dari customer, berasal dari industri di Jerman. Sebagai tindak lanjut dari serangan Stuxnet, Siemens dalam situs resminya memberikan solusi aman terkait penggunaan sistem mereka dan menyarankan kepada orang untuk tidak menggunakan flash drives.

Hingga kini, misteri yang menyelubungi Stuxnet masih terus memicu berbagai spekulasi. Banyak pertanyaan yang belum terjawab tentang siapa sebenarnya target utama worm ini, siapa pembuatnya, dan lain sebagainya. Terlepas dari itu semua, Industri manapun sangat potensial terserang oleh worm canggih ini. Tak peduli di Iran, Inggris, atau Indonesia. Atau bahkan mungkin juga Stuxnet telah sampai di komputer Anda.

*Source: http://analisis.vivanews.com/news/read/189993-virus-penyerang-instalasi-nuklir-di-indonesia

Selasa, 01 Februari 2011

Facebook Malware: Your account has been suspended!

Today, I found another Facebook malware that able to spread through Facebook chat messages. The message that malware sent looks like this:
hahahh Foto :D hxxp://apps.facebook.com/glombotke/photo.php?=1012323960
When I click the link, then it will be redirected to the malicious application page which contain malware.


Once the malware active, I try to logout and re-login to the Facebook, now I'm faced with an annoying scam survey page that block the login page, combined with the redirect to another site. Once I skip this, the Facebook account has been suspended.
With a message like this:
Your Account as been suspended!
The suspend will be released after 80 minutes
The suspend will be disabled only if you fill out one survey!
Please wait 80 minutes and tray again.
If I look carefully, there are some words that are wrong, for example:
Your Account as been suspended! it must be Your Account has been suspended!, and
Please wait 80 minutes and tray again. it must be Please wait 80 minutes and try again.
Yeahh…. this is a fake message!
---
Update:
A more detailed article about this malware can be found on Emsisoft Blog. Enjoy ;)