Интернет черви. Технология работы одного червя на VBS
Xakep, номер #046, стр. 046-052-1 Dr.Zlobyus (cool16@e-mail.ru) Что я вижу: "Помогите начинающему вирьмейкеру...", "Хочу научиться делать вири, я начинающий...", "Скажите начинающему кодеру, как создать Интернет-червя...". Хе-хе, товарищи. Таких "надписей" в Интернете становится все больше, как будто всем вдруг захотелось написать ILOVEYOU, да еще быстро и с комфортом. И чтобы исходник выслали! "Начинающие", как показывает статистика, это такие ребята, которые еще ничего не начали, но уже хотят кончить. Поэтому, дабы развеять некоторые неясности и уменьшить количество неграмотных, послушаем, как создаются эти Интернет-червячки. Чтобы всем было легко и понятно, примером мы возьмем программу на VBS. Наверняка многие слышали о нем. Данный червяк при грамотном написании пролезет на комп врага и друга врага, а потом и дальше пойдет... При этом он будет сравнительно небольших размеров. Например, у меня червь получился размером 4,68 кб. Что делает этот червь? Чтобы легче понять принцип написания данного зверька на VBS, будет рассмотрен некоторый червь JOKE-FOR-YOU.txt.vbs. Кстати, он не приходил к кому-нибудь на e-mail :)? Сразу предупреждение: исходник червя весь поместить нельзя, поэтому будут объяснятся лишь основные моменты работы этой увлекательной программки. Что делает червь: 1. Прописывается в реестр, в папки Windows, повсюду, где только можно :). 2. Копируется туда же. 3. Делает пакости. 4. Создает эффект логической бомбы. 5. Рассылает себя по почте всем, кому можно. Само действие Предупреждаю повторно, я опишу только основные функции червя, а не весь исходник, мы тут не вирус пишем, а стараемся понять его технологию, т.ч. пионеры могут закатать губки. Итак, сначала создается папка, в которую кладется копия червя: Set FSA = CreateObject("Scripting.FileSystemObject") FSA.CreateFolder("C:\Новая папка") Теперь копируется запущенный файл в папку: Set file1 = FSA.GetFile(WScript.ScriptFullName) file1.Copy("C:\Новая Папка\JOKE-FOR-YOU.TXT.vbs") Краткое пояснение. Для копирования файла его необходимо сначала найти, это делается с помощью GetFile, далее в скобках ищется запущенный файл, но можно написать так: Set file1 = FSA.GetFile("C:\Xakep.exe"). Тогда скопируется файл Хакер. А Copy можно заменить на более извращенное, например, Delete и т.д. Писанина в реестр Далее: для успешной работы червя используется самый огромный баг Windows - возможность правки реестра. Set WSHShell = WScript.CreateObject("WScript.Shell") WSHShell.RegWrite"HKLM\Software\Microsoft\Windows\Current Version\Run\Micrpatch1.0","C:\Radias\this-is-a-radio-set-model-group.txt.vbs", "REG_SZ" Вот оно! Теперь создан параметр Автозагрузки файла this-is-a-radio-set-model-group.txt.vbs, лежащего в папке C:\Radias. Этот файл понадобится для придания эффекта логической бомбы на атакуемой машине пользователя. Как видно, с реестром можно опять же творить все, что угодно. Для этого есть команды вроде: Write, Delete, Read. А вот и другие пренеприятные действия: Set FST = CreateObject("Scripting.FileSystemObject") If FST.FolderExists("C:\Radias") Then // если папка Radias существует, то... |