
Vérificateur comportemental non destructif pour le contournement d'authentification SSH de MikroTik RouterOS (CVE-2026-67279 / MikroTrick). Mesure uniquement la réaction du serveur — aucune charge d'exploitation.
Vérificateur comportemental non destructif pour le contournement d'authentification SSH de MikroTik RouterOS (CVE-2026-67279) — aussi appelé la chaîne MikroTrick.
sonder. mesurer. décider. aucun payload.
Un petit outil qui examine le comportement d'un appareil RouterOS que vous possédez afin de vérifier concrètement si la version installée souffre d'un contournement d'authentification dans SSH (première phase de MikroTrick) avant de procéder à la mise à niveau.
--console (lecture seule).docs/GUIDE_AR.md.Copiez le contenu de install_termux.sh et collez-le dans Termux, puis :
# أولًا: تأكد أن الأداة تعمل — بلا شبكة وبلا أي جهاز
python mtx.py --selftest # -> 3/3
# ثانيًا: افحص جهازك
python mtx.py <عنوان-الجهاز> --port 22
sur Termux, la commande est généralement
pythonet nonpython3.
Si un client demande une renégociation de clé SSH (rekey) avant l'authentification, une version de RouterOS non corrigée passe tout de même à l'étape du protocole de connexion et accepte l'ouverture d'un canal de session sans connexion. L'outil mesure exactement cela, et rien de plus :
| Lecture | Appareil corrigé | Appareil vulnérable | SSH normal (ex. OpenSSH) |
|---|---|---|---|
| Rekey pré-authentification | échoue, connexion interrompue | réussit | réussit |
| Canal de session ouvert avant authentification | — (lien déjà coupé) | accepté | refusé |
| Verdict | Signification |
|---|---|
VULNERABLE | Canal de session pré-authentification accepté — comportement de CVE-2026-67279. |
PATCHED_SIGNATURE | Rekey pré-authentification refusé et connexion interrompue — signature d'une version corrigée. |
NOT_CONFIRMED | Rekey autorisé mais application de l'authentification intacte — exploitation non prouvée. |
UNREACHABLE | Port SSH non joignable. |
INCONCLUSIVE | Lecture ambiguë ; examinez les détails bruts. |
Le verdict est comportemental — RouterOS ne révèle jamais sa version dans la bannière SSH, comparez donc avec un appareil de contrôle corrigé pour prouver que l'outil discrimine (voir le guide, étape 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 est passé explicitement ; même dans ce cas, il
envoie une commande en lecture seule (par défaut /system resource print).À utiliser uniquement sur des appareils que vous possédez ou pour lesquels vous êtes explicitement autorisé par écrit à effectuer des tests.
/user print, /system scheduler print, /system script print, les SOCKS/tunnels,
et les fichiers inconnus sur le stockage.ops ; journaux login failure for user -2 ... via ssh et
user added by ssh:-2@<ip> ; IP sources 82.192.72.4, 103.102.31.18.CVE-2026-67279 affecte RouterOS 6.x (6.0.0 – < 6.49.21) et 7.x. La prise de contrôle complète de l'administrateur n'a été reproduite que sur 7.x (nécessite le CVE complémentaire CVE-2026-86060) ; sur 6.x, le contournement permet la manipulation de l'espace de noms des fichiers. 6.48.6 est concerné (aux côtés de 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 — voir LICENSE.