Реверсивный инжиниринг приложений под Windows Год издания: 2024 Автор: Бирюков А. А. Издательство: ДМК Пресс ISBN: 978-5-93700-292-1 Язык: Русский Формат: PDF Качество: Издательский макет или текст (eBook) Количество страниц: 378 Описание: Реверсивный инжиниринг считается одним из наиболее сложных направлений в информационной безопасности (ИБ). В книге автор предлагает при открыть завесу тайны над этой темой и с помощью практических примеров рассмотреть, как работают приложения под ОС Windows, а также разобраться в том, как эксплуатировать уязвимости переполнения буфера, размещать свой код в выполнимых файлах, находить полезную информацию в дампах памяти и многое другое. Книга предназначена как для начинающих специалистов, желающих разобраться в реверс-инжиниринге, так и для опытных специалистов по ИБ, интересующихся данной темой.
Примеры страниц (скриншоты)
Оглавление
0x0cf11 Вступление ...............................................................................................8 О пользе реверсинга ..............................................................................................8 Зачем нужен реверсинг ..........................................................................................9 О чем эта книга ....................................................................................................10 Заключение к вступлению ...................................................................................11 Глава 1. 0x00f13 О коде, инструментах и крякмиксах .............................................12 Основы реверсинга ..............................................................................................12 Регистры и стек ....................................................................................................12 Флаги .....................................................................................................................15 Инструкции ...........................................................................................................17 Режимы адресации ...............................................................................................19 Реальный режим ...................................................................................................20 Защищенный режим ............................................................................................20 Многосегментная модель памяти .......................................................................20 Длительный режим (Long Mode) .........................................................................21 О реверсинге ........................................................................................................21 Ассемблер и компиляторы ..................................................................................21 Отладчики и дизассемблеры ...............................................................................23 Только виртуализация ..........................................................................................25 Основы реверсинга, начинаем ломать ...............................................................25 О патчинге ............................................................................................................25 Подведем промежуточные итоги ........................................................................29 Пишем кейген .......................................................................................................30 Виды механизмов защиты...................................................................................30 Разбор крякми .....................................................................................................31 Пишем кейген .......................................................................................................34 Заключение ...........................................................................................................40 Глава 2. 0x06f16 Переполняем и эксплуатируем........................................................41 Переполнение буфера...........................................................................................41 Суть проблемы.......................................................................................................42 Подопытный код...................................................................................................43 Методы поиска уязвимостей................................................................................44 Метод белого ящика.........................................................................................44 Метод серого ящика ........................................................................................45 Метод черного ящика......................................................................................47 Фаззинг..............................................................................................................47 Подключаем отладчик...........................................................................................48 Готовый шелл-код.................................................................................................58 Прямой и обратный шелл.....................................................................................59 Генерируем прямой шелл................................................................................61 Генерируем обратный шелл............................................................................63 Заключение............................................................................................................68 Глава 3. 0x05f1b Забираемся в чужие EXE’шники.......................................................69 Инъекции кода в выполнимые файлы......................................................................69 Не только расширение............................................................................................70 MZ и другие............................................................................................................71 Сигнатура...............................................................................................................71 Структура...............................................................................................................71 Таблица импорта...................................................................................................72 Таблица экспорта..................................................................................................72 Таблица перемещений..........................................................................................72 Следы компиляторов............................................................................................74 Прячемся в «пещере кода» ..................................................................................83 Заключение.......................................................................................................98 Глава 4. 0x04704 Свой код среди чужого.............................................................99 Инъекции процессов в Windows .........................................................................99 Байты плохие и очень плохие............................................................................100 Пишем инжектор.................................................................................................101 Эксплуатируем.....................................................................................................103 DLL-инъекция кода ............................................................................................105 Динамические библиотеки............................................................................105 Создаем свою DLL..........................................................................................105 Отражающая DLL-инъекция .........................................................................108 Учимся отражать............................................................................................109 Эксплуатируем................................................................................................110 Инжектируем..................................................................................................111 Заглянем под капот........................................................................................113 Mimikatz: инъекции для взрослых................................................................114 Препарируем Mimikatz..................................................................................120 Заключение..........................................................................................................127 Глава 5. 0x04b35 Мешаем отладке...................................................................... 128 Защищаемся от реверсинга................................................................................128 Антиотладка.........................................................................................................129 IsDebuggerPresent...........................................................................................129 Полный PEB....................................................................................................136 Код смерти......................................................................................................140 Атака на отладчик..........................................................................................144 Родительский процесс...................................................................................146 Подключение к процессу...............................................................................149 Родительский процесс...................................................................................151 Отладочные регистры....................................................................................153 Скрываемся из TEB........................................................................................160 Плагины для отладчика x64dbg.....................................................................161 Плагины для сокрытия IDA Pro.....................................................................164 Заключение......................................................................................................164 Глава 6. 0x04d56 Прячемся в дебрях ОС............................................................. 165 Прячемся в автозагрузку....................................................................................165 Работа с реестром................................................................................................166 Функции для работы с реестром............................................................................166 Раздел Startup......................................................................................................170 Ветка Run........................................................................................................171 Сервисы...........................................................................................................174 Установка сервиса..........................................................................................181 Другой путь.....................................................................................................190 И снова реестр................................................................................................191 Скрытый отладчик.........................................................................................195 Запуск через обновления...............................................................................198 Переселяем папки..........................................................................................200 Планировщик задач.............................................................................................201 Инъекция DLL в уже запущенный процесс.............................................................202 …И просто ярлыки................................................................................................210 Заключение.........................................................................................................211 Глава 7. 0x04e97 Оконный реверсинг без ассемблера............................................ 212 Платформа .NET....................................................................................................212 Необходимые инструменты....................................................................................217 Пример обфускации..............................................................................................237 Заключение..........................................................................................................242 Глава 8. 0x04e98 Разбираем упаковку................................................................... 243 Упаковка и обфускация.........................................................................................243 Разбор обфусцированного крякми..........................................................................248 Заключение..........................................................................................................258 Глава 9. 0x04d59 Исследуем вредоносы................................................................ 259 Анализ вредоносов...............................................................................................259 Виды вредоносов..................................................................................................259 Об инструментах..................................................................................................262 Препарируем блокировщик...................................................................................263 Препарируем шифровальщик.................................................................................272 Заключение..........................................................................................................281 Глава 10. 0x04b3a ROP: видишь код? А он есть!..................................................... 282 Код без кода.........................................................................................................282 String-oriented programming..................................................................................286 Sig return-oriented programming.............................................................................288 Blind Return Oriented Programming..........................................................................289 Аналогичные атаки...............................................................................................289 Эксплуатируем ROP...............................................................................................290 Заключение..........................................................................................................298 Глава 11. 0x0470b Кукушка против вредоносов...................................................... 299 Песочницы...........................................................................................................299 Cuckoo Sandbox....................................................................................................300 Заключение..........................................................................................................321 Глава 12. 0x05f04 Копаемся в памяти с помощью Volatility....................................... 322 Форензика............................................................................................................322 Статический анализ..............................................................................................323 Динамический анализ...........................................................................................323 Заключение..........................................................................................................330 Глава 13. 0x06f01 Полезный инструментарий Remnux............................................ 331 Дистрибутив REMnux............................................................................................332 Установка REMnux................................................................................................332 Вариант из контейнера.........................................................................................333 Общие действия по анализу подозрительного файла..............................................334 Начинаем анализ.................................................................................................334 Стереть нельзя отправить.....................................................................................338 Cutter..................................................................................................................343 Заключение.........................................................................................................360 Глава 14. 0x00f00 Заключение............................................................................. 361 Глава 15. 0x0cf00 Приложения............................................................................. 365 Приложение № 1. Инструкции языка ассемблера....................................................365 Приложение № 2. Горячие клавиши x64dbg............................................................371 Приложение № 3. Горячие клавиши IDA Pro...........................................................373 Глава 16. 0x14f00 Библиография.......................................................................... 375
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum You cannot attach files in this forum You can download files in this forum