Для тех кто не знает, совсем недавно Рикардо начал новый курс, который посвящен реверсингу и эксплоитингу. Это продолжение предыдущего оригинального авторского курса, который закончился на 67 главе. Я узнал про курс сразу, так как Рикардо подписал меня на свою рассылку КрэкЛатинос. После появления этой новости я сразу побежал искать папочку с английским переводом и очень обрадовался когда нашел его там. Над английским переводом постарался человек под ником Fare9, за что ему честь и хвала. Также я хочу передать привет и сказать спасибо Ильфаку Гильфанову за его прекрасный инструмент, которым пользуются в каждой стране. Перед ним я снимаю шляпу и делаю низкий поклон.
Мы начнём новый курс, который будет посвящен эксплоитингу и реверсингу в 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
Отсюда нужно загрузить файл IDAFREE70_WINDOWS, и сама установка очень проста. Просто следуйте инструкциям установщика и у вас на компьютере быстро появится иконка с IDA FREE.
УСТАНОВКА RADARE
Следующим шагом нужно установить RADARE2.
Нужно только перейти на страничку проекта:
https://github.com/radareorg/radare2/releases
Здесь нам нужно найти последний релиз.
На данный момент это версия 3.9.0. В будущем здесь будет доступна новая версия. Независимо от того, какая сейчас версия на сайте, нам нужно скачать установщик самой новой версии для WINDOWS.
Установка также очень проста. Просто добавьте путь в переменные окружения по которому он был установлен.
Здесь в переменную окружения PATH добавить следующие строки:
C:\Users\<nombre_de_usuario>\AppData\Local\Programs\radare2
C:\Users\<nombre_de_usuario>\AppData\Local\Programs\radare2\bin
Идея состоит в том, чтобы в командной строке (CMD) мы могли бы ввести RADARE2 и запустить его.
УСТАНОВКА GHIDRA
Установить GHIDRA также очень просто. Нужно только перейти на страничку проекта.
https://ghidra-sre.org/
Здесь нужно загрузить ZIP архив. В моем случае он назывался GHIDRA_9.1-BETA_DEV_20190923.ZIP, и я распаковываю его, например, на рабочий стол. Я создаю виртуальную машину VMWARE без подключения к Интернету, которую я буду использовать только для GHIDRA. Я не доверяю АНБ (какой параноик то, прим. Яши), поэтому лучше работать так.
После распаковки вы должны установить JAVA. Вы можете скачать её через страницу ORACLE или с других сайтов. В моем случае нужно скачать этот установщик и после завершения установки добавить путь к месту расположения JAVA BIN, к переменным среды окружения.
Версия 11 на странице GHIDRA говорит, что она наиболее самая подходящая.
Те, кто уже успел поиграться с GHIDRA также говорят, что версия OPENJDK 11 лучше всего подходит для неё.
https://adoptopenjdk.net/releases.html?variant=openjdk11&jvmVariant=hotspot
После загрузки установщика у вас есть возможность добавить путь к двоичному файлу JAVA.EXE через переменную среды PATH.
После завершения установки JAVA можно запустить GHIDRA.
Просто запустить этот BAT-ник и GHIDRA начнет загружаться.
Хорошо. У нас практически все готово.
УСТАНОВКА X64DBG
Новые снимки для этого отладчика выходят почти ежедневно.
https://sourceforge.net/projects/x64dbg/files/snapshots/
Конечно нам нужно загрузить самую последнюю сборку на текущий момент.
В моем случае это снапшот под именем SNAPSHOT_2019-10-14_00-57.ZIP
Как только мы распаковали архив нужно зайти в папку RELEASE.
При запуске от имени администратора нам появится лаунчер, чтобы мы могли выбрать 32-х или 64-х битную версию отладчика в зависимости от того что нам нужно.
Мы можем скачать плагин SNOWMAN для декомпиляции, так как IDA FREE не поставляется с плагином декомпиляции и добавить его в папку плагинов.
https://github.com/x64dbg/snowman/releases/tag/plugin-v1
32-х битную версию плагина нужно скопировать в папку плагинов для 32-битной версии отладчика и аналогично поступить для 64-х битной версии плагина.
УСТАНОВКА WINDBG
Если Вы используете WINDOWS 10, то установите отладчик WINDBG через магазин MICROSOFT. Просто поищите по ключевому слову WINDBG и установите его оттуда.
Из магазина автоматически установится WINDBG PREVIEW, который является самой новой версией. Если же Вы используете WINDOWS 7, Вам придется установить более раннюю версию WINDBG.
https://drive.google.com/open?id=1UEPBecOoir-nhyRK-RHOAhRq05ZtlW1y
Здесь есть несколько разных версий, очень старые и не очень.
Это самые новые версии отладчиков для WINDOWS 7, которые у меня есть. Если они Вам не подойдут, то есть некоторые предыдущие версии в папке OLD VERSIONS.
Следующим шагом будет необходимо настроить символы для WINDBG, создать папку под названием SYMBOLS на диске C:\, а затем перейти к переменным среды окружения и добавить переменную _NT_SYMBOL_PATH.
Этой переменной нужно присвоить такое значение:
SRV*c:\symbols*http://msdl.microsoft.com/download/symbols
После этого у нас будет установлен WINDBG PREVIEW.
Затем Вы можете установить какой-нибудь шестнадцатеричный редактор, например такой как HxD, который является бесплатным.
https://mh-nexus.de/en/hxd/
УСТАНОВКА PYTHON
Мы будем устанавливать самый свежий PYTHON 3, чтобы иметь возможность создавать эксплойты для каждого упражнения.
https://www.python.org/downloads/
Это самая последняя версия, которая существует на данный момент когда я пишу этим строки. Её я и загружу.
PYTHON-3.8.0-AMD64.EXE
Чтобы добавить путь к исполняемому файлу PYTHON.EXE в переменную среды PATH в установщике нужно поставить чек-бокс и он сделает это за Вас автоматически.
Обычно путь выглядит так:
C:\Users\XXXXX\AppData\Local\Programs\Python\Python38
Папка PYTHON38 будет называться по другому в зависимости от версии.
Это нам нужно, чтобы запускать PYTHON из командной строки.
УСТАНОВКА PYCHARM COMMUNITY
https://www.jetbrains.com/pycharm/download/
В моем случае PYCHARM-COMMUNITY-2019.2.3.EXE является последней версий. Для Вас она может быть другой.
После установки нам нужно создать проект.
В меню RUN > DEBUG видно интерпретатор, который будет обрабатывать наши команды.
Также в SETTINGS найдите PROJECT INTERPRETER и убедитесь, что обнаружен PYTHON 3.8 или тот который Вы используете в своём случае.
Затем я создаю файл PEPE.TXT, переименовываю его в PEPE.PY и перетаскиваю в редактор:
Я пишу небольшой кусок кода, и запускаю его с помощью кнопки RUN и интерпретатор должен мне напечатать следующее значение — 2248.
PYCHARM должен автоматически дополнять текст. Также если мы выделяем мышью, например, слово OS, то когда мы нажимаем клавишу CTRL должна открыться соответствующая библиотека os.
На этом мы заканчиваем первую часть. Она посвящена установке инструментов, которые мы собираемся использовать. Вторую часть мы посвятим переполнению буфера, небольшой теории, и сделаем первые простые упражнения, которые мы разберем вместе, другие я оставлю для вас. Также не забывайте про домашние задания, которые я буду оставлять для Вас. Практика намного важнее теории, без неё никуда.
До встречи во второй части.
РИКАРДО НАРВАХА (WWW.RICARDONARVAJA.INFO)
18/10/2019
Красивый PDF можно забрать здесь yasha.su/IDAFREE1.PDF
Комментарии (30)
monah_tuk
29.10.2019 08:02+1Может всё же не IDA FREE, а Freeware? При этом, судя по процессу установки, речь именно про неё. А то у меня глаз чуть не выпал от удивления :)
mkovalevskyi
29.10.2019 17:42Судя по стилю, во-второй части нам быстренько в картинках за 5 мин расскажут: как очевидно из вышеописанного, что бы убедить сервера пентагона, что у них пароль таки маодзедун, надо сделать — а вот и самостоятельная работа )
ormoulu
29.10.2019 22:52Какие ограничения у фриварной иды?
Yashechka Автор
30.10.2019 07:16Привет, привет. Вы же все сами знаете ))
ormoulu
30.10.2019 11:02Насчет бесплатной мои познания заканчиваются на периоде консольной версии.
Вы пытались ее использовать, или только переводите статьи?morgot
30.10.2019 14:11нет hex-rays (и в целом поддержки плагинов), и вроде как архитектура только х86.
я ее юзаю на убунте.mkovalevskyi
30.10.2019 18:08Но тогда статья выше не имеет смысла. Бо там в середине, как раз описывается подключение плагина.
morgot
30.10.2019 18:31Какого именно плагина? Если вы о snowman, то это плагин для x64dbg.
mkovalevskyi
30.10.2019 21:24да, это
Мы можем скачать плагин SNOWMAN для декомпиляции, так как IDA FREE не поставляется с плагином декомпиляции и добавить его в папку плагинов.
меня немного запутало.
Yashechka Автор
31.10.2019 09:50Привет, привет, Ормоулу. Да какой? Я весь в подготовке в экзамену. Перевожу ночью на работе. Пока руки не добрались.
Shtucer
В красивом PDF перевод такого же качества?
Уженеснуляемость данной инструкции выражена в том, что началась не с разбивки диска под устанавливаемую Винду?
Yashechka Автор
Просто красиво оформленный текст. Вы можете сравнить текст с оригиналом, он достаточно простой и поэтому перевод тоже простой.
Shtucer
Авторская орфография трепетно сохранена? И о красоте оформления текста у нас, очевидно, разные представления, но об этом спорить мы не будем.
Yashechka Автор
Текст честно проверял на text.ru. Но возможны ошибки, так как я плохо вижу и плохо воспринимаю с монитора. Только при распечатке и чтения с листа я вижу свои ошибки.