Новые публикации

Заголовок
Оценка
Ответов
Последнее сообщение

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

    24 июн 2018

    На протяжении этого курса мы видели основы использования IDA для выполнения статического реверсинга, распаковки, эксплоитинга. У нас остаются ещё несколько тем для обсуждения, но внутри темы об эксплуатации у нас остается одна из наиболее тяжелых форм эксплуатации и которая пугает большое количество людей. Мы рассмотрим атаку USE AFTER FREE. Мы в довольно полной форме в нескольких упражнениях рассмотрели тему переполнений буфера, как эксплуатировать и переполнять буферы в стеке и куче и...
    Читать далее
    Лайков +3 Комментариев2 Просмотров6.571

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

    20 июн 2018

    [ATTACH] LEA EAX, DS:110H[EAX*4] Программа умножает значение 0x2 на 4 и складывает полученное значение со значением 0x110 и затем вычитает из найденного значения HEAP_BUCKET и сохраняет результат в переменную VAR_2C. Этот адрес, который сохраняется в переменную VAR_2C является началом таблицы LFH, так как HEAP_BUCKETS находится по смещению 0x110 и должен быть равен 8, потому что поле находится внутри таблицы BUCKETS, поэтому в переменной VAR_2C программа сохраняет значение 0x24ACF8,...
    Читать далее
    Лайков +4 Комментариев5 Просмотров5.815

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

    3 июн 2018

    Мы будем стараться продолжать обсуждать распределение, чтобы увидеть сможем ли мы понять логику распределения и увидеть, что говорит программа, если распределение происходит в LFH или в СТАНДАРТНОЙ КУЧЕ. Мы будем продолжать использовать исполняемый файл из того же практического упражнения. Мы загружаем исполняемый файл вне IDA из консоли, не используя скрипт PYTHON. Мы вводим номер, который нас просит программа (1073741828), присоединяем WINDBG к IDA как отладчик, помещаем BP на функцию...
    Читать далее
    Лайков +1 Комментариев2 Просмотров5.568

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

    2 июн 2018

    Давайте попробуем прояснить некоторое вещи, которые мы ещё не упоминали в теме о куче и которые очень необходимы. Мы будем делать это снова смотря на упражнение PRACTICA 44 о котором мы говорили в WINDOWS 7. Мы снова посмотрим на него же в тех же программах. Хорошо заметить, что способ обработки кучи очень сильно изменился от XP к WINDOWS 7, и имеет больше изменений даже до WINDOWS 10. Поэтому способы эксплуатации, которые работали в одной системе, могут не работать в другой. Верно также,...
    Читать далее
    Лайков +1 Комментариев1 Просмотров5.953

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

    8 май 2018

    Хорошо. Мы будем рассматривать упражнение из 44 главы. http://ricardonarvaja.info/WEB/INTRODUCCION AL REVERSING CON IDA PRO DESDE CERO/EJERCICIOS/PRACTICA_44.7z Прежде чем это сделать, давайте рассмотрим некоторые вещи. Эксплоиты для кучи сильно зависят от программы и её уязвимости. Некоторое из уязвимостей эксплуатируются, а некоторые нет. Во многом надежность (процент правильной работы против некорректной работы программы) меньше чем для других типов эксплоитов, которые эксплуатируют...
    Читать далее
    Лайков +2 Комментариев2 Просмотров5.555

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

    4 май 2018

    Мы будем снова продолжать практиковаться с упражнением PRACTICA41B, но на этот раз в WINDBG, используя MONA вне IDA. Конечно, мы будем использовать тот же исполняемый файл, который уже имеет байты EB FE и поэтому программа зациклена. В любом случае, хорошо держать файл также открытым в ЗАГРУЗЧИКЕ IDA без отладки, чтобы всё было ясно. Основная идея состоит в том, чтобы увидеть какую информацию мы получаем в обоих случаях, используя WINDBG внутри IDA или используя WINDBG вне IDA, но пользуясь...
    Читать далее
    Лайков +5 Комментариев4 Просмотров5.591

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

    2 май 2018

    Конечно, нам нужно решить упражнение PRACTICA_44, но мы будем решать его в следующих частях. Сейчас мы увидим дополнительную информацию, которую мы можем получить используя WINDBG внутри IDA. Мы будем использовать предыдущий случай PRACTICA 41B, про который мы знаем, что это переполнение кучи. Мы перейдём от отладчика IDA к WINDBG и убедимся, что он находится в режиме USER через DEBUGGER OPTIONS. [ATTACH] Мы меняем GFLAGS для того, чтобы процесс имел включенный PAGE HEAP в режиме FULL....
    Читать далее
    Лайков +5 Комментариев1 Просмотров5.661

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

    21 апр 2018

    Давайте решать практическое упражнение 41B. [ATTACH] Если мы перейдем в меню DEMANGLED NAMES → NAMES, мы увидим, что анализ выглядит лучше. Даже если IDA не показывает функцию с именем NEW, а показывает числовой адрес, оператор NEW очень похож на функцию MALLOC. В исходном коде, очевидно, оператор NEW применяется к объекту и программа внутренне вызывает функцию MALLOC, резервирую память для объекта и функции MALLOC непосредственно передается числовой размер, но здесь, нет большой разницы....
    Читать далее
    Лайков +3 Комментариев2 Просмотров6.283

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

    21 апр 2018

    В 41 части, для практики было оставлено два упражнения. К сожалению, никто не прислал мне решения. Это заставляет меня задаться вопросом, стоит ли оно того, что я делаю. По крайней мере для меня это сейчас вопрос. Ни обратной связи, ни вопросов ко мне. Ничего нет. Это заставляет меня переосмыслить вещи и спросить себя, стоит ли мне заходить с этим курсом так далеко, как я думал с самого начала. Мы увидим, какое решение мы примем в отсутствии обратная связь. Сейчас же, мы будем решать...
    Читать далее
    Лайков +3 Комментариев2 Просмотров6.151

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

    11 апр 2018

    Мы продолжаем практиковать и рассматривать примеры. В нашем случае, это код, который имеет разные способы обработки и размещения строк. [ATTACH] Мы видим, что существует несколько массивов символов и затем, в конце кода, программа печатает адреса каждого из массивов, чтобы увидеть где они находятся. Здесь мы не ищем уязвимость или чего-то ещё. Мы только смотрим расположение данных. Давайте откроем исполняемый файл в ЗАГРУЗЧИКЕ. Мы заставляем его загрузить символы. Теперь мы видим функцию...
    Читать далее
    Лайков +3 Комментариев1 Просмотров7.678

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

    9 апр 2018

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

    Антиинжект

    29 мар 2018

    Установка/снятие данной защиты осуществляется с правами Администратора. Защита начинает работать только после перезагрузки. Это тестовая версия. Совместимость: Windows XP (все SP) Windows Server2003, проверялась на PIV с HT и NX. Никаких потерь производительности и расходов памяти в систему не вносится. В Ваши и вновь создаваемые процессы никакой код не внедряется, никаких драйверов не устанавливается, системные файлы не изменяются. Разработано в 2008г по своей оригинальной...
    Читать далее
    Лайков +2 Комментариев2 Просмотров3.904

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

    25 мар 2018

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

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

    24 мар 2018

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

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

    19 мар 2018

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

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

    13 мар 2018

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

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

    12 мар 2018

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

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

    11 мар 2018

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

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

    11 мар 2018

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