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

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

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

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

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

Категории

Все категории
Loading categories
heartbleed-lab — Образовательная лаборатория для изучения CVE-2014-0160 (Heartbleed) и несоответствий фреймирования в обработке TLS Heartbeat. | Kitploit
Инструменты/GitHubGitHub/victoriacfigueiredo/heartbleed-lab
Анализ уязвимостейСетевая безопасностьКриптографияОбучение и ОбразованиеЭксплуатация Бинарных ФайловЛаборатории и Практика
GitHubvictoriacfigueiredo/heartbleed-lab

heartbleed-lab

Образовательная лаборатория для изучения CVE-2014-0160 (Heartbleed) и несоответствий фреймирования в обработке TLS Heartbeat.

Репозиторий
83 месяцев назадЕщё не проверено

Популярное

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

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

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

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

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

Лаборатория Heartbleed

Образовательная лаборатория для изучения уязвимости Heartbleed
(CVE-2014-0160) с использованием реальной уязвимой среды OpenSSL внутри Docker.

Этот проект воспроизводит уязвимый TLS-сервер с использованием OpenSSL 1.0.1f и реализует собственный raw-клиент TLS Heartbeat, чтобы продемонстрировать, как некорректные пакеты heartbeat могут привести к раскрытию памяти.

Лаборатория создана в образовательных и исследовательских целях, в частности для изучения:

  • Формирования TLS-записей
  • Разбора расширения Heartbeat
  • Уязвимостей раскрытия памяти
  • Ошибок доверия к парсеру
  • Несоответствий формирования кадров между протоколами
  • Концептуальных сходств между Heartbleed и уязвимостями десинхронизации HTTP

Текущая структура проекта

root@kitploit:~
heartbleed-lab/
├── client/
│   ├── attacker.py
│   └── Dockerfile
│
├── vulnerable/
│   ├── Dockerfile
│   └── server/
│
├── fixed/
│   ├── Dockerfile
│   └── server/
│
├── docs/
│   └── diagrams/
│
├── notes/
│
├── docker-compose.yml
├── .gitignore
└── README.md

Архитектура

root@kitploit:~
heartbleed-client
        ↓
 Docker internal network
        ↓
vulnerable-heartbleed

Где:

  • heartbleed-client отправляет raw-записи TLS
  • vulnerable-heartbleed запускает OpenSSL 1.0.1f
  • взаимодействие происходит внутри изолированной сети Docker

Уязвимая среда

Уязвимый сервер использует:

  • Ubuntu 14.04
  • OpenSSL 1.0.1f (уязвимый релиз 2014 года)
  • openssl s_server

Среда намеренно настроена для воспроизведения оригинального поведения Heartbleed.


Реализованные возможности

Уязвимый TLS-сервер

  • Реальная сборка OpenSSL 1.0.1f
  • Поддержка рукопожатия TLS
  • Включено расширение Heartbeat
  • Изолированная среда Docker

Raw-клиент TLS Heartbeat

Реализация клиента:

  • создает raw-сокеты TCP
  • отправляет вручную сформированные TLS-записи
  • выполняет ручное TLS ClientHello
  • отправляет некорректные запросы heartbeat
  • получает ответы с утекшей памятью

Демонстрация Heartbleed

Текущая реализация воспроизводит оригинальное поведение Heartbleed путем отправки некорректного пакета heartbeat, в котором:

root@kitploit:~
payload_length > real payload size

Пример:

root@kitploit:~
Объявленная длина полезной нагрузки: 0x4000
Реальная полезная нагрузка: 1 байт ("A")

Уязвимый сервер ошибочно доверяет объявленной длине и отвечает содержимым памяти за пределами фактических границ полезной нагрузки.


Запуск лаборатории

Сборка и запуск контейнеров

root@kitploit:~
sudo COMPOSE_HTTP_TIMEOUT=300 docker-compose up --build

Доступ к контейнеру клиента

root@kitploit:~
sudo docker exec -it heartbleed-client bash

Запуск proof-of-concept Heartbleed

root@kitploit:~
python attacker.py

Пример успешного вывода

root@kitploit:~
[+] Sending malformed heartbeat
[+] Got TLS record: type=24 version=(3, 2) length=16384
[!!!] Heartbeat response received

Это указывает на то, что уязвимый сервер вернул содержимое памяти за пределами легитимной полезной нагрузки heartbeat.


Цели исследования

Этот проект исследует взаимосвязь между:

  • Несоответствиями формирования TLS-кадров
  • Ошибками доверия к парсеру
  • Путаницей границ
  • Некорректными полями длины
  • Концепциями десинхронизации протоколов

Одним из главных исследовательских интересов этой лаборатории является сравнение:

root@kitploit:~
HTTP Request Smuggling
vs
TLS Heartbeat Parsing Failures

с точки зрения:

  • Несоответствий формирования кадров
  • Поведения парсера
  • Допущений о доверии к метаданным

Планы на будущее

Запланированные следующие шаги включают:

  • Улучшенную визуализацию утечки
  • Вспомогательные утилиты для разбора утечек памяти
  • Сравнение с исправленными версиями OpenSSL
  • Эксперименты с промежуточным TLS-прокси
  • Автоматизированное мутационное тестирование heartbeat

Ссылки

  • CVE-2014-0160
  • RFC 6520 (TLS Heartbeat Extension)

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

Этот репозиторий существует исключительно для:

  • образования
  • академических исследований
  • изучения методов защиты
Скачать инструмент