Введение в реверсинг с нуля, используя IDA PRO. Часть 64. Часть 2.

12 апр 2019

Проблема здесь заключается в том, что в первом вызове MEMCPY функция DESTINATION является P_DEST, откуда она получает значение, возможно, наше, с размером 0x20, но здесь не ясно, кто является источником MEMCPY, кажется, что программа вычисляет его в той же функции, поэтому нам придется немного проанализировать её, чтобы увидеть, откуда исходит SRC и, конечно, наше значение, которое будет в первом WORD этого буфера, как SRC, так и DESTINATION, так как программа копирует в другие первые 0x20...
Читать далее
Лайков 0 Комментариев0 Просмотров3.374

Перекрытие кода с переходом вперед по коду программы. Часть 10.

9 апр 2019

Перед рассмотрением этой части следует изучить две предыдущие. Рассмотрим программу 7.5, в которой применена технология перекрытия кода, но с переходом вперед по коду программы. Программа 7.5.include win64a.inc .data .code WinMain proc sub rsp,28h; mov rbp,rsp mov ax,05EBh jmp $ + 5 ; перепрыгивает свои 2 байта и 3 байта dec r9 dec r9 ; 49:FFC0 inc r10 ; выполняем с этой команды mov r8,1 mov eax,06EB0000h jmp $ + 6 ; перепрыгивает свои 2 байта и следующие 4 dec cl ; FEC9 dec al ;...
Читать далее
Лайков 0 Комментариев0 Просмотров2.761

Перекрытие кода с переходом назад по коду программы. Часть 9.

9 апр 2019

Рассмотрение этой части невозможно без изучения предыдущей части. При рассмотрении программы, в котором применена технология перекрытия кода необходимо с начала открыть отладчик, т.к. только в нем приведены все коды операций и данные в машинном представлении. В программе 7.4 применена технология перекрытия кода с переходом назад по коду программы. Программа 7.4.include win64a.inc .code WinMain proc sub rsp,28h; mov rbp,rsp mov ax,05EBh jmp $ - 2 ; пропуск 2 байтов EB 05 и остановка на EB...
Читать далее
Лайков 0 Комментариев0 Просмотров2.184

Перекрытие кода. Часть 8.

9 апр 2019

Хороший программист не брезгует ассемблером. А тот, кто умеет использовать прием "перекрытие кода", тот уже близок к профессионалу. Осталось к уже изученному освоить приемы скрытия вызова функций, самомодификации кода, исполнения кода в стеке, шифрование кода или его части и еще чуть чуть – и вы профессионал или программист-фокусник! Суть метода перекрытия кода состоит в том, что часть одной машинной команды может быть другой командой. Например, команда mov может загрузить в регистр число,...
Читать далее
Лайков +1 Комментариев0 Просмотров2.676

Внедрение кода. Добавление новой секции. Часть 7.

5 апр 2019

Основной алгоритм добавления новой секции Решение проблемы доступного пространства при помощи добавления новой секции имеет некоторые недостатки. Практически все антивирусы опознают нестандартные секции, и если, к тому же, там есть полный набор флагов на чтение/запись/выполнение, то эта ситуация выглядит еще более подозрительно. Но такой способ дает огромное преимущество в объеме внедренного кода. В начале проведения внедрения необходимо получить общие сведения о файле: определение языка...
Читать далее
Лайков +1 Комментариев1 Просмотров4.814

Внедрение кода в ехе-файл в конец секции c добавлением API-функций. Часть 6

5 апр 2019

Общие сведения При внедрении как внешнего кода, так и тем более дополнительных функций в этом коде, сначала необходимо выяснить размер секции кода и количество свободных в ней байт. Даже для обычных учебных программ свободного места в секции для внедрения функций может уже и не хватать. Внедрение новых API-функций в чужой код не очень сильно отличается от внедрения команд. При внедрении API-функций необходимо не только знать количество и назначение входящих в них параметров, но и как эти...
Читать далее
Лайков +2 Комментариев1 Просмотров12.260

Исследуем эксплоит CVE-2012-0158

29 мар 2019

Всем привет. Сегодня мы будем исследовать rtf эксплоит CVE-2012-0158, и посмотрим как он работает изнутри. Для исследований нам понадобится хекс редактор (я использую 010-Editor), отладчик (я использую OllyDbg) и просмотрщик составных OLE файлов (я использую SS Viewer). Для тестирования - Word 2007. Итак приступим. В описании написано что эксплоит использует переполнение буфера для запуска кода в стеке используя уязвимость в MSCOMCTL.OCX, подменяя адрес возврата. Данные для исследования...
Читать далее
Лайков +1 Комментариев0 Просмотров2.627

«Hello world» в машинных кодах

29 мар 2019

Всем привет. Как известно большинство из нас создают программы используя языки высокого уровня, некоторые также используют ассемблер. Сегодня мы с вами напишем программу используя только HEX редактор. Подразумевается что читатель знает строение исполняемых файлов хотя бы поверхностно, поэтому я не буду углубляться в детали, к тому же я уже приводил небольшой обзор загрузчика EXE файлов на VB6. Итак поехали... Для начала определимся с функциональностью приложения и используемыми...
Читать далее
Лайков +1 Комментариев0 Просмотров10.572