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

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

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

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

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

Категории

Все категории
Loading categories
rapid-reset-check — Go CLI, который инвентаризирует HTTPS-конечные точки, согласующие HTTP/2 через ALPN, для выявления систем, требующих проверки мер по смягчению последствий CVE-2023-44487. Проверки TLS без эксплуатации, с верификацией сертификатов и безопасными настройками по умолчанию. | Kitploit
Инструменты/GitHubGitHub/ramonzx6/rapid-reset-check
Сканеры уязвимостейАудит конфигурацииСбор информацииВеб-безопасностьСетевая безопасность
GitHubramonzx6/rapid-reset-check

rapid-reset-check

Go CLI, который инвентаризирует HTTPS-конечные точки, согласующие HTTP/2 через ALPN, для выявления систем, требующих проверки мер по смягчению последствий CVE-2023-44487. Проверки TLS без эксплуатации, с верификацией сертификатов и безопасными настройками по умолчанию.

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

Популярное

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

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

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

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

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

Rapid Reset Check

rapid-reset-check — это небольшая Go-утилита командной строки для быстрой инвентаризации HTTPS-эндпоинтов, которые поддерживают HTTP/2 и поэтому требуют проверки мер по смягчению CVE-2023-44487.

Сканер заведомо не наносит вреда. Он разрешает каждый целевой адрес, устанавливает TLS-соединение с проверкой сертификата, предлагает h2 и http/1.1 через ALPN, фиксирует выбор пира и закрывает соединение. Он не отправляет ни HTTP-запроса, ни предисловия HTTP/2, ни потоков, ни кадров RST_STREAM, ни флуд-трафика.

[!IMPORTANT] Согласование h2 — это наблюдаемый факт подверженности, а не доказательство того, что сервис уязвим или не пропатчен. Удалённое рукопожатие не может проверить ограничения Rapid Reset в реализации HTTP/2, уровень патчей, вышестоящий источник или средства защиты от DDoS.

Почему такой подход?

CVE-2023-44487 — это техника отказа в обслуживании, которая злоупотребляет быстрым созданием и отменой потоков HTTP/2. Попытка доказать наличие условия против живого сервиса сама потребовала бы потенциально разрушительного трафика. Вместо этого данный инструмент отвечает на безопасный первый вопрос: какие протестированные TLS-эндпоинты в данный момент согласуют HTTP/2 и поэтому требуют от оператора проверки мер по смягчению?

HTTP/2 через TLS объявляется с использованием ALPN-идентификатора h2, определённого в RFC 9113. Google рекомендует проверять или пропатчивать каждый сервер, прокси и балансировщик нагрузки с поддержкой HTTP/2 на пути запроса; см. рекомендации Google по CVE-2023-44487.

Установка готового бинарного файла

Для запуска инструмента Go не требуется. Скачайте архив для вашей платформы из последнего релиза GitHub:

ПлатформаФайл релиза
Linux x86-64rapid-reset-check_<version>_linux_amd64.tar.gz
Linux ARM64rapid-reset-check_<version>_linux_arm64.tar.gz
macOS Intelrapid-reset-check_<version>_darwin_amd64.tar.gz
macOS Apple siliconrapid-reset-check_<version>_darwin_arm64.tar.gz
Windows x86-64rapid-reset-check_<version>_windows_amd64.zip
Windows ARM64rapid-reset-check_<version>_windows_arm64.zip

Распакуйте архив, затем выполните rapid-reset-check --version. В Windows исполняемый файл называется rapid-reset-check.exe.

Каждый релиз включает SHA256SUMS. В Linux проверьте скачанный архив из той же директории с помощью:

sha256sum --ignore-missing --check SHA256SUMS

В macOS сравните shasum -a 256 <archive> с соответствующей строкой в SHA256SUMS. Опубликованные архивы публичных релизов также получают артефактную аттестацию GitHub, которую можно проверить с помощью GitHub CLI:

gh attestation verify <archive> --repo ramonzx6/http-script-json

Сборка из исходников

  • Go 1.22 или новее

Установка Node.js, cURL, nghttp2 или WHOIS не требуется.

go test ./...
go build -o rapid-reset-check ./cmd/rapid-reset-check

Сборки из исходников сообщают dev в --version; релизные сборки получают свою версию из тега релиза.

Быстрый старт

Сканируйте только те эндпоинты, которыми вы владеете или на проверку которых у вас есть разрешение.

Сканирование одного или нескольких публичных эндпоинтов:

./rapid-reset-check example.com api.example.com:8443

Голые имена хостов нормализуются до HTTPS на порту 443. URL-адреса, содержащие только authority в схеме HTTPS, также принимаются:

./rapid-reset-check https://example.com https://api.example.com:8443

Сканирование JSON-списка целей из репозитория:

./rapid-reset-check --input json/urls.json

Использование стандартного ввода для автоматизации:

printf '["example.com", "api.example.com"]' | ./rapid-reset-check --input -

Выполните ./rapid-reset-check --help, чтобы увидеть все ограничения и параметры вывода.

Ввод

--input принимает исходный формат JSON-массива:

[
  "example.com",
  "api.example.com:8443",
  "https://www.example.net"
]

Объектные формы {"urls": [...]} и {"targets": [...]} также поддерживаются. Позиционные цели и --input намеренно взаимоисключающие. Дублирующиеся нормализованные эндпоинты сканируются один раз, а каждый запуск ограничен 4 096 входными целями.

В рамках сканирования только HTTPS-эндпоинты. Учётные данные, пути, не являющиеся корневыми, запросы, фрагменты, неподдерживаемые схемы, некорректные порты и неоднозначные имена хостов отклоняются, а не тихо переписываются.

Результаты оценки

ОценкаЗначение
h2_observed_review_requiredПо крайней мере один проверенный TLS-пир выбрал h2. Проверьте каждый компонент HTTP/2 на этом пути; это не вердикт об уязвимости.
h2_not_observed_on_tested_pathКаждый выбранный адрес завершил проверенное рукопожатие без выбора h2. Это наблюдение пути на конкретный момент времени, а не гарантия безопасности.
indeterminateПроблема с DNS, соединением, таймаутом, TLS, сертификатом или лимитом адресов помешала полному наблюдению.
not_scanned_policyРазрешённые адреса были исключены политикой сетевой безопасности сканера.
invalid_targetВвод был некорректным или выходил за пределы поддерживаемой области HTTPS-authority.

Отчёт включает каждый испытанный разрешённый адрес, согласованный ALPN, версию и шифр TLS, ограниченные данные об идентичности/сроке действия сертификата, время, решения политики, количество пропущенных адресов, явный флаг полноты и сводку. Он не собирает тела ответов, заголовки ответов, cookie или необработанные сертификаты.

Безопасные настройки по умолчанию

  • TLS-сертификаты и имена хостов проверяются. Используйте --ca-file, чтобы добавить частный центр сертификации; режима небезопасной проверки не существует.
  • Loopback, частные, link-local, multicast, unspecified, CGNAT, документационные, бенчмарк- и другие зарезервированные адреса блокируются по умолчанию. Используйте --allow-private только для внутренних эндпоинтов, которые вы уполномочены проверять.
  • Результаты DNS закрепляются для каждого соединения, при этом исходное имя хоста сохраняется для SNI и проверки сертификата.
  • Одновременность соединений, таймауты на адрес и количество адресов на цель ограничены.
  • Сканер не выполняет автоматические повторные попытки и не следует редиректам, поскольку никогда не отправляет HTTP-запрос. Укажите каждую HTTPS-authority, которую вам необходимо проверить.

Пример параметров:

./rapid-reset-check \
  --format json \
  --timeout 5s \
  --concurrency 4 \
  --max-addresses 8 \
  example.com > report.json

Для авторизованного эндпоинта с частным PKI:

./rapid-reset-check \
  --allow-private \
  --ca-file ./internal-root-ca.pem \
  service.internal:8443

Код возврата 0 означает, что каждая цель дала полное наблюдение ALPN. Код возврата 1 означает, что по крайней мере одна цель была некорректной, заблокированной политикой или неопределённой; отчёт при этом всё равно записывается. Ошибки использования CLI и конфигурации возвращают 2. Наблюдение h2 само по себе не меняет код возврата, поскольку это сигнал инвентаризации, а не вердикт об уязвимости.

Интерпретация результатов и действия

Для каждого результата h2_observed_review_required:

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