
Неразрушающий поведенческий верификатор для обхода аутентификации SSH в MikroTik RouterOS (CVE-2026-67279 / MikroTrick). Измеряет только реакцию сервера — без эксплойт-полезной нагрузки.
Неразрушающий поведенческий верификатор для обхода аутентификации SSH в MikroTik RouterOS (CVE-2026-67279) — также известного как цепочка MikroTrick.
probe. measure. decide. no payload.
Небольшой инструмент, который проверяет поведение вашего устройства RouterOS, чтобы практически убедиться, что установленная сборка подвержена обходу аутентификации в SSH (первая стадия MikroTrick) до обновления.
--console (только чтение).docs/GUIDE_AR.md.Скопируйте содержимое install_termux.sh и вставьте его в Termux, затем:
# أولًا: تأكد أن الأداة تعمل — بلا شبكة وبلا أي جهاز
python mtx.py --selftest # -> 3/3
# ثانيًا: افحص جهازك
python mtx.py <عنوان-الجهاز> --port 22
В Termux обычно используется команда
python, а неpython3.
Если клиент запрашивает пересогласование SSH-ключа (rekey) до аутентификации, неисправленная сборка RouterOS всё равно переходит к этапу протокола соединения и принимает открытие сессионного канала без входа в систему. Инструмент измеряет именно это и ничего больше:
| Показатель | Исправленное устройство | Уязвимое устройство | Обычный SSH (например, OpenSSH) |
|---|---|---|---|
| Rekey до аутентификации | завершается ошибкой, соединение сбрасывается | успешно | успешно |
| Сессионный канал открыт до аутентификации | — (соединение уже разорвано) | принят | отклонён |
| Вердикт | Значение |
|---|---|
VULNERABLE | Сессионный канал до аутентификации принят — поведение CVE-2026-67279. |
PATCHED_SIGNATURE | Rekey до аутентификации отклонён, соединение сброшено — признак исправленной сборки. |
NOT_CONFIRMED | Rekey разрешён, но проверка подлинности работает — эксплуатация не доказана. |
UNREACHABLE | SSH-порт недоступен. |
INCONCLUSIVE | Неоднозначный результат; изучите необработанные данные. |
Вердикт является поведенческим — RouterOS никогда не раскрывает свою версию в SSH-баннере, поэтому сравните с исправленным контрольным устройством, чтобы доказать, что инструмент различает состояния (см. руководство, шаг 4).
git clone https://github.com/<you>/mikrotrick-verifier.git
cd mikrotrick-verifier
python -m pip install -r requirements.txt
# 1) prove the tool works first -- offline, no device, no network
python mtx.py --selftest # -> 3/3
# 2) offline logic self-test (same logic, full harness)
python tests/selftest_inproc.py # -> 3/3
# 3) scan your own / authorized device
python mtx.py <host> --port 22 --timeout 8
python mtx.py <host> --json report.json
--console; даже в этом случае
отправляется команда только для чтения (по умолчанию /system resource print).Используйте только на устройствах, которыми вы владеете или на тестирование которых у вас есть явное письменное разрешение.
/user print, /system scheduler print, /system script print, SOCKS/туннели
и неизвестные файлы в хранилище.ops; записи в журнале login failure for user -2 ... via ssh и
user added by ssh:-2@<ip>; IP-адреса источников 82.192.72.4, 103.102.31.18.CVE-2026-67279 затрагивает RouterOS 6.x (6.0.0 – < 6.49.21) и 7.x. Полный захват прав администратора был воспроизведён только на 7.x (требуется сопутствующая CVE-2026-86060); на 6.x обход позволяет манипулировать пространством имён файлов. 6.48.6 входит в область действия (наряду с CVE-2023-30799 / CVE-2023-32154).
mikrotrick-verifier/
├── mtx.py # single-file, paste-in-place verifier (Termux-friendly)
│ # --selftest proves it works offline; --json / --console
├── install_termux.sh # one-paste installer for Termux
├── tools/
│ ├── mikrotrick_check.py # full-featured verifier (bundled checks, JSON reports)
│ └── mock_routeros.py # offline SSH mock (vulnerable / patched / normal)
├── tests/
│ ├── selftest_inproc.py # offline logic self-test -> 3/3
│ └── test_mtx_cli.py # end-to-end CLI test -> 3/3
├── docs/
│ └── GUIDE_AR.md # full Arabic guide
├── requirements.txt
└── LICENSE
MIT — см. LICENSE.