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

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

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

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

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

Категории

Все категории
Loading categories
heartbleed — Демонстрация уязвимости Heartbleed CVE-2014-0160 | Kitploit
Инструменты/GitHubGitHub/cheese-hub/heartbleed
Безопасность контейнеровАнализ уязвимостейЭксплуатацияВеб-безопасностьCTFОбучение и ОбразованиеЛаборатории и Практика
GitHubcheese-hub/heartbleed

heartbleed

Демонстрация уязвимости Heartbleed CVE-2014-0160

Репозиторий
237 лет назадЕщё не проверено

Популярное

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

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

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

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

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

Уязвимость Heartbleed

Описание сценария

Уязвимость Heartbleed — это пример кибератаки, использующей брешь в библиотеке OpenSSL. Кратко: отсутствие этапа проверки в библиотеке OpenSSL позволяет злоумышленнику получить доступ к конфиденциальной информации на сервере, использующем уязвимую библиотеку. В рамках протокола рукопожатия для установления SSL-соединения между клиентом и сервером клиент отправляет heartbeat-сообщение, которое затем возвращается сервером. Клиент также отвечает за передачу длины своего heartbeat-сообщения, которую сервер использует для определения количества байтов из памяти, которые необходимо вернуть. Поддельное значение длины, не проверяемое сервером, может заставить его вернуть байты, расположенные рядом с областью памяти, где хранится heartbeat-сообщение клиента.

Этот репозиторий содержит демонстрацию того, как уязвимость Heartbleed может быть использована для извлечения сессионных cookie с веб-сервера, что позволяет злоумышленнику получить доступ к защищенной части веб-сайта, контролируемой доступом.

Целевая аудитория

Преподаватели

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

Студенты

Если вы студент курса по кибербезопасности или начинающий программист, полезно понять, как незначительные ошибки в коде могут привести к серьезным уязвимостям безопасности. Если вы сейчас изучаете атаку Heartbleed на занятиях, вы можете получить дополнительный практический опыт в том, как работают такие атаки и что можно сделать для их предотвращения.

Проектирование и архитектура

Эта демонстрация спроектирована с использованием трех Docker-контейнеров: по одному для сервера, хакера и жертвы. На серверном контейнере размещен простой веб-сайт на Python Flask, который возвращает приветственное сообщение при успешном входе. Серверный контейнер работает с неисправленной версией библиотеки OpenSSL, содержащей уязвимость Heartbleed. Контейнеры хакера и жертвы предоставляют VNC-интерфейс к машине Ubuntu. Контейнер хакера также содержит Python-скрипт, который эксплуатирует уязвимость Heartbleed для отправки неверной длины сообщения heartbeat и анализирует данные, возвращенные с сервера, в поисках сессионных cookie. Инструкции приведены в HTML-документе на рабочем столе контейнера хакера.

Установка и использование

Рекомендуемый способ запуска этого набора контейнеров — через CHEESEHub, веб-платформу для демонстраций кибербезопасности. CHEESEHub предоставляет необходимые ресурсы для оркестрации и запуска контейнеров по требованию. Чтобы настроить это приложение для запуска на CHEESEHub, необходимо создать спецификацию приложения, которая конфигурирует используемый Docker-образ, требования к памяти и CPU, а также порты, которые необходимо открыть для каждого из трех контейнеров. JSON-спецификация для этой демонстрации Heartbleed находится здесь.

CHEESEHub использует Kubernetes для оркестрации своих контейнеров приложений. Вы также можете запустить это приложение в своей собственной установке Kubernetes. Инструкции по настройке минимального кластера Kubernetes на локальной машине см. в Minikube.

Перед запуском на CHEESEHub или Kubernetes необходимо собрать Docker-образы для трех контейнеров приложения. Определения контейнеров для хакера, жертвы и сервера находятся в каталогах heartbleed-hacker, heartbleed-victim и heartbleed-server соответственно. Чтобы собрать эти контейнеры, выполните:

root@kitploit:~
cd heartbleed-hacker
docker build -t <выбранный вами тег образа хакера> .

cd heartbleed-victim
docker build -t <выбранный вами тег образа жертвы> .

cd heartbleed-server
docker build -t <выбранный вами тег образа сервера> .

После сборки Docker-образов вы можете запустить контейнеры с помощью только Docker Engine.

root@kitploit:~
docker run -d -p 80 <тег образа хакера из предыдущего шага>

docker run -d -p 80 <тег образа жертвы из предыдущего шага>

docker run -d <тег образа сервера из предыдущего шага>

Поскольку пользовательский интерфейс контейнеров хакера и жертвы — это VNC-интерфейс, мы открываем порт 80 для доступа с хост-машины. Поскольку мы будем обращаться к веб-сайту сервера только изнутри контейнеров хакера и жертвы, нам не нужно сопоставлять какие-либо открытые порты серверного контейнера.

Использование

При переходе по URL контейнера хакера в вашем браузере откроется интерфейс рабочего стола Linux. Дважды щелкните файл Instructions.html на рабочем столе, чтобы просмотреть пошаговые инструкции для этой демонстрации. Новое окно браузера или терминала можно запустить на контейнерах хакера и жертвы, выбрав меню программ в левом нижнем углу. IP-адрес сервера, который будут использовать хакер и жертва для доступа к веб-сайту сервера, можно получить, запустив консоль на серверном контейнере со страницы списка контейнеров CHEESEHub.

Как внести вклад

Чтобы сообщить о проблемах или внести улучшения в это приложение, создайте issue на GitHub.

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