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

19 мар 2018

Хорошо. Давайте начнем работать с версией программы, которая имеет защиту DEP. Мы знаем, что программа похожа на предыдущую, но что произойдёт, если мы запустим скрипт для версии где защита DEP отсутствует. Изменим путь в скрипте, для того, чтобы он указывал на файл DEP.EXE. [ATTACH] Я запускаю скрипт и присоединяюсь к процессу помощью IDA, которая уже имеет анализ файла DEP.EXE. [ATTACH] Я установлю BP сразу после функции GETS, чтобы увидеть, что происходит в функции SALUDA, так как...
Читать далее
Лайков +4 Комментариев8 Просмотров6.708

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

11 мар 2018

Я скомпилировал две программы. Первую программу скомпилировал с защитой DEP, а вторую программу - без этой защиты. Код везде один и тот же. Но в этом случае, вместо того, чтобы изменять код и компилировать программу, я напрямую вызываю API функцию SETPROCESSDEPPOLICY. В первой программе, я вызываю эту функцию с аргументом 0 (без использования защиты DEP), а во второй программе - с аргументом 1 (с использованием защиты DEP). Если я запущу обе программы и посмотрю на них через утилиту PROCESS...
Читать далее
Лайков +3 Комментариев3 Просмотров7.576

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

11 мар 2018

Давайте начнём с эксплуатации и возможного выполнения кода. Конечно, мы должны учитывать смягчения и учиться противостоять новым защитам, которые были добавлены. Иногда мы сможем избежать их, а иногда и нет. Основная идея состоит в том, чтобы обучаться постепенно. Давайте сначала рассмотрим некоторые важные определения. ЧТО ТАКОЕ DEP ? [ATTACH] Предотвращение выполнения данных (DEP) представляет собой набор аппаратных и программных технологий, который выполняет дополнительные проверки в...
Читать далее
Лайков +4 Комментариев4 Просмотров7.691

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

27 фев 2018

У нас остался последний случай эксплуатации переполнения стека с защитами CANARY и DEP для перезаписи SEH. [ATTACH] Мы переименовываем имя исполняемого файла и присоединяемся к нему с помощью IDA, чтобы увидеть, что случиться. [ATTACH] Так же как и раньше, программа закрывается, когда стек заканчивается. Давайте посмотрим её SEH, [ATTACH] Как и в предыдущем случае, программа перезаписывает указатель на гаджет POP - POP - RET. Давайте установим здесь BP. [ATTACH] Я нажимаю клавишу F9...
Читать далее
Лайков +4 Комментариев1 Просмотров6.768

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

27 фев 2018

Мы установим пару плагинов для WINDBG, которые будут помогать нам дальше при работе. К сожалению эти плагины работают только в WINDBG, но если Вы запустите их в WINDBG, запущенном в IDA, они дадут сбой, возможно, потому что они конфликтуют с PYTHON, который включён в IDA, но мы будем использовать их в отдельном WINDBG, когда они нам понадобятся. Мы будем копировать файлы, которые я приложил, в каталог WINEXT, который находится внутри каталога, где установлен WINDBG и установим библиотеку...
Читать далее
Лайков +4 Комментариев10 Просмотров8.232

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

26 фев 2018

Подготовка WINDBG для работы с IDA. Один из инструментов, который нам необходимо установить - это отладчик WINDBG. Им можно управлять через интерфейс IDA. Это отличный отладчик. Может ему и не хватает комфорта, потому что почти все типы команд являются консольными и его немножко сложно использовать, но мы можем использовать отличный интерфейс, который предлагает IDA, отлаживая движком WINDBG. WINDBG очень полезен, когда мы хотим отлаживать ядро или получить хорошую информацию о состоянии...
Читать далее
Лайков +4 Комментариев5 Просмотров9.119

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

25 фев 2018

Я присоединяюсь к этому процессу. [ATTACH] Проиграв некоторое время ролик, отладчик остановится на BP. Я трассирую с помощью клавиши F7 и вижу, что в регистре EDX находится адрес БУФЕРА. [ATTACH] Я щелкаю на маленькую стрелку рядом с регистром EDX, которая переносит фокус в листинг. [ATTACH] Сейчас я делаю правый щелчок в стеке на этих данных и создаю массив из 32 байтов в десятичной системе. [ATTACH] У меня получается вот так. [ATTACH] Мы устанавливаем BP на запись в первом DWORD...
Читать далее
Лайков +3 Комментариев9 Просмотров7.406

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

4 фев 2018

Прежде чем делать упражнение из предыдущей части, я расскажу о некоторых моментах более подробно, которые остались в тени из-за моего быстрого объяснения и затем мы создадим POC. Один из моментов, который остаётся неясным заключается в том, что иногда мы принимаем размер массива, который предлагает нам IDA при выполнении правого щелчка и выбора пункта ARRAY. Иногда мы ставим предлагаемый нам размер под сомнение как в предыдущем примере и устанавливаем значение длины массива немного больше....
Читать далее
Лайков +4 Комментариев1 Просмотров6.548