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.ovpn

    2) Сканирование портов с помощью 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 до последней версии.
  • Следите за уязвимостями и исправлениями на их официальном сайте.

    Видео выполнения


Загрузки

Download files archive