readbud - get paid to read and rate articles

Minggu, 20 Desember 2009

Source Code Virus Brontok

Dalam belakangan waktu ini mungkin anda pernah mendengar nama virus Brontok?......ya betul virus yang
menduplikatkan dirinya dan menyesuaikan nama virus barunya berdasarkan folder atau file pada window
epxlorer yang aktif. Ciri khas dari virus ini adalah menggunakan Icon folder, sehingga dapat mengecoh
seseorang yang melihatnya.

Mengapa membahas virus ini?,...hmm...m....sebetulnya saya tidak terlalu tertarik membahas ini, tau nggak apa
yang menyebabkan saya tertarik membahasnya?...pasti nggak tau kan .....ini disebabkan beberapa hari lalu
banyak kehebohan mengenai virus brontok dan sempat menginfeksi beberapa komputer teman2ku .

Ok untuk mempersingkat waktu kita langsung aja

Setelah dilihat struktur file dari virus tersebut ternyata pembuatan virusnya menggunakan visual basic 6.0
ops....ternyata made in vb coy....nah ini yang membuat tambah menarik.

Virus ini terdiri dari 1 form da 1 Module, dengan nama

Form -> BrontokForm

Module -> API

Dengan detail berikut:

Begin VB.Form BrontokForm

Caption = \"Brontok.A\"

ForeColor = &H8000000F&

ScaleMode = 1

BeginProperty Font

Name = \"\"

Size = 195323.4944

Charset = 29

Weight = 774

EndProperty

Begin VB.Timer TmrBrontok

Enabled = 0 \'False

Interval = 2000

Left = 2160

Top = 0

Width = 57352

Height = 1

End

End

Dengan nama Project: Brontok.vbp, yang disimpan pada directory:

F:\\VPROJECT\\REHAB\\Re-1\\BRONTOK.A

Jelas sekali bahwa virus ini dibuat oleh sorang program lokal, yang mempunyai skill Menengah Keatas.

Ada beberapa procedure & function yang digunakan dengan nama:

Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
TmrBrontok_Timer()

Subr_004()

CekKoneksiInternet()

ManipulasiExec()

Subr_007()

KeluarDong()

BronReg()

CopyAppData()

DownloadVir()

StartDong()

StartUp()

DecTeks()

MutMutex()

MutCr()

DownloadFile()

CekUpdate()

InfekNetwork()

Judul()

CekRemDisk()

BikinFile()

GetEmailFile()

CekValidMail()

GetTeks()

CekKar()

ListMail()

GetTargetMBhs()

GavMailer()

BrontokMail()

Subr_031()

DataEmail()

DownMIME()

FindFilesAPI()

ListFileGav()

InfekFile()

SmallAttack()

MinggirLoe()

GetHostByNameAlias()

StripNulls()

BikinKredit()

Dan beberapa fungsi Api yang digunakan anatara lain:

Fungsi Baca Tulis Ke Register:

Declare Function RegOpenKeyExA Lib \"advapi32.dll\" ()

Declare Function RegSetValueExA Lib \"advapi32.dll\" ()

Declare Function RegCloseKey Lib \"advapi32.dll\" ()

Declare Function RegCreateKeyExA Lib \"advapi32.dll\" ()

Declare Function Sleep Lib \"kernel32\" ()

Mendapatkan Spesial Folder:

Declare Function SHGetPathFromIDList Lib \"shell32.dll\" ()

Declare Function SHGetSpecialFolderLocation Lib \"shell32.dll\" ()

Membaca Isi Halaman Situs:

Declare Function InternetOpenA Lib \"wininet.dll\" ()
Declare Function InternetOpenUrlA Lib \"wininet.dll\" ()

Declare Function InternetReadFile Lib \"wininet.dll\" ()

Declare Function InternetCloseHandle Lib \"wininet.dll\" ()

Mendapatkan Caption Dari Sebuah Window:

Declare Function GetWindowTextA Lib \"user32\" ()

Declare Function GetWindowTextLengthA Lib \"user32\" ()

Dapatkan HWND Window aktif:

Declare Function GetForegroundWindow Lib \"user32\" ()

Shutdown, Reboot, LogOff Windows:

Declare Function ExitWindowsEx Lib \"user32\" ()

Declare Function GetCurrentProcess Lib \"kernel32\" ()

Declare Function OpenProcessToken Lib \"advapi32\" ()

Declare Function LookupPrivilegeValueA Lib \"advapi32\" ()

Declare Function AdjustTokenPrivileges Lib \"advapi32\" ()

Mendapatkan Jenis Media yang ada spt Removable Disk, CD-Rom dll:

Declare Function GetDriveTypeA Lib \"kernel32\" ()

Declare Function ShellExecuteA Lib \"shell32.dll\" ()

Declare Function RtlMoveMemory Lib \"kernel32\" ()

Winsock API:

Declare Function closesocket Lib \"wsock32.dll\" ()

Declare Function connect Lib \"wsock32.dll\" ()

Declare Function htons Lib \"wsock32.dll\" ()

Declare Function inet_addr Lib \"wsock32.dll\" ()

Declare Function recv Lib \"wsock32.dll\" ()

Declare Function send Lib \"wsock32.dll\" ()

Declare Function socket Lib \"wsock32.dll\" ()

Declare Function gethostbyname Lib \"wsock32.dll\" ()

Declare Function WSAStartup Lib \"wsock32.dll\" ()

Declare Function WSACleanup Lib \"wsock32.dll\" ()

Declare Function WSAAsyncSelect Lib \"wsock32.dll\" ()

Fungsi yang berhubungan dengan file:

Declare Function FindFirstFileA Lib \"kernel32\" ()

Declare Function FindNextFileA Lib \"kernel32\" ()

Declare Function GetFileAttributesA Lib \"kernel32\" ()

Declare Function FindClose Lib \"kernel32\" ()

dll...

Terlihat jelas pada fungsi-fungsi api yang digunakan bahwa penularan virus ini brontok menggunakan
beberapa cara. seperti pengiriman lewat email, pencarian nama komputer yang terhubung kejaringan dengan
menyalin dirinya pada folder yang di sharing dan menyalin dirinya pada window explorer yang aktif. kalo gak
salah si pembuat virus mempunyai SMTP sendiri (wah ati-ati mas ntar ketangkep)

Jika dilihat kembali pada strukturnya ada beberapa kata yang di encrypt, kemungkinan berupa exploit code
atau apalah namanya. hanya allah dan pembuat virus yang tau.

Virus ini mempunyai fungsi ExitWindowsEx yang diimport dari file user32.dll, fungsi ini biasanya digunakan
untuk mematikan windows.

kayaknya sipembuat virus membuat triger yang berisi perintah mematikan/merestart komputer.
Selain itu dalam struktur filenya terdapat kata-kata seperti ini:

FOLDER.HTT

RORO

.HTT

.DOC

.CSV

.EML

.CFM

.PHP

.WAB

.EML

.TXT

.HTML

.HTM

MY DATA SOURCES

MY EBOOKS

MY MUSIC

MY SHAPES

MY VIDEOS

MY DOCUMENT

Dan ada beberapa alamat situs yang diserang, apa DDOS ya...hik..hik..tau deh. Selain itu pembuat virus
mencantumkan nama: --JowoBot#VM Community --

Selanjutnya coba lihat tiga fungsi api berikut:

Declare Function GetWindowTextA Lib \"user32\" ()

Declare Function GetWindowTextLengthA Lib \"user32\" ()

Declare Function GetForegroundWindow Lib \"user32\" ()

Sepertinya pembuat virus memanfaatkan windowexplorer untuk memperbanyak filenya ke folder yang lain.
Dengan cara membaca Caption yang terdapat pada windows aktif yang berisi nama directory/path. Dengan
menggunakan 2 fungsi diatas (GetWindowTextA & GetWindowTextLengthA), Sedangkan fungsi
GetForegroundWindow digunakan untuk mendapatkan Handle Window (HWND) yang sedang aktif.

Jadi kesimpulannya virus ini tidak dapat menyalin dirinya kalo Caption pada windowExplorer bukan berupa
Directory/Path. Sehinga si pembuat virus menonaktifkan setting pada Folder Options.

Kemudian yang lebih unik lagi virus ini membaca isi halaman situs yang terbuka pada sebuah InternetExplorer
dengan menggunakan fungsi:

Declare Function InternetOpenA Lib \"wininet.dll\" ()

Declare Function InternetOpenUrlA Lib \"wininet.dll\" ()

Declare Function InternetReadFile Lib \"wininet.dll\" ()

Declare Function InternetCloseHandle Lib \"wininet.dll\" ()

Kalo saya tebak, sepertinya pembuat virus mencari alamat email pada halaman situs yang terbuka dan
mengirimkan virus nya berdasarkan alamat email yang ditemukan pada halaman tersebut dengan kata kunci
seperti mailto: ataupun @xxxx.com dll...

....Untuk membersihkannya silahkan baca selengkapnya di situs AntiVirus yang lain...he..he...maaf saya hanya
membahas yang ini saja.

Tapi kalo pengen menonaktifkan virus ini secara cepat, coba masuk safemode kemudian rename file
MSVBVM60.dll menjadi MSVBVM60.dl_

karena virus ini membutuhkan runtime vb. Nah kalo udah gak aktif baru kita bisa hapus beberapa registry entrydan file-file virus brontoknya.

Sayang sekali virus ini tidak menggunakan program compressor, sehingga memudahkan orang untuk
mengenalinya.

Semoga bermanfaat....

Tidak ada komentar:

Posting Komentar

Web hosting