PC Media Antivirus Insecure Library Loading Vulnerability

PC Media Antivirus (PCMAV) is an antivirus made by famous Indonesia computer magazine PCMedia . PCMAV is quite popular in 2006 since many virus creators in Indonesia actively spread a computer virus and infecting most computers in Indonesia. At that time some people start to claim a special anti-virus to detect Indonesia computer viruses, some of which are popular such as SmadAV, PC Media Antivirus (PCMAV), and AnsAV (edit: can’t find any official links).

Until now, PCMAV is still a popular antivirus used on most computers in Indonesia. PCMAV usually installed alongside with another popular free antivirus such as Avast, AVG, or Avira Antivir. In some companies, PCMAV is also a mainstay for detecting viruses made in Indonesia.

Antivirus is an endpoint protection to detect malicious programs from outside the computer, so the antivirus should be made with good protection, well flow design, and it should not vulnerable, thus cannot be exploited.

Proof of concept in antivirus product has been researched since a few years ago. Some well-known antivirus cannot survive and suffer from exploitation, thus bringing the risk to computer users.

This time, Spentera brought PCMAV antivirus to our garage to be tested. As a result, PCMAV suffers Insecure Library Loading vulnerability, also known as DLL Hijacking. The vulnerability works as a common DLL Hijacking technique, that an attacker can “introduce” his/her own DLL to be loaded by the vulnerable software. But in this case, it becomes more interesting. Since PCMAV made as portable, users can install PCMAV without installation, it is of course to make it easier to the users.

With the DLL Hijacking vulnerability in PCMAV, it becomes more dangerous. Since the attacker can “introduce” his/her .dll, PCMAV will automatically load the dll without confirmation. So hey, what is the problem?! I can’t get it. Well, let say you create your own DLL to execute another backdoor, listening on port with a command prompt serve you later. Very dangerous isn’t it?!

To be more clear, let us see how the action of this DLL Hijacking on PCMAV.

We can download the latest PCMAV from their website (at the time of writing, this link works and that was the current version): http://virusindonesia.com/2012/11/23/pc-media-112012-pcmav-8-4-raptor/. Now, if we analyzed using Process Monitor, PCMAV load several DLLs, but there is one interesting here.

The svrapi.dll is introduced by PCMAV itself. The svrapi.dll is a common Microsoft Common Server API Library, it is a system process that is needed to work properly. Because it is introduced by PCMAV, we can also introduce our (malicious) svrapi.dll.

Metasploit has the capability to generate malicious DLL, here is the way to create a DLL that can spawn a reverse shell to our machine.

Once created, we just simply put this malicious svrapi.dll into PCMAV’s root directory, the same path as the executable (PCMAV.EXE). Since our prep is complete, now we setup our meterpreter listener in our machine.

Our friend, Tom was asking a good antivirus to detect Ramnit. We put Tom on the test, we give him our modified PCMAV, with our DLL introduced in the root directory. When the package has been delivered to our good friend, Tom, he should be happy because he will get his computer cleaned with PCMAV antivirus. But unfortunately we change the story, Tom executed the PCMAV.EXE, and soon our svrapi.dll get loaded, and not so long, our meterpreter handler receives a connection.

We got our shell and Tom is happy because PCMAV is still scanning his system properly.

Moral of the story: DO NOT trust any files comes from external removable media, even from your trusted friend. Download it from original source (if any).

Note: Tom still doesn’t know about this.. psst..

USB Worm attack bagian II

Sesuai dengan janji saya pada bagian pertama, pada bagian kedua ini saya akan menjabarkan technical detail virus yang tergolong canggih ini. Baiklah, dimulai dari scanning flashdisk milik seorang teman, saya hapus semua yang terkait dengan virus ini namun saya karantina 1 file yang mengandung virus. File ini saya namakan sample_virus.exe. Untuk informasi, saya jabarkan sekalian proses infeksi pada flashdisk hingga kemudian bisa terinstall di komputer.

Scan Flashdisk

Seperti yang pernah saya utarakan, bahwa hanya 2 buah antivirus terkenal (kebetulan memang hanya ada 2 komputer yang terinstall 2 buah antivirus tersebut) yaitu Avast Antivirus dan Avira Antivir yang mendeteksi keberadaan virus ini pada sebuah flashdisk milik teman. Terdeteksi oleh Avast sebagai Win32:Trojan-gen {Other} dan oleh Antivir sebagai R/Crypt.PEPM.Gen, sedangkan oleh Ansav dikenal dengan nama W32/Sensus. Saya tidak langsung menghapus semua file virus dengan antivirus, namun saya menghapusnya secara manual. Berikut langkah-langkahnya:

  1. Buka command prompt
  2. Pindah ke drive letter milik flashdisk (misal F:), ketikkan F:
  3. Reset semua attribute file dan folder pada flashdisk, lakukan pada command prompt seperti berikut: F:>attrib -s -r -h /s /d
  4. Buka My Computer –> Search, tentukan tempat pencarian hanya pada flashdisk (drive F: saja), lalu masukkan query *.exe pada kolom pencarian. Hal ini untuk mencari file dengan ekstensi .exe. Pastikan File yang dihapus hanyalah file dengan icon Word Document.
  5. Yang saya lakukan berikutnya adalah mengambil satu contoh file virus dan mengurungnya dengan kompresi file (saya menggunakan 7zip) dan dipassword.
  6. Cek file autorun.inf, perhatikan path tempat virus bersemayam.
  7. Cek direktori RECYCLER\[subfolder] apakah ada file berekstensi .exe, kalau ada langsung hapus.
  8. Safe and Remove Hardware –> Cabut flashdisk.

Percobaan Install Virus

Virus yang barusan saya karantina akan dianalisa kerjanya, maka saya sengaja menjalankan virus tersebut pada sistem  Windows XP di VMware. Setelah diinstall, saya menjalankan Process Explorer dari SysInternals dan hasilnya menunjukkan bahwa virus menjalankan file-file berikut:

  • services.exe
  • WINWORD.exe

Semua proses ini akan menjadi janggal ketika saya tidak menginstall apa-apa pada sistem operasi Windows XP tersebut, karena memang masih fresh install. Yang mengejutkan, services.exe membawahi program ping.exe untuk melakukan ping ke http://www.putera.com sebanyak 30000 kali, hmm..DoS?

Dari ketiga proses tersebut, analisa dilanjutkan untuk mencari keberadaan ketiga file tersebut.

  • File services.exe terdapat pada direktori C:\>Program Files\mIRC\IRC Bot\
  • File WINWORD.EXE terdapat pada direktori C:\>Program Files\Microsoft Office\

Khusus file services.exe, direktori C:\>Program Files\mIRC\IRC Bot\ akan tidak terlihat, saya menggunakan metode attrib seperti sebelumnya untuk mengeluarkan direktori IRC Bot. Setelah mengetahui cara kerja virus, saya melakukan pemberangusan proses yang berjalan di belakang layar tersebut menggunakan Process Explorer. Dengan memilih Kill Process Tree pada ketiga proses, maka proses yang “nebeng” ketiga program tersebut ikut diberangus. Untuk sementara virus tidak berjalan, namun “sisa-sisa kotoran” virus ini masih ada di komputer kita.

Pembersihan

Sebelum dilakukan pembersihan, yang paling penting adalah mematikan System Restore. Pembersihan kali ini menggunakan program Autoruns keluaran SysInternals. Saya menjalankan program Autoruns dan mencari file-file yang dimaksud satu persatu pada tab-tab menu program Autoruns. Berikut adalah file-file yang harus dibuang dari list.

  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\Acha.exe
  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\AmyMastura.exe
  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\csrsz.exe
  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\registry.exe
  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\wscript.exe
  • Adobe Gamma Loader.com (pada menu Startup)

Sedangkan direktori tempat bersemayam virus-virus ini pun harus segera diberangus.

  • C:\>Program Files\mIRC\IRC Bot\*.*
  • C:\>Program Files\Microsoft Office\WINWORD.EXE
  • C:\>Documents and Settings\[user]\Start Menu\Programs\Startup\Adobe Gamma Loader.com

Untuk PC yang terinstall Microsoft Office, silakan copy file WINWORD.EXE dan CTFMON.EXE dari PC yang lain karena file sudah terinfeksi oleh virus tersebut.

Selanjutnya adalah pembersihan di Registry. Untuk mempermudah kerja kita, saya sarankan menggunakan plugin RegistryFX dari Ansav Antivirus, sangat powerful. Silakan download Ansav Antivirus. Setelah itu jalankan Ansav dan pilih Plugins –> RegistryFX, saya menjalankan sesuai pilihan yang sudah ada. Lalu pada Registry:

  • [HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Winlogon]
    • Shell = “Explorer.exe, %ProgramFiles%\Microsoft Office\WINWORD.EXE”

Hapus value %ProgramFiles%\Microsoft Office\WINWORD.EXE, karena value ini yang selalu menjalankan WINWORD.EXE setelah sistem start. Lalu jalankan lagi fungsi Windows Defender, Automatic Updates, Windows Firewall, dan lainnya.

Demikian penjelasan detil teknis terhadap virus yang meresahkan kampus belakangan ini. Semoga bermanfaat.

USB Worm attack bagian I

Beberapa waktu yang lalu, ketika disibukkan oleh sisa-sisa kegiatan kampus, saya menemui beberapa kasus virus yang menyebar lewat media flashdisk/usb pendrive/flash drive/whatever. Karena sifat infiltrasinya yang menyebar secara masif lewat media flashdisk, saya boleh menamakannya USB worm. Dilihat dari cara kerjanya, ini jelas virus yang secara umum telah beredar di Indonesia. Biasanya virus ini cara kerjanya hampir mirip-mirip seperti:

  • Menyamarkan file Executeable virus menjadi Word Document.
  • Melakukan perubahan attribute file menjadi RHS (Read-only, Hidden, System) sehingga tidak terlihat.
  • Mematikan Folder Options
  • Mematikan Task Manager
  • Mematikan Regedit

Maka, ketika ada virus yang masuk ke USB beberapa teman-teman, saya mencoba untuk menganalisa cara kerja virus tersebut dan menemukan sesuatu yang lebih unik dibandingkan virus-virus yang lain. Apa yang unik itu? Ternyata pembuat virus kali ini menggabungkan sebuah bot agent pada virus yang dia buat. Lalu ditambah dengan metode untuk menyembunyikan bot agent ini.

Dilihat dari reaksi antivirus, hanya beberapa antivirus yang merespon keberadaan virus ini (dengan tidak bermaksud membanding-bandingkan kehebatan antivirus) salah duanya yaitu Avast Antivirus dan Avira Antivir. Technical detail untuk membersihkan virus ini akan saya lanjutkan pada versi ke-2.