
Тестовый инструмент для эксплойта Mikrotrick (CVE-2026-67276)
Автоматизированный поведенческий валидатор, предназначенный для обнаружения уязвимости обхода аутентификации по открытому ключу SSH в MikroTik RouterOS (CVE-2026-67276).
Скрипт проверяет, позволяет ли ошибка неполной проверки SSH-сервиса пройти аутентификацию путём установления рукопожатия с использованием подделанной подписи, соответствующей только модулю целевого открытого ключа.
CVE-2026-67276 возникает из-за неполной проверки открытого ключа RSA в обработчике SSH-демона RouterOS. При обработке запроса аутентификации по открытому ключу клиента затронутые версии сопоставляют только тип ключа и открытый модуль RSA ($n$), опуская проверку открытой экспоненты ($e$).
Оператор, владеющий настроенным авторизованным открытым ключом целевого пользователя, может подделать полезную нагрузку для входа. Отправляя эфемерный ключевой блок, где экспонента установлена в $1$ ($e=1$), вместе с действительным авторизованным модулем, можно передать математически предсказуемую подпись, точно соответствующую структуре, которую ожидает проверяющий. Это полностью обходит аутентификацию без наличия или необходимости соответствующего закрытого ключа.
ssh-rsa.ssh-rsa, rsa-sha2-256 или rsa-sha2-512).Валидатор требует Python 3 и библиотеку paramiko для создания пользовательских SSH-сообщений.
pip install paramiko
python3 ssh_modulus_forge_check.py -H <TARGET_IP> -u <USERNAME> -k <PATH_TO_AUTHORIZED_PUBLIC_KEY>
| Флаг | Описание | По умолчанию |
|---|---|---|
-H, --host | IP-адрес или имя хоста целевого сервера. | Обязательно |
-p, --port | Номер SSH-порта цели. | 22 |
-u, --user | Имя целевого пользователя для проверки. | Обязательно |
-k, --pubkey | Путь к легитимному файлу .pub, привязанному к целевой учётной записи. | Обязательно |
--sig-alg | Принудительный тип подписи (ssh-rsa, rsa-sha2-256, rsa-sha2-512). | auto |
--exec | Удалённая команда для выполнения в качестве доказательства доступа при успехе. | None |
--timeout | Тайм-ауты сетевого и аутентификационного соединения в секундах. | 10 |
python3 ssh_modulus_forge_check.py -H 192.168.88.1 -u admin -k id_rsa.pub --exec "/system resource print"
Для защиты уязвимых устройств убедитесь, что установки RouterOS немедленно обновлены до исправленных версий. Если установка исправлений не может быть запланирована штатными средствами, ограничьте административный доступ к сервису, применив локализованные правила межсетевого экрана IP (/ip firewall filter) или используя управление сервисами RouterOS (/ip service) для ограничения разрешённых исходных адресов.
Данная реализация предназначена исключительно для проверки защитного поведения, аудита учётных данных и подтверждения соответствия исправлениям в авторизованных сетях.