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

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

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

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

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

Категории

Все категории
Loading categories
PNGboomer-CVE-2026-77622 — Sliver HTTP(S) C2 PNG-бомба DoS-эксплойт — GHSA-663m-7x7m-g4fw (CVE-2026-77622) | Kitploit
Инструменты/GitHubGitHub/squ1shification/pngboomer-cve-2026-77622
Анализ уязвимостейЭксплуатацияТестирование на ПроникновениеКомандование и УправлениеRed Teaming
GitHubsqu1shification/pngboomer-cve-2026-77622

PNGboomer-CVE-2026-77622

Sliver HTTP(S) C2 PNG-бомба DoS-эксплойт — GHSA-663m-7x7m-g4fw (CVE-2026-77622)

Репозиторий
118 ч 28 мин назадЕщё не проверено

Популярное

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

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

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

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

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

PNGboomer — CVE-2026-77622

Эксплойт типа «отказ в обслуживании» для HTTP(S)-слушателя Sliver C2. Подбирает перебором per-session nonce кодирования PNG и доставляет «бомбу декомпрессии», которая исчерпывает память сервера.

Опубликовано как GHSA-663m-7x7m-g4fw.

Краткое описание

Канал C2 Sliver по HTTP(S) оборачивает сообщения внутри PNG-изображений. Каждой сессии назначается случайный nonce в диапазоне [1, 65537), и сервер декодирует PNG-данные только из запросов, чей параметр ?n= совпадает с nonce сессии. Это механизм маршрутизации, а не проверка аутентификации — пространство ключей составляет 16 бит.

Сервер декодирует PNG с помощью Go image.Decode(), который выделяет width × height × bytes_per_pixel в памяти. PNG-файл с заявленными размерами 32767×32767 RGBA сжимается примерно до 3 КБ в канале передачи, но распаковывается более чем в 4 ГБ в памяти. Сервер не накладывает ограничений на декодируемые размеры.

Эксплойт работает в три фазы:

  1. Калибровка — отправка несовпадающих nonce с умеренно большим пробным PNG и измерение базового времени отклика.
  2. Сканирование — отправка пробного PNG по всему диапазону nonce. Совпадающий nonce запускает декодирование PNG, которое занимает заметно больше времени, чем отклонённый запрос. Кандидаты проверяются повторными пробами.
  3. Уничтожение — отправка PNG-бомбы декомпрессии с обнаруженным nonce. Сервер выделяет несколько гигабайт и либо убивается OOM-killer'ом, либо уводит хост в своп до полной неотзывчивости.

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

Версии Sliver C2 до исправления, указанного в GHSA-663m-7x7m-g4fw. Любой сервер Sliver с запущенным HTTP- или HTTPS-слушателем подвержен уязвимости.

Сборка

root@kitploit:~
go build -o pngboomer

Без внешних зависимостей. Только стандартная библиотека.

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

root@kitploit:~
./pngboomer -url http://target:8080/ [options]

Параметры

ФлагПо умолчаниюОписание
-urlhttp://127.0.0.1:8080/Базовый URL HTTP C2 Sliver
-workers8Параллельность сканирования
-probe-w2000Ширина пробного PNG
-probe-h2000Высота пробного PNG
-probe-color2Тип цвета пробы (2=RGB, 6=RGBA)
-kill-w32767Ширина PNG для уничтожения
-kill-h32767Высота PNG для уничтожения
-kill-color6Тип цвета для уничтожения (2=RGB, 6=RGBA)
-threshold-ms50Минимальный порог времени отклика для обнаружения nonce
-outlier-mult15.0Адаптивный порог = базовый p99 × это значение
-calibrate16Количество калибровочных выборок
-verify3Количество повторных проб на каждый кандидат nonce
-max-nonce65537Верхняя граница диапазона nonce (модуль Sliver)
-probe-timeout5sHTTP-таймаут на одну пробу
-kill-timeout180sHTTP-таймаут запроса на уничтожение
-target-cap-mb10240Заявленный лимит памяти цели (проверка безопасности)
-nonce0Пропустить сканирование, использовать этот nonce напрямую
-scan-onlyfalseНайти nonce и вывести его без отправки уничтожения
-no-confirmfalseПропустить TCP-опрос о смерти цели после уничтожения

Примеры

Сканирование и уничтожение по умолчанию против локальной Docker-цели:

root@kitploit:~
./pngboomer -url http://127.0.0.1:8080/ -target-cap-mb 10240

Только сканирование (найти nonce без уничтожения):

root@kitploit:~
./pngboomer -url https://c2.target.com/ -scan-only

Пропустить сканирование, если nonce уже известен:

root@kitploit:~
./pngboomer -url http://target:8080/ -nonce 41337

Безопасность

Бомба уничтожения вызывает декодирование PNG объёмом в несколько ГБ на цели. При тестировании запускайте сервер Sliver внутри Docker-контейнера с --memory=<N>g и передавайте -target-cap-mb N, чтобы инструмент отказывался от опасных комбинаций worker/проба, которые превысили бы память цели.

Как работает сканирование nonce

Пробный PNG достаточно велик, чтобы его декодирование занимало заметно больше времени, чем быстрый отказ сервера при неверном nonce. Сканирование перемешивает диапазон nonce и распределяет его по worker-горутинам. Каждый worker отправляет пробный PNG с кандидатом nonce и измеряет время отклика.

Когда время отклика превышает адаптивный порог (большее из -threshold-ms и baseline_p99 × outlier-mult), кандидат проверяется повторными пробами -verify раз. Если большинство повторных проб также превышают порог, nonce подтверждается. Если нет — кандидат заносится в чёрный список, и сканирование продолжается. Допускается до 8 ложноположительных «всплесков», прежде чем сканирование сдаётся.

Раскрытие

Сообщено в Bishop Fox через приватный процесс уведомлений GitHub. Патч написал CalebKingan.

Скачать инструмент
-no-color
false
Отключить ANSI-цветной вывод
-silentfalseВыводить только обнаруженный nonce в stdout