MorphostLab

Tempat nongkrongnya Morphic dan kawan-kawan

Deteksi Module Virus Sality Tanpa Checksum

Posted by Morphic pada Maret 9, 2010


Deteksi Module Virus Sality Tanpa Checksum!

Kalau saya sebut module mungkin ada yang protes. Dan memang yang saya maksudkan disini adalah file library milik virus Sality. Tiap kali komputer terinfeksi virus Sality ini biasanya muncul file di folder system32 yang berfilename “wdrmtc32.dll”

Alamat jelasnya adalah “C:\windows\system32\wdrmtc32.dll”

Sebenarnya masalah ini sangatlah simple… benar-benar simple…

Pertanyaan utamanya ialah bagaimana mendeteksi file ini tanpa checksum? Sebagian dari pembaca pasti menjawab dengan “STRING”. Ya itu jelas benar.
Tapi apa harus semua file dicek stringnya? Jelas ini membutuhkan waktu yang sangat panjang.

Nah, di dalam artikel yang super sederhana ini ada trik yang mungkin belum terpikirkan atau mungkin terlupa saat ini mengenai pendeteksian module virus sality dan juga file induk virus Conficker.

Saya punya dua file module Sality ini, karena dulu laptop saya pernah kena sality dua kali. Sedangkan file module sality lainnya saya peroleh dari kiriman pengguna Morphost. Jadi totalnya ada banyak dan hampir berbeda semua file module-nya.

Dari 5 antivirus lokal terbesar saat ini di Indonesia (PCMAV, Morphost, Ansav, Smadav dan CMC), hanya ada tiga antivirus lokal yang mendeteksi file module sality ini dengan sangat baik, yaitu Pcmav, Morphost dan Ansav. (maaf, bukan maksud saya menyebutkan nama antivirus lokal dengan sengaja).

Dan setelah saya uji ternyata dua antivirus lokal (selain morphost) mampu mendeteksi file module sality ini tanpa checksum. Mereka tidak butuh checksum untuk mendeteksinya. Tentunya “mungkin” pakai string.
Dan saya tidak tahu apakah mereka memeriksa setiap file untuk pengecekan/pemeriksaan module sality? Yang tahu hanya pembuatnya dan Tuhan. Hehehe…

Ada beberapa trik dan ada kelemahannya juga tentunya…
Trik pertama, yaitu dengan memeriksa keberadaan file module sality tersebut. Dan cara ini saya yakin sangat kuno, tapi saya tidak yakin apakah sudah ada antivirus lokal yang pakai teknik ini??? Saya kira belum.
Teknik ini dilakukan dengan pemeriksaan file “C:\windows\system32\wmdrtc32.dll” (di komputer saya) atau Environ$(“windir”) & “\system32\wmdrtc32.dll”
Dengan logika tersebut tentunya antivirus lokal akan segera memberikan pernyataan kalau ditemukan module sality tersebut.
Namun trik ini punya kelemahan. Apabila si User punya koleksi virus, tentunya antivirus lokal tidak akan dapat mendeteksi module virus tersebut.

Sebelum saya melanjutkan, saya ingin beritahu kenapa saya beranggapan file module ini penting… Setelah saya perhatikan, sepertinya file “wmdrtc32.dll” ini lah yang merupakan inti dari Sality. Untuk cara penghapusan file tersebut tergantung orang masing-masing dan tidak akan dibahas disini…

Dan saya juga mau minta maaf, karena untuk artikel kali ini saya tidak akan membahas source code tapi hanya teori. Tapi saya yakin anda mengerti teori yang saya jelaskan ini, dan anda dengan mudahnya menerapkannya ke dalam suatu source code. Saya yakin!

Oke, baiklah. Kita lanjutkan lagi…

Cara berikutnya, yaitu pemeriksaan khusus untuk file yang berekstensi “.dll”
Logikanya begini, antivirus lokal menscan file “.dll” dengan metode khusus. Tiap kali scanner menjumpai file yang berekstensi “.dll” akan diperiksa string module Sality-nya. Kalau memang ada berarti file tersebut positif file library sality!
Kelemahan dari cara ini adalah, kalau suatu saat ada user yang pintar yang ingin menguji antivirus lokal maka file library sality ini akan diubah checksumnya.
Yang tadinya berfilename “wmdrtc32.dll” akan diubah menjadi “wmdrtc32.exe”
Kalau checksumnya sedikit saja diubah, cara di atas akan gagal.

Cara selanjutnya dengan nama file saja (tanpa ekstensi). Lakukan pemeriksaan terhadap filename “wmdrtc32”. Kebanyakan programmer pasti berpikiran ke arah situ. Tapi anjuran saya, lakukan pemeriksaan terhadap file yang berfilename “wmdr” atau “tc32” atau “drtc”. Nah, ada tiga opsi. Dan saya yakin ini sangatlah ampuh dibanding pemeriksaan pada filename “wmdrtc32”
Kita ambil contoh:
Suatu antivirus lokal yang mempunyai metode pemeriksaan pada filename “wmdrtc32” mungkin mampu mendeteksi module sality yang memang berfilename “wmdrtc32.dll”. Kalaupun ekstensinya diubah tetap saja terdeteksi! Tapi kalau filenamenya diubah?
Yang tadinya “wmdrtc32.dll” diubah menjadi “wmxdrtc32x.dll”. Apakah masih terdeteksi?

Oleh karena itu, seperti yang saya anjurkan di atas, lakukan pencarian terhadap file yang berfilename “wmdr” atau “tc32” atau “drtc” atau boleh kamu tambahkan lagi yang lain…
Trik ini tidak jauh bedanya untuk mendeteksi virus Conficker. Sabar! Setelah ini akan kita bahas langsung!

Sebelum kita masuk ke pembahasan virus conficker, ada satu pertanyaan penting lagi muncul. Apa itu? String apa yang cocok untuk module sality ini? Saya rasa string “SZDDˆÐ’3A” pun sudah cukup. Dan, yang perlu saya ingatkan lagi string yang saya berikan ini udah dalam kondisi UCASE.

Oke, kita masuk ke pembahasan virus Conficker!
Dulu saya sudah pernah bahas tentang pendeteksian Conficker ataupun Fakta dari conficker. Dan saya yakin semua sudah tahu nama file induk conficker ini. Yaitu “jwgkvsq.vmx”

Saya sudah mencoba dua antivirus lokal yaitu Morphost dan Smadav (sekali lagi, saya tidak bermaksud untuk menyebutkannya dengan sengaja). Karena saya beranggapan kalau dua antivirus ini memang menggunakan cara licik untuk pendeteksian virus Conficker.

Dan saya yakin banyak juga antivirus lokal lain yang mengikuti dua antivirus lokal ini (Morphost dan Smad**).
Jawabannya, dengan teknik ini file “jwgkvsq.vmx” terdeteksi sebagai virus. Tapi tentunya dengan beberapa syarat. Mungkin dengan adanya string “MZ” didalam file tersebut sebagai bukti bahwa file tersebut adalah file aplikasi, dan mungkin juga dengan syarat-syarat lainnya.

Tapi apakah file “jwgkvsq(1).vmx” terdeteksi? Atau file “Copy of jwgkvsq.vmx” juga ikut terdeteksi? Jawabannya adalah ABSOLUTELY NOT!!! Tidak terdeteksi! MIsalnya saya sudah uji antivirus Smad**

Itu dia masalahnya! Kenapa hal simple seperti ini masih saja belum terpikir??? Hal kecil selalu tidak terpikirkan! Antivirus hebat seperti Smad** belum sempat memikirkan hal ini mungkin.

Nah, anjuran saya lakukanlah pemeriksaan pada file yang berfilename “jwg” atau “kvsq” ataupun ekstensi “vmx”

Sekian, artikel ini saya tulis. Mudah-mudahan bisa memberikan inspirasi buat kamu!!

By: Morphic Karta
http://www.morphostlab.co.nr
http://www.morphorum.co.nr (FORUM)

thanks to:
-Yudha
-Satryacode
-Sid Revi MorEset32
-Adam
-Muamar Kudo

40 Tanggapan to “Deteksi Module Virus Sality Tanpa Checksum”

  1. indra said

    pinter amat ya … makannya apa sih..
    jadi pengen kaya situ..tapi kagag bisa2 yahh.. otak kagag nyampe.. hee..he..hee
    tenks ya infonya…
    semoga maju terus…..

  2. Kevin... said

    so, smadav sma cmc gk detek ea?

  3. bidan malware said

    Aku hanya ingin minta tanggung jawab aj pada orang yang nulis intruksi2 di atas…
    boleh kan?
    karena aku sendiri binung dengan intruksi2 yang tertulis di koment…

  4. bidan malware said

    oya sekalian buat bahan experimen (gak 100% berhasil pd bbrp kondisi).
    ;buka file trus
    ;loncat ke EOF
    mov ax, 4202h
    xor cx, cx
    xor dx, dx
    call calldos21
    ‘———————– SubRutin calldos21 dipanggil tapi ko gak ditulis ya intruksi2nya

    ;mulai pemotongan
    pop dx
    pop cx
    sub dx, virus_size
    sub cx, 0
    mov ax, 4200h
    call calldos21
    ———————— virus size didapat dari manakah? section terakhir/mana? ko ada (sub cx, 0) fungsi dalam intruksinya ap ya?

    ;restore/ fix/ betulin
    mov ah, 40h
    xor cx, cx
    call calldos21
    ——————— maksud ptongan intruksi-intruksi ini apa ya?

    mov cx, word ptr cs:[old_time]
    mov dx, word ptr cs:[old_date]
    mov ax, 5701h
    int 21h
    ——————— ????, waktu dimana ? timedatestamp pada PE File Header kah?

    ;mirip close handle-nya findfirstfile
    mov ah, 3eh
    call calldos21
    ———– mirip? mkasdnya findclose pada kernel32.
    Ko instruksi di dil kernel32 komputerku seperti ini ya?
    add Cl, Ch
    mov ??, si
    and al, 68h
    …..

    Mohon penjelasanya master….

  5. desperados said

    untuk string “SZDDˆÐ’3A” ini utk sality variant apa..???

  6. Bobby315 said

    @ morphic

    sy bbrp hr yg lalu nyoba av morphost, kecepatannya lumayan dan heur-nya galak amat… file d3dx9_37.dll masa diblg sality hahahaha.

    menurut sy sih sality jgn dimasukkan kedlm heur, mending org yg make ngerti klo nggak trus maen sikat aja gmn? seperti kata temen sy yg suka maen PB (feel the headshot) ^^.

    oya sekalian buat bahan experimen (gak 100% berhasil pd bbrp kondisi).

    ;buka file trus
    ;loncat ke EOF
    mov ax, 4202h
    xor cx, cx
    xor dx, dx
    call calldos21

    ;mulai pemotongan
    pop dx
    pop cx
    sub dx, virus_size
    sub cx, 0
    mov ax, 4200h
    call calldos21

    ;restore/ fix/ betulin
    mov ah, 40h
    xor cx, cx
    call calldos21

    mov cx, word ptr cs:[old_time]
    mov dx, word ptr cs:[old_date]
    mov ax, 5701h
    int 21h

    ;mirip close handle-nya findfirstfile
    mov ah, 3eh
    call calldos21

    ;tugas selesai & akhiri
    pop dx,cx,ax
    jmp dword ptr cs:[int21]

    * sukur2 exe infection masih di EOF klo di MID wah sy gak tau deh gmn tuh ^^

    • Morphic said

      untuk engine sality Morphost expert plus udah saya perbaiki.
      tapi untuk morphost expert biasa memang ada kemungkinanl salah detek tuh (tapi agak kecil kok).

      saya boleh minta filed 3dx9_37.dllnya???

      code yang mantap! Like this!

      • Bobby315 said

        klo file d3dx9_37.dll gak mungkin saya upload berhubung inet pake hp smart yg kecepatannya = 307 bytes/second (menyedihkan). atau gini aja coba cek di system32 kemungkinan ada itu file.

        code yg mantap…hahaha! tau gak phic ini saya dapet dr hasil disasm 3 av impor (nod32, pctools, norman) biarpun mereka punya engine yg berbeda tapi klo masalah remove / fix file rada sama terutama fix exe infection selalu mengarah ke EOF (gak mesti 4202h) dan byte aslinya 4200h trus mov ah,40h gunanya untuk menulis ulang EOF.

        semuanya dalam mode 16 bit klo 32 bit gak tau deh krn perintahnya gitu.

        saya nyebar2 gini bukan untuk tujuan tertentu tapi krn ingin berbagi aja berhubung av dirumah udah ada fitur tsb dan byk user windows pada tereak2 gara2 sality tapi av programmer gak bisa berbuat byk. dan bagi yg sering nanyain saya mending jgn nanyain lagi deh saya lagi males aja akhir2 ini. hahahaha.

        • Morphic said

          di system32 saya tidak ada file tersebut.
          kalo memang ada udah dari dulu pasti terdeteksi.

          karena saya selalu menscan folder system32 saya….

        • Bobby315 said

          oya lupa itu masuk ke dalam directx 9.0c maret 2009, klo discan gak bakalan dapet tapi kena pas proteksi dijalankan abis itu buka folder system32 dan setelah itu muncul peringatan.

          sedikit info buat yg lain, virus tipe exe infection gak bakal jalan klo gak di eksekusi. biasanya av selalu “First Blood” hehehe😀

        • Morphic said

          oke.
          aku coba nanti.

        • muamarkudo said

          wah… yg expert lagi pada diskusi nih..

          hehe, saya yg masih newbie nonton aja deh..

      • Adam said

        @muamar: bner tuh para master sedang berdiskusi kta yang baru mendingan nonton aja dah…wkwkwkw

    • Bian said

      pake program apa bro decompilenya?

      kalo bisa dishare ya linknya. thx🙂

    • Bian said

      eh, btw ternyata udah lama dibahas disini:

      http://vil.nai.com/vil/content/v_150219.htm

      menurut McAfee Labs juga semua varian sality didetek & diclean sebagai satu generic type (W32/Sality.gen).

      • yudha said

        mcaffe memang selalu gitu… sangat-sangat terlalu kejam..

        ini yg gak q suka sm mcaffe

      • Bobby315 said

        untuk itulah kenapa yg saya disasm av impor cuma nod32, pctools, dan norman karena hanya 3 av ini yg menurut saya ada suatu RULES atau kebijakan dalam hal “Apa yg mesti dilakukan jika terdeteksi virus bla..bla..bla..!”.

        oya berhubung 3 av impor tsb menggunakan bahasa pemrograman yg kalian pasti udah tau jadinya gak ada decompilenya (sekalipun ada juga susah nyarinya). program yg saya gunakan namanya DISASM dan satu lagi sebagai perbandingan bernama PEID dan Ollydbg, tapi yg maju duluan untuk mencari rutin (Routine) ya si Ollydbg😀 lalu yg lebih menyedihkan lagi saya cuma pake 3 freeware tsb untuk analis virus hehehe.

        info lagi (saya selalu byk info hehehe), tadi malem temen saya telpon lalu kita ngobrol ttg exe infection jadinya sality dan bbrp exe infection lainnya hanya menginfeksi file EXE. kenapa gak com/dll/dsbnya? karena yg paling sering di eksekusi cuma file EXE dan berdasarkan data hasil disasm plg byk av yg bisa repair tuh mencari file EXE ketimbang com, dll, dsbnya (sality loh bukan virut) ^^.

        mungkin kalian bertanya “virus_size yg mana?” yg dimaksud virus_size itu bisa diblg ada image dan ada bytes, klo image “02h” dan klo bytes “06h” dan yg paling gampang di find itu image (Length of Image in File).

        repair exe infection gampang2 susah, gampang klo motong susah klo repair (fix)…tapi yg mesti diketahui cukup potong virus yg ada di EOF dan ganti EOF ke 40h, File Time original, File Date original (TimeDateStamp pake PEID) oya jgn lupa gunain buffer (handle gitu) yg terakhir berdoa krn saya sendiri pun nisa berhasil bisa juga gagal pada file yg sama (gak tau kenapa).

        sekalian mo tanya, disini yg bisa ASM siapa? seenggak2nya ada 1 org aja yg bisa ASM mungkin bisa membantu, saya cuma C++ programmer.

  7. Aduhhh kawan aku udah enek sama sality Aku benci poko nya ama Sality…………….!!!!!!! Berengsek virus yang satu ini jauh lebih ganas dari Conficker!!!!!!

  8. shafry said

    akan q update. q tx yg d mkst dlm keadaan ucase yg gmn? n unt cara cri str gmn?

  9. shafry said

    maju morphos. ad yg px sampel induk sality g?
    n 2 sampel sality aa n sality ae

  10. Damar said

    z dah cba Avx mas trnyta mang MAntep!!! n z jg dah adu ma PCMAC soal keakuratan dlm mndeteksi Sality.,tnya PCMAV tdk dpt mdeteksi Sality!!!..,mga mkin Maju AVx mas..,trutama dlm pembasmian Sality, virut, Alman..,

  11. muamarkudo said

    nice article phic…

  12. shafry said

    pakek pengecekan nama. n thanks stringx ya

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

 
%d blogger menyukai ini: