Реверсинг и эксплойтинг с помощью бесплатных инструментов. Часть 1

Дата публикации 18 ноя 2024 в 00:14
Реверсинг и эксплойтинг с помощью бесплатных инструментов
Это начало нового тренинга, который будет посвящен реверсингу и эксплойту для Windows с помощью бесплатных и доступных инструментов (IDA FREE, Radare, Windbg, X64dbg, Ghidra и т.д.).

В этот раз не будет использоваться ни один платный инструмент, и идея не в том, чтобы создать какую-то конкуренцию между различными бесплатными инструментами, мы будем учиться использовать каждый из них, и в моем случае учиться использовать Radare и Ghidra, оба инструмента я не использую в своей повседневной жизни, и я постараюсь использовать их как можно лучше, поскольку я не эксперт ни в одном из этих двух инструментов, если кто-то увидит какую-то ошибку или лучший способ использовать их, было бы неплохо дать мне знать, и я исправлюсь и тоже буду учиться.

Этот тренинг начнется с установки инструмента, затем немного теории уязвимостей и, наконец, очень простые примеры эксплуатации, сложность которых будет возрастать по мере прохождения курса. Введение в сборку и инструкции по сборке рассматриваться не будут, потому что это было рассмотрено в тренинге «REVERSING CON IDA PRO», на предыдущих тренингах и во многих других местах в интернете, здесь же мы сразу перейдем к реверсингу и эксплуатации. Обратись ко всем предыдущим тренингам, если у тебя возникнут сомнения с инструкциями по сборке.
Чтобы настроить свою рабочую среду, первым делом я установлю инструменты.


УСТАНОВКА IDA FREE


IDA FREE можно скачать с сайта:
https://www.hex-rays.com/products/ida/support/download_freeware.shtml

[​IMG]
Оттуда скачай файл idafree***_windows, его довольно легко установить, просто следуй инструкциям установщика, и ты быстро запустишь IDA FREE на своей машине.

[​IMG]

УСТАНОВКА RADARE


Следующим шагом будет установка radare2. Radare можно скачать с сайта: https://github.com/radareorg/radare2/releases
Там мы переходим к последнему релизу.

[​IMG]

На момент написания этого документа последним релизом является 3.9.0, в будущем будет еще более новый, это не имеет значения, просто скачай самый новый установщик для Windows.

[​IMG]

Установка также проста, после завершения инсталляции просто включи в переменную окружения путь, по которому был установлен radare.

[​IMG]

Внутри окна Environment Variables переходим в переменную path и добавляем эти две строки (пропиши свои пути, если ты устанавливал в другом месте):

C:\Users\<user_name>\AppData\Local\Programs\radare2

C:\Users\<user_name>\AppData\Local\Programs\radare2\bin

[​IMG]


Идея заключается в том, что из командной строки (CMD) мы можем вызвать команду radare2, и windows должна ее распознать.

[​IMG]



УСТАНОВКА GHIDRA


Установить GHIDRA тоже довольно просто, достаточно зайти на их веб-страницу: https://ghidra-sre.org/

[​IMG]

Там нужно просто скачать zip (в моем случае на момент написания статьи это был ghidra_9.1-BETA_DEV_ 20190923.zip) и распаковать его куда хочешь. Я создал виртуальную машину в VMWARE, без подключения к интернету, я использую ее только для GHIDRA, не то чтобы я не доверял АНБ, но лучше работать в такой среде.

После того как утилита распакована, нам нужно установить совместимую Java машину, на веб-странице Oracle ты можешь скачать ее, или же можно скачать ее из других мест (https://www.filehorse.com/es/descargar-java-development-kit-64/36775/) В моем случае я скачал этот инсталлятор, после завершения установки добавь путь java, где находится исполняемый файл java (обычно это путь к папке bin), в переменную окружения path, как было показано ранее.

Версия 11 рекомендована для совместимости, информация с веб-страницей GHIDRA.
Другие люди, которые использовали GHIDRA, рекомендуют 11-ю версию OpenJDK, ты можешь скачать ее отсюда: https://adoptopenjdk.net/releases.html?variant=openjdk11&jvmVariant=hotspot

[​IMG]

[​IMG]

При установке с помощью инсталлятора OpenJDK можно автоматически добавить его в переменную PATH:

[​IMG]

Как только Java будет добавлена в твоем окружении, мы сможем запустить GHIDRA:

[​IMG]


Просто щелкаем bat-файл, и GHIDRA загружается:

[​IMG]

Установлен еще один инструмент!


УСТАНОВКА X64DBG


Что касается этой программы, то почти каждый день появляются новые снапшоты, просто зайди на их веб-страницу sourceforge и установи последний: https://sourceforge.net/projects/x64dbg/files/snapshots/


[​IMG]

В моем случае это был snapshot_2019-10-14_00-57.zip.
После того как мы разархивировали файл, в проводнике перейдите в папку release:

[​IMG]

Когда ты запустишь его с правами администратора, появится окно запуска, в котором тебе нужно будет выбрать, какую версию ты хочешь запустить (32 или 64 бит).

[​IMG]

[​IMG]

Snowman был частью x64dbg, но теперь это плагин, который мы можем скачать и установить. Этот плагин будет декомпилировать наши двоичные файлы в x64dbg, так как IDA FREE не поставляет декомпилятор Hex-rays, просто скачай его и скопируй в папку plugins.

https://github.com/x64dbg/snowman/releases/tag/plugin-v1

[​IMG]

Тот, что 32 бит, отправляется в папку 32 битных плагинов, а 64 бит - в папку плагинов 64 битной версии.

[​IMG]

[​IMG]

УСТАНОВКА WINDBG


Если у тебя Windows 10, то для установки windbg тебе нужно просто зайти в Microsoft STORE и найти WINDBG, как только он появится, мы сможем установить его оттуда.

[​IMG]

Отсюда автоматически устанавливается WINDBG PREVIEW, это самая новая версия. Если у тебя Windows 7, то тебе придется установить предыдущую версию Windbg.

https://drive.google.com/open?id=1UEPBecOoir-nhyRK-RHOAhRq05ZtlW1y
У тебя есть несколько старых версий:

[​IMG]

Следующий шаг - настройка символов для WINDBG, для этого создай папку symbols в на диске «C:\», а затем перейди в окно Environment variables и создай переменную _NT_SYMBOL_PATH.

[​IMG]

Как значение (Variable value):

SRV*c:\symbols*http://msdl.microsoft.com/download/symbols

При этом мы уже установили WINDBG PREVIEW.

[​IMG]


УСТАНОВКА ШЕСТНАДЦАТИРИЧНОГО РЕДАКТОРА


Для этого шага мы можем просто скачать HxD, который является бесплатным и хорошо работает.
https://mh-nexus.de/en/hxd/

[​IMG]


УСТАНОВКА PYTHON


Мы установим Python 3 - это самая новая версия, которая пригодится нам для создания эксплойтов для каждого упражнения.

https://www.python.org/downloads/

[​IMG]

Просто скачай последнюю версию. На момент написания этого документа она была:

Python-3.8.0-amd64.exe

Для агрегации Python.exe в переменную окружения PATH есть опция в инсталляторе, просто нажми на нее, и все будет сделано автоматически.

Обычно путь установки выглядит так:

C:\Users\XXXXX\AppData\Local\Programs\Python\Python38
(Только учти, что в твоем случае Python38 может быть другим). Суть в том, что мы должны иметь возможность выполнить Python в командной строке.

[​IMG]


УСТАНОВКА PYCHARM COMMUNITY


Это будет наша интегрированная среда разработки (IDE) для python. Просто перейди на веб-страницу jetbrains: https://www.jetbrains.com/pycharm/download/

[​IMG]

В моем случае последней версией PyCharm является pycharm-community-2019.2.3.exe, для тебя она может быть другой:

[​IMG]

Установи все эти параметры, чтобы он был включен в переменную окружения PATH. После установки создай новый проект:

[​IMG]

В меню RUN->DEBUG проверь, чтобы опция «Python interpreter» указывала на наш интерпретатор Python (в моем случае Python 3.8).

[​IMG]

Также в НАСТРОЙКАХ найди пункт PROJECT INTERPRETER и проверь, что обнаружен Python 3.8 (или та версия, которую ты решил установить).

[​IMG]

Это позволит тебе создавать файлы в формате .txt, менять расширение на .py и перемещать их в Pycharm.

[​IMG]

Например, файл примера с именем pepe.txt был переименован в pepe.py и перетащен в Pycharm. Когда ты нажмешь кнопку «Run», должен появиться следующий экран:

[​IMG]

И наконец, в консоли экрана pycharm должно быть выведено следующее:

[​IMG]

Pycharm, когда мы набираем текст, pycharm должен автоматически заполнить его, и если мы наведем мышкой на слово «os», то при нажатии CTRL и клике pycharm должен перенести нас в код питоновской библиотеки «os».

[​IMG]

На этом мы закончили первую часть, мы установили инструменты для нашей среды эксплойтинга. Во второй части мы начнем с небольшой теории о переполнении буфера и с первых простых упражнений, некоторые из которых будут объяснены шаг за шагом, а другие останутся для тебя упражнениями на решение (я призываю тебя попытаться их решить, это лучший способ научиться).

Увидимся во второй части тренинга

Ricardo Narvaja (www.ricardonarvaja.info)

Переведено на Русский Tuzer.

18/10/2019

===============================

Источник: http://ricardonarvaja.info/WEB/EXPL...EVERSING AND EXPLOITING USING FREE TOOLS.docx

Вложения:


0 31
Tuzer

Tuzer
New Member

Регистрация:
3 май 2019
Публикаций:
1