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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2021-3156-Baron-Samedit — Простая Docker-лаборатория и настройка эксплойта для CVE-2021-3156 — «Baron Samedit». | Kitploit
Инструменты/GitHubGitHub/theleopard65/cve-2021-3156-baron-samedit
Повышение привилегийБезопасность контейнеровАнализ уязвимостейЭксплуатацияШелл-кодОбучение и ОбразованиеЭксплуатация Бинарных ФайловЛаборатории и Практика

Популярное

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

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

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

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

Смотреть все инструменты →
Поделиться
GitHub
theleopard65/cve-2021-3156-baron-samedit

CVE-2021-3156-Baron-Samedit

Простая Docker-лаборатория и настройка эксплойта для CVE-2021-3156 — «Baron Samedit».

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

CVE-2021-3156 — Лаборатория и эксплойт «Baron Samedit»

Этот репозиторий предоставляет самодостаточную образовательную среду для понимания и эксплуатации CVE-2021-3156, переполнения буфера в куче в sudo, которое позволяет любому непривилегированному пользователю получить права root на уязвимых системах (версии sudo до 1.9.5p2).

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

Несанкционированное/неэтичное использование против систем, которые вам не принадлежат, является незаконным.

Содержимое репозитория

  • Dockerfile — собирает контейнер Ubuntu 20.04 с sudo 1.8.31 (уязвимая версия)
  • exploit.c — основной загрузчик эксплойта (адаптирован для Ubuntu 20.04)
  • shellcode.c — конструктор разделяемой библиотеки, запускающий root-оболочку
  • Makefile — компилирует эксплойт и вредоносную библиотеку

Начало работы

Предварительные требования

  • Docker (или Docker Engine)
  • Базовое знакомство с языком C
  • Базовое знакомство с Make
  • Знание инструментов командной строки

Сборка и запуск лаборатории

  1. Клонируйте этот репозиторий:
root@kitploit:~
git clone https://github.com/Theleopard65/CVE-2021-3156-Baron-Samedit.git
cd CVE-2021-3156-Baron-Samedit
  1. Соберите Docker-образ:
root@kitploit:~
docker build -t cve-2021-3156-lab .
  1. Запустите контейнер:
    • Вы будете залогинены как пользователь poc внутри контейнера.
    • Рабочая директория — /home/exploit, в которой уже находятся исходные файлы.
root@kitploit:~
docker run -it --rm --name baron_samedit_lab cve-2021-3156-lab

Компиляция и запуск эксплойта

  • Внутри контейнера эксплойт уже скомпилирован процессом сборки Docker. Чтобы запустить его вручную:
root@kitploit:~
cd /home/exploit
./exploit

В случае успеха вы должны увидеть приглашение root-оболочки (#). Эксплойт перезаписывает структуру service_user в куче sudo и заставляет её загрузить вредоносную библиотеку libnss_x/x.so.2, конструктор которой выполняет shellcode.

Ручная компиляция (при необходимости)

  • Чтобы перекомпилировать:
root@kitploit:~
make clean && make

Будут созданы:

  • exploit — основной бинарник эксплойта
  • libnss_x/x.so.2 — вредоносная разделяемая библиотека

Как работает эксплойт

CVE-2021-3156 — это переполнение кучи при обработке аргументов командной строки в sudoedit. Подавая специально сформированный буфер и переменные окружения, атакующий может перезаписать структуру service_user в куче. Эта структура содержит указатель на функцию, который при перехвате можно направить на загрузку вредоносной библиотеки через механизм NSS (Name Service Switch). Конструктор библиотеки затем выполняет произвольный код с правами root.

Данный эксплойт:

  1. Выделяет большой буфер (buf) для запуска переполнения.
  2. Использует переменные окружения LC_MESSAGES, LC_TELEPHONE и LC_MEASUREMENT для формирования нужной компоновки кучи.
  3. Переполняет структуру service_user для files, заменяя её имя на путь к нашей вредоносной библиотеке (libnss_x/x.so.2).
  4. Конструктор вредоносной библиотеки (в shellcode.c) выполняет setuid(0), setgid(0) и запускает root-оболочку.

Очистка

Чтобы удалить Docker-образ:

root@kitploit:~
docker rmi cve-2021-3156-lab

Ссылки

  • Оригинальное уведомление от Qualys
  • Доказательство концепции от Blasty
  • Запись CVE в NIST NVD

Лицензия

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


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