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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2026-39047 — Фреймворк эксплойтов для RAW-протокола принтеров Epson | Kitploit
Инструменты/GitHubGitHub/j4ck3lsyn-gen2/cve-2026-39047
Безопасность встроенных системФреймворки для эксплойтовБезопасность IoTАнализ уязвимостейЭксплуатацияПост-эксплуатацияФаззингТестирование на ПроникновениеАппаратная БезопасностьRed TeamingРазработка Полезной НагрузкиЭксплуатация Бинарных Файлов
6342 месяцев назадЕщё не проверено

Популярное

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

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

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

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

Смотреть все инструменты →
Поделиться
GitHubj4ck3lsyn-gen2/cve-2026-39047

CVE-2026-39047

Фреймворк эксплойтов для RAW-протокола принтеров Epson

Репозиторий

CVE-2026-39047: Эксплойт-фреймворк для RAW-протокола принтеров Epson

Репозиторий: https://github.com/J4ck3LSyN-Gen2/CVE-2026-39047
PoC-скрипт: poc.py
Макет цели: mock_printer.py
Автор: J4ck3LSyN

Обзор

Данный фреймворк демонстрирует уязвимость CVE-2026-39047 — удалённое переполнение буфера в многофункциональных принтерах Epson (в частности, L14150 FL27PB) при обработке искажённых или избыточно больших полезных нагрузок по RAW-протоколу TCP-печати (обычно порт 9100).

Успешная эксплуатация может привести к произвольному выполнению кода во встроенной среде принтера, что позволяет:

  • Отказ в обслуживании (DoS) / крах устройства или его перезагрузка
  • Выполнение команд / доступ к оболочке (в многоступенчатых сценариях)
  • Механизмы закрепления (persistence)
  • Перемещение по сети или хищение данных из скомпрометированной инфраструктуры печати

PoC фокусируется на кадрировании транспорта, обфускации полезных нагрузок, техниках фаззинга и многоступенчатом пост-эксплуатационном поведении, подходящих для red team-тестирования, исследования уязвимостей и защитного тестирования.


[!WARNING]

  • Этот инструмент может (и будет) приводить к удалённому выполнению кода (RCE) на уязвимых принтерах.
  • Несанкционированное использование, сканирование или эксплуатация систем, которыми вы НЕ владеете или на тестирование которых у вас НЕТ ЯВНОГО ПИСЬМЕННОГО РАЗРЕШЕНИЯ, — это НЕЗАКОННО и может нарушать законы о компьютерном мошенничестве и злоупотреблениях (например, CFAA в США), нормативные акты о защите данных и политики организации.
    Автор не несёт НИКАКОЙ ОТВЕТСТВЕННОСТИ за любой ущерб, потерю данных, нарушение работы сервисов или юридические последствия, возникшие в результате использования или неправильного использования этого кода.
  • Используйте только в изолированных лабораторных средах на устройствах, которыми вы управляете.
  • Всегда получайте явное разрешение перед любым тестированием.
  • Код включает dry-run и пассивный режимы для содействия безопасному анализу.
    Ответственное раскрытие информации и этичное использование настоятельно рекомендуются.
  • Своевременно устанавливайте исправления на устройства, как только появятся обновления от вендора.
  • Принтеры часто находятся во внутренних сетях с высоким уровнем доверия и ограниченным мониторингом, что делает их привлекательной поверхностью атаки.

Сведения об уязвимости

  • Затронутый продукт: EPSON L14150 (прошивка FL27PB и, вероятно, аналогичные модели)
  • Вектор: служба RAW-печати (подобная JetDirect) на TCP/9100
  • Воздействие: удалённое выполнение кода (RCE) через переполнение буфера на стеке
  • CVSS: высокая степень серьёзности (подробности доступны на NVD)
  • Корневая причина: недостаточная проверка границ входящих данных/кадров заданий печати в прошивке принтера

Ссылки:

  • NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-39047
  • Связанные бюллетени и отчёты (поиск по идентификатору CVE)

Возможности

  • Профилирование принтера: зондирует цель на доступность и получает базовую информацию о модели/прошивке с помощью PJL-команд.
  • Генерация полезной нагрузки:
    • Несколько техник: циклические паттерны, форматные строки, NOP-горки, случайные данные.
    • Уровень обфускации (zlib + XOR + Base64 с динамическими ключами).
    • Пользовательское транспортное кадрирование (протокол PRT2).
  • Режимы доставки:
    • Отправка фрагментами со случайными задержками (удобно для обхода обнаружения).
    • Режим холостого прогона (без сетевого трафика).
  • Параметры кампании:
    • Пассивная разведка.
    • Фаззинг с переменными размерами и техниками.
    • Пост-эксплуатационное развёртывание (оболочка, beacon, имитация закрепления).
  • Макет принтера: mock_printer.py для безопасного локального тестирования (завершается сбоем при избыточно больших полезных нагрузках).

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

  • Python 3.8+
  • Без внешних зависимостей (используется только стандартная библиотека: socket, asyncio, argparse, zlib, hashlib и т.д.)

Установка / Настройка

  1. Клонируйте репозиторий:

    root@kitploit:~
    git clone https://github.com/J4ck3LSyN-Gen2/CVE-2026-39047.git
    cd CVE-2026-39047
    
  2. Сделайте скрипты исполняемыми:

    root@kitploit:~
    chmod +x poc.py mock_printer.py
    
  3. (Необязательно) Протестируйте с макетом принтера в отдельном терминале:

    root@kitploit:~
    ./mock_printer.py
    

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

root@kitploit:~
./poc.py -t <TARGET_IP> [OPTIONS]

Ключевые аргументы

Примеры:

  • Базовое тестирование:

    root@kitploit:~
    ./poc.py -t 192.168.1.100
    
  • Запуск фаззинга:

    root@kitploit:~
    ./poc.py -t 192.168.1.100 --fuzz --techniques cyclic random
    
  • Многоступенчатый захват (только для лаборатории):

    root@kitploit:~
    ./poc.py -t 192.168.1.100 --hijack --objective shell --dry-run
    
  • Полная кампания с макетом цели:

    root@kitploit:~
    # Terminal 1
    ./mock_printer.py
    
    # Terminal 2
    ./poc.py -t 127.0.0.1 --fuzz --hijack --objective stage1
    

Основные технические детали реализации

  • Транспорт: bTransportFrame() оборачивает полезные нагрузки заголовком PRT2 + длиной.
  • Обфускация (lObf): сжатие zlib → динамическая XOR-маска (на основе seed) → Base64.
  • Конструкторы полезных нагрузок: gModernPayload() и gPostPayload() для различных паттернов и многоступенчатых команд.
  • Развёртывание (staging): генерирует shell-команды для рабочих каталогов, конфигурационных файлов и хуков закрепления (имитация).
  • Асинхронная доставка: фрагментированная передача с джиттером для реалистичности.

См. встроенные docstring и комментарии в коде для получения более детальной информации.

Обнаружение / Смягчение

  • Обнаружение: контролируйте порт TCP/9100 на предмет аномальных размеров полезных нагрузок, необычных PJL-команд или повторяющихся подключений из неожиданных источников. Ищите паттерны кадрирования PRT2.
  • Смягчение:
    • Устанавливайте обновления прошивки от Epson, как только они станут доступны.
    • Сегментация сети: изолируйте принтеры от обычных пользовательских сетей.
    • Правила межсетевого экрана, ограничивающие порт 9100 доверенными серверами печати.
    • Отключите RAW-протокол, если он не требуется; предпочитайте безопасные альтернативы (IPPS и т.д.).
    • Регулярный аудит прошивки и инвентаризация принтеров.

Отказ от ответственности (повторно)

Этот PoC предоставлен строго в образовательных, исследовательских целях и для авторизованного тестирования безопасности. Неправильное использование может привести к серьёзным последствиям. Владелец репозитория не несёт ответственности за любой причинённый ущерб.

Скачать инструмент
ПараметрОписание
-t, --targetIP-адрес цели (обязательно)
-p, --portПорт (по умолчанию: 9100)
--passiveРежим пассивной разведки (отправлять только пробные полезные нагрузки)
--fuzzВключить фаззинг с использованием нескольких техник
--hijackВключить пост-эксплуатационное развёртывание
--objectivestage1 | shell | beacon | persistence
--callbackНеобязательный идентификатор/строка обратного вызова
--capabilityminimal | busybox | linux (влияет на обёртку команд)
--dry-runГенерировать полезные нагрузки, но не отправлять
--techniquesСписок через пробел (например, cyclic format sled random)
--delayЗадержка между полезными нагрузками в секундах (по умолчанию: 1.6)