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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2023-4911-Lab — Лаборатория на базе Docker для анализа и эксплуатации CVE-2023-4911 (Looney Tunables), переполнение буфера в glibc ld.so, приводящее к локальному повышению привилегий. Включает PoC, анализ с помощью GDB и среду для разработки эксплойтов. | Kitploit
Инструменты/GitHubGitHub/0xmoga/cve-2023-4911-lab
Повышение привилегийАнализ уязвимостейЭксплуатацияОбратная инженерияОтладчикиТестирование на ПроникновениеОбучение и ОбразованиеЭксплуатация Бинарных ФайловЛаборатории и Практика
GitHub0xmoga/cve-2023-4911-lab

CVE-2023-4911-Lab

Лаборатория на базе Docker для анализа и эксплуатации CVE-2023-4911 (Looney Tunables), переполнение буфера в glibc ld.so, приводящее к локальному повышению привилегий. Включает PoC, анализ с помощью GDB и среду для разработки эксплойтов.

4 месяцев назадЕщё не проверено

Популярное

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

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

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

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

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

CVE-2023-4911 «Looney Tunables» среда анализа

Docker-среда для анализа уязвимости переполнения буфера в динамическом загрузчике GNU C Library (glibc) (Local Privilege Escalation) и разработки эксплойта.


Информация о CVE

ПунктСодержание
Номер CVECVE-2023-4911
ПсевдонимLooney Tunables
Уязвимая версияGNU C Library (glibc) 2.34 ~ 2.38
Уязвимая версияUbuntu 22.04 — libc6 2.35-0ubuntu3.3 и ниже
Исправленная версияlibc6 2.35-0ubuntu3.4 (USN-6404-1, 2023-10-04)
ТипBuffer Overflow in ld.so
ВоздействиеLocal Privilege Escalation (обычный пользователь → root)
ОбнаруженоQualys Security Research Team

Механизм уязвимости

Динамический загрузчик glibc (ld.so) при выполнении программы разбирает переменную окружения GLIBC_TUNABLES.
При выполнении SUID-бинария устанавливается __libc_enable_secure = 1, и ld.so входит в путь кода, который обнуляет (nullify) эту переменную окружения.
В этом процессе из-за неправильного вычисления длины для ввода вида tunable1=tunable2=value происходит переполнение буфера.

root@kitploit:~
Обычный бинарник:  __libc_enable_secure = 0  →  код nullify не выполняется  →  уязвимости нет
SUID-бинарник:     __libc_enable_secure = 1  →  код nullify выполняется   →  происходит переполнение буфера

Поток эксплойта:

root@kitploit:~
Переполнение GLIBC_TUNABLES
        ↓
Перезапись указателя link_map в BSS ld.so
        ↓
Изменение пути поиска библиотек на evil_lib/
        ↓
Загрузка evil.so → автоматическое выполнение constructor
        ↓
setuid(0) + execve("/bin/bash") → получение root shell

Цели и направления создания среды

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

  • Воспроизведение среды, в которой реально работает уязвимая версия glibc (2.35-0ubuntu3.3)
  • Предоставление среды для совместного анализа исходного кода ld.so и исполняемого бинарника
  • Поддержка динамического анализа через GDB / gef / gdbserver
  • Практическая отработка сценария повышения привилегий от обычного пользователя (researcher) до root
  • Полная изоляция через Docker, чтобы любой член команды мог начать анализ в одинаковой среде

Структура проекта

root@kitploit:~
CVE-2023-4911/
├── Dockerfile                  # Определение образа уязвимой среды (многоэтапная сборка)
├── run.sh                      # Скрипт управления сборкой/запуском Docker
├── check_environment.sh        # Автоматическая проверка среды при запуске контейнера
├── poc/
│   ├── exploit.py              # Базовый PoC — для проверки crash (SIGSEGV)
│   ├── exploit_lpe.py          # LPE эксплойт — завершается после анализа через GDB
│   └── evil_lib/
│       ├── evil.c              # Вредоносная разделяемая библиотека для получения root shell
│       └── Makefile
└── test_targets/
    ├── test_suid.c             # Исходник SUID-тестового бинарника
    └── test_heap.c             # Исходник тестового бинарника для выделения кучи

Требования к среде

  • Docker
  • Linux или WSL2 (Windows)

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

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

root@kitploit:~
./run.sh build && ./run.sh run

2. Ввод пароля sudo

При запуске контейнера потребуется пароль sudo.

root@kitploit:~
Пароль: password

3. Проверка уязвимости

root@kitploit:~
# Проверка возникновения SIGSEGV
python3 /workspace/poc/exploit.py --check-only

# Прямой запуск
GLIBC_TUNABLES=glibc.malloc.mxfast=glibc.malloc.mxfast=AAAA \
  /workspace/test_targets/test_suid

4. Анализ с помощью GDB

root@kitploit:~
# Анализ непосредственно внутри контейнера
gdb -q /workspace/test_targets/test_suid

# Удалённая отладка (gdbserver)
# Внутри контейнера
gdbserver :1234 /workspace/test_targets/test_suid

# На локальном хосте
gdb
(gdb) target remote localhost:1234

5. Запуск LPE эксплойта

После анализа OVERFLOW_OFFSET и TARGET_ADDR с помощью GDB обновите значения в начале exploit_lpe.py и выполните.

root@kitploit:~
python3 /workspace/poc/exploit_lpe.py

Опции run.sh


Информация об аналитической среде


Точки анализа

Статический анализ

root@kitploit:~
# Положение уязвимой функции
/workspace/glibc-source/elf/dl-tunables.c

# Основные функции
__tunables_init()   # Точка входа
parse_tunables()    # Место возникновения переполнения
tunables_strdup()   # Выделение буфера

Динамический анализ

root@kitploit:~
# Отслеживание системных вызовов через strace
strace -e trace=mmap GLIBC_TUNABLES="..." /workspace/test_targets/test_suid

# Анализ __tunables_init в GDB
gdb /workspace/test_targets/test_suid
(gdb) break __tunables_init
(gdb) set environment GLIBC_TUNABLES=glibc.malloc.mxfast=glibc.malloc.mxfast=AAAA
(gdb) run

Важные замечания

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

  • Данная среда создана для изучения уязвимости и исследования разработки эксплойтов.
  • Никогда не используйте на реальных операционных системах или на неправомочных объектах.
  • Контейнер запускается в режиме --privileged, поэтому используйте только в изолированной среде.
  • Вся юридическая ответственность за неправомерное использование кода из данного репозитория лежит на пользователе.

Справочные материалы

  • Qualys Security Advisory
  • Официальный репозиторий glibc
  • Ubuntu Security Notice USN-6404-1
Скачать инструмент
КомандаОписание
./run.sh buildСборка Docker-образа
./run.sh runЗапуск контейнера в интерактивном режиме
./run.sh analysisЗапуск в режиме анализа
./run.sh testБыстрая проверка уязвимости
./run.sh cleanОчистка образа и контейнера
ПараметрЗначение
Базовый образubuntu:jammy-20230916 (до исправления)
Версия glibc2.35-0ubuntu3.3 (уязвимая)
Версия ld.so2.35-0ubuntu3.3 (уязвимая)
Учётная запись анализаresearcher / password
Исходники glibc/workspace/glibc-source (2.35)
Основной порт1234 (gdbserver)
Опции контейнера--privileged, --pid=host