Пошаговое руководство по эксплуатации переполнения буфера в FreeFloat FTP Server с использованием фаззинга на Python, Immunity Debugger с mona.py и IDA Free для анализа бинарного кода и разработки полезной нагрузки.
Целевая платформа: Windows
В этом руководстве подробно описаны все инструменты, необходимые для анализа уязвимостей и фаззинга бинарного файла. Выполняйте шаги по порядку, чтобы убедиться, что всё настроено правильно.
Скачать: python.org/downloads/windows
Python 3 — это язык, на котором мы будем писать фаззинг-скрипты. Его простота и богатая экосистема делают его идеальным для автоматизации доставки полезной нагрузки в целевой бинарный файл, работы с сетевыми соединениями и обработки ответов.
Установка: Скачайте установщик .exe по ссылке и запустите его. В процессе установки обязательно отметьте ✅ "Add Python to PATH" — иначе вы не сможете вызывать python из терминала.
Скачать: github.com/kbandla/ImmunityDebugger
Immunity Debugger — это отладчик уровня процесса, специально ориентированный на анализ безопасности и исследования эксплойтов. Он позволяет в реальном времени просматривать регистры, память, стек и кучу во время работы программы — именно то, что нужно для выявления и подтверждения переполнения буфера.
⚠️ Примечание: Immunity Debugger больше не развивается, и его официальный сайт недоступен. Тем не менее, он по-прежнему широко используется в сообществе специалистов по безопасности и в академической среде благодаря интеграции с плагином mona.py, низкому потреблению ресурсов и интуитивно понятному интерфейсу для анализа эксплойтов в 32-битных системах Windows. В указанном репозитории GitHub находится установочный бинарник в том виде, в котором он распространялся изначально.
Установка: Склонируйте репозиторий. Исполняемый файл находится по пути ImmunityDebugger\1.85\ImmunityDebugger.exe и не требует установки.
Скачать: python.org/download/releases/2.7
Движок сценариев Immunity Debugger построен на Python 2.7, поэтому эта версия является строгим требованием для корректной работы инструмента — особенно для запуска плагина mona.
ℹ️ Python 2.7 и Python 3 могут сосуществовать в одной системе без проблем. Просто убедитесь, что Python 3 остаётся основной версией в вашем PATH.
Установка: Скачайте и запустите установщик. Добавлять его в PATH не обязательно, если Python 3 уже настроен.
Скачать: github.com/corelan/mona
mona.py — это флагманский плагин для Immunity Debugger, разработанный командой Corelan Team. Он автоматизирует наиболее утомительные этапы разработки эксплойтов:
pattern_create, pattern_offset)JMP ESPУстановка:
mona.py в каталог команд Immunity:ImmunityDebugger\1.85\PyCommands\mona.py
После копирования его можно вызвать из командной строки Immunity с помощью:
!mona help
Скачать: code.visualstudio.com
🟡 Необязательно — но настоятельно рекомендуется.
VS Code — это редактор, в котором мы будем писать наши Python-скрипты для фаззинга. Он обеспечивает подсветку синтаксиса, интеллектуальное автодополнение, встроенный терминал и поддержку расширений, что значительно повышает эффективность работы.
Рекомендуемое расширение: Python — Microsoft
Оно предоставляет IntelliSense, линтинг, встроенную отладку и выбор интерпретатора Python прямо в VS Code. После установки убедитесь, что в нижней панели редактора выбран правильный интерпретатор (Python 3).
Скачать: hex-rays.com → раздел Downloads → IDA Free
IDA (Interactive DisAssembler) — это отраслевой стандарт для обратной разработки бинарных файлов. Бесплатная версия (IDA Free) более чем достаточна для этого анализа: она позволяет дизассемблировать целевой исполняемый файл, перемещаться по его функциям, выявлять опасные вызовы, такие как strcpy или gets, и понимать ход выполнения программы без доступа к исходному коду.
🔐 Лицензия: Индивидуальная некоммерческая версия полностью бесплатна. Требуется лишь регистрация с действительным адресом электронной почты. Установщик и лицензия загружаются из Hex-Rays Customer Portal.
Установка:
Скачайте установщик .exe из Customer Portal и запустите его, следуя шагам мастера.
После установки мастер сообщит, что необходимо разместить файл лицензии (.hexlic) по следующему пути:
%APPDATA%\Hex-Rays\IDA Pro\
.hexlic из раздела Licenses в Customer Portal и скопируйте его в указанное место. При следующем запуске IDA лицензия будет активирована автоматически. ✅Целевой бинарный файл — FreeFloat FTP Server v1.0, легковесный FTP-сервер для Windows. Это программное обеспечение с известными и хорошо задокументированными уязвимостями в сообществе специалистов по безопасности, что делает его классической целью для отработки техник переполнения буфера в контролируемых средах.
📦 Исполняемый файл доступен в этом же репозитории: FreeFloatFtpServer1.0.zip
Распакуйте zip-архив, чтобы получить Win32/FTPServer.exe — именно этот бинарный файл мы будем использовать на протяжении всего анализа.
Продолжение в 02 Vulnerability →
Удачного хакерства! 🎯