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

9 апр 2018

УНИВЕРСАЛЬНЫЙ ШЕЛЛКОД Существует тысячи типов шеллкодов. Каждый из них разработан в соответствии с целью, которую мы должны эксплуатировать. Существую шеллкоды, которые используются для доказательства того, что вы можете запустить код после эксплуатации. Обычно они запускают калькулятор и ничего больше. Очевидно, что существуют более сложные шеллкоды, которые открывают удаленные консоли, стараются остаться в системе не смотря на то, что эксплуатируемая программа перестает работать или...
Читать далее
Лайков +3 Комментариев2 Просмотров6.433

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

25 мар 2018

CANARY и SEH. Мы уже видели, что такое переменная CANARY. Это случайное значение, которое помещается в стек непосредственно перед сохраненным регистром EBP и адресом возврата. Так что, если это значение перезаписывается, программа проверяет это значение(Это необходимо нам для перезаписи адреса возврата). Если это значение тоже самое, то оно сохраняется, а если оно неправильное, то программа закрывается, избегая исполнение кода. Приложенный файл - это файл CANARY_SIN_DEP.EXE. Позже, в...
Читать далее
Лайков +3 Комментариев1 Просмотров7.158

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

24 мар 2018

Хорошо. Мы будем делать тот же пример, который мы делали в предыдущей части, но на этот раз используя плагин MONA внутри отладчика WINDBG. Мы знаем, что MONA не запускается в IDA. Поэтому мы открываем WINDBG вне IDA. Я запускаю файл DEP.EXE из консоли с несколькими аргументами, чтобы он не закрывался. Программа будет ожидать ввода данных с клавиатуры. [ATTACH] Я мог бы запустить программу также и с помощью WINDBG. Это было бы те же самым. Нам просто нужно остановиться в том месте, где...
Читать далее
Лайков +3 Комментариев3 Просмотров7.032

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

19 мар 2018

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

Прикладной SIMD 003: прежде, чем начать (часть 2)

13 мар 2018

Инициализация DSP-модуля После того, как мы смогли корректно идентифицировать необходимые нам расширения процессора, возникает необходимость в инициализации всего DSP-модуля. Частично мы уже выполнили большую часть работы, написав код идентификации и поиска поддерживаемых расширений процессора. Теперь осталось открыть завесу над тайной, зачем всё это нам нужно. Давайте представим себе ситуацию, когда нам необходимо выполнить какую-то функцию, осуществляющую достаточно нетривиальные и...
Читать далее
Лайков +1 Комментариев0 Просмотров2.708

Прикладной SIMD 003: прежде, чем начать (часть 1)

12 мар 2018

Предисловие В этой статье мы рассмотрим необходимый минимум действий для того, чтобы подготовить почву для работы с SIMD. Для этого необходимо выполнить ряд действий: удобно организовать проект; написать функцию идентификации процессора и поиска расширенных наборов инструкций; реализовать механизм инициализации всего DSP-модуля; написать функции инициализации и восстановления машинного контекста; собрать всё воедино с нужными опциями. Организация проекта Для того, чтобы впоследствии...
Читать далее
Лайков +1 Комментариев0 Просмотров2.515

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

11 мар 2018

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

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

11 мар 2018

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