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

17 дек 2018

Мы рассмотрим другой случай в уязвимом драйвере. Теперь поговорим о INTEGER OVERFLOW. Многие спрашивают меня, почему бы не проанализировать его непосредственно в C или C++. Проблема состоит в том, что некоторые из них уже сделаны на C и C++. Методы те же самые. Поэтому перенос их на PYTHON не только приносит что-то новое, но и заставляет нас практиковаться в PYTHON и библиотеке CTYPES, что является для нас важным. Для тех, кто хочет увидеть методы, исходный код доступен здесь:...
Читать далее
Лайков +2 Комментариев4 Просмотров4.425

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

5 дек 2018

Перед тем, как начинать объяснять скрипт на PYTHON давайте скажем, что он основан на коде языка C, который находится на странице уязвимого драйвера. https://github.com/hacksysteam/HackSysExtremeVulnerableDriver/tree/master/Exploit Этот метод достаточно старый. Мы использовали его в моей работе совсем недавно. Хотя мы не использовали библиотеку CTYPES поэтому если есть какая-либо ошибка при использовав CTYPES, разработчики просят их простить. И это не то что я использую каждый день. Мы...
Читать далее
Лайков +1 Комментариев1 Просмотров4.691

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

29 ноя 2018

Давайте рассмотрим ARBITRARY OVERWRITE(записать то, что мы хотим туда куда мы хотим) того же самого уязвимого драйвера. Конечно, я хочу уточнить, что это старый метод, который работает только на WINDOWS XP и WINDOWS 7, и в этом случае только для машин x86. НА МАШИНАХ С WINDOWS 7 64 БИТ ЭТО НЕ БУДЕТ РАБОТАТЬ. По крайней мере если не адаптировать немного эксплоит. Мы должны хорошо проверить некоторые значения которые не равны. Наша цель - это 32-х битная WINDOWS 7. Но всё равно это нам...
Читать далее
Лайков +2 Комментариев2 Просмотров4.056

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

3 ноя 2018

Хорошо. Нам осталось добавить сам шеллкод. Это типичный шеллкод, который крадет токен процесса SYSTEM и копирует его в наш процесс. Он очень короткий. Но стоит его хорошо проанализировать. shellcode="\x53\x56\x57\x60\x33\xC0\x64\x8B\x80\x24\x01\x00\x00\x8B\x40\x50\x8B\xC8\xBA\x04\x00\x00\x00\x8B\x80\xB8\x00\x00\x00\x2D\xB8\x00\x00\x00\x39\x90\xB4\x00\x00\x00\x75\xED\x8B\x90\xF8\x00\x00\x00\x89\x91\xF8\x00\x00\x00\x61\x33\xC0\x83\xC4\x0C\x5D\xC2\x08\x00" Шеллкод - довольно общий. То, что...
Читать далее
Лайков +1 Комментариев2 Просмотров5.609

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

3 ноя 2018

Хорошо. Мы будем пытаться эксплуатировать переполнение стека из скрипта PYTHON. Обычно эксплуатация ядра происходит локально. Другими словами, скрипт уже эксплуатирует некоторую программу, которая не имеет привилегий системы и хочет повысить привилегии и быть с правами SYSTEM, что устраняет ограничения, которые имеет эксплуатируемый процесс, который имеет только ограниченные привилегии обычного пользователя на машине. Поэтому, за исключением очень редких исключений, эксплойты ядра - это...
Читать далее
Лайков +7 Комментариев5 Просмотров4.997

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

28 окт 2018

Давайте теперь рассмотрим драйвер, который запрограммирован с различными уязвимостями, чтобы понять, как их эксплуатировать. Как и всегда мы будем использовать WINDOWS 7 SP1 без какого-либо патча безопасности. Мы знаем, что здесь всё будет работать. Затем мы увидим, какие изменения есть ниже и какие другие возможности существуют в новых системах. Но мы будем идти потихоньку и никуда не будем спешить. У нас есть драйвер, скомпилированный с символами. У вас есть возможность эксплуатировать...
Читать далее
Лайков +1 Комментариев1 Просмотров5.173

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

26 окт 2018

Давайте рассмотрим следующий пример. Но поскольку, в этом случае, мы будем изменять значение переменной из ядра, мы должны понимать, что мы делаем. Иначе мы спровоцируем синий экран. Первую вещь, которую мы будем делать, это загрузим предыдущее упражнение и отладим его с помощью WINDBG, чтобы увидеть значение, необходимое для этого примера. Поскольку, я не говорю, что значение является таковым, потому что это смещение изменяется от системы к системе, несмотря на то оно уведомляет меня о...
Читать далее
Лайков +1 Комментариев1 Просмотров4.708

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

22 окт 2018

Мы собираемся немного изменить предыдущее упражнение, а также сделаем программу для пользовательского режима, прямо в PYTHON. Для этого, на целевой машине, где запущен драйвер, мы должны установить PYTHON. Я установил версию 2.7, а также загрузил инсталлятор PYWIN32, который соответствует моей версии PYTHON. https://sourceforge.net/projects/pywin32/files/pywin32/Build 214/ Поскольку моя версия PYTHON равна 2.7, то скачайте этот файл. [ATTACH] Это инсталлятор. Запускаем его и он...
Читать далее
Лайков +1 Комментариев0 Просмотров2.677