EvilCUPS
Исполнитель:
Тестирование выполнено Кравцовым Николаем, начинающим специалистом по информационной безопасности в 13:13 (*довольно быстро прошло, если не учитывать что меня постоянно выкидывало*)
Область тестирования и использованные службы.
| IP/домен | Порт | Сервис | Сервис целевого сервера |
|---|---|---|---|
| localhost | 5901 | WinKexServer | - |
| localhost | - | Nmap Port Scanner | - |
| localhost | - | Obsidian Notes | - |
| localhost | 8000 | Python HTTP Simple Server | - |
| localhost | 12345 | Python HTTP Simple Serverfor CVE-2024-47176 | - |
| 10.10.11.40 | 631 | CUPS WEB Server | + |
| 10.10.11.40 | 22 | SSH | + |
Использованные файлы:
- linpeas.sh - Privilege Escalation Awesome Scripts SUITE new generation.
- CVE-2024-47176 PoC- Remote Command Execution в CUPS 2.4.2.
- d00001-001 - файл печати для принтера и получения пароля от root.
- user.txt - флаг.
- root.txt - флаг.
Порядок действий
1) Запуск openvpn для доступа; kex для того, чтобы сделать linux удобнее
kex --win && sudo openvpn lab_Kolya080808.ovpn2) Сканирование портов с помощью nmap.
Результаты:
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 9.2p1 Debian 2+deb12u3 (protocol 2.0)
| ssh-hostkey:
| 256 36:49:95:03:8d:b4:4c:6e:a9:25:92:af:3c:9e:06:66 (ECDSA)
|_ 256 9f:a4:a9:39:11:20:e0:96:ee:c4:9a:69:28:95:0c:60 (ED25519)
631/tcp open ipp CUPS 2.4
| http-robots.txt: 1 disallowed entry
|_/
|_http-title: Home - CUPS 2.4.2
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
3) Без поиска директорий смотрим на сайт.

4) Поищем экплоит к этой версии CUPS и используем его.
Поиск и использование:

- Результат:

5) Читаем user FLAG:
Результат:

6) Загрузим linPEAS и посмотрим, что мы можем сделать:
Действия:

Предполагаемый результат: судя по тому, что я увидел, надо посмотреть ту распечатанную страницу на принтере:
вот эту7) Посмотрим в /var/spool/cups
Результат:
Ура!
8) В самом файле я нашел пароль от root пользователя:
Результат:

9) Входим по ssh и читаем флаг root пользователя:
Результат:

Примечание:
Крутая комната, но необходимо понимание как работает CUPS
и сам эксплоит. Для меня она была довольно простой.
Но все равно, спасибо HackTheBox за афигенскую комнату!!!
Найденные уязвимости
Information Disclosure
PoC:
(пункт 7)
CVSSv3 Score: 10.0 (Critical)
Описание:
Information Disclosure в данном случае связана с доступом к данным в директории /var/spool/cups, в которой находится файл с записью о пароле root пользователя.
Воспроизведение уязвимости:
Совпадает с PoC.
Рекомендации по устранению:
- Проверьте определенные файлы на наличие конфиденциальных данных
- Удаляйте или храните файл с конфиденциальной информацией в недоступном для пользователей месте.
CVE-2024-47176
PoC:
(пункт 4)
CVSSv3 Score: 10.0 (Critical)
Описание:
Данный эксплоит дает возможность удаленного исполнения команд на сервере без ведома администратора.
Воспроизведение уязвимости:

Рекомендации по устранению:
- Обновите CUPS до последней версии.
Следите за уязвимостями и исправлениями на их официальном сайте.
Видео выполнения