Source Code "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.
Setelah dilihat struktur file dari virus tersebut ternyata pembuatan virusnya menggunakan visual basic 6.0.

Virus ini terdiri dari 1 form dan 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

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. 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

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\" ()

Kalau ingin 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 entry dan file-file virus brontoknya.

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

Semoga bermanfaat.....


source:

Comments (0)