
Strumento di test per l'exploit Mikrotrick (CVE-2026-67276)
Un validatore comportamentale automatizzato progettato per rilevare la vulnerabilità di bypass dell'autenticazione a chiave pubblica SSH in MikroTik RouterOS (CVE-2026-67276).
Lo script verifica se un difetto di validazione incompleta del servizio SSH consente l'autenticazione stabilendo un handshake utilizzando una firma contraffatta che corrisponde solo al modulo della chiave pubblica target.
CVE-2026-67276 deriva da una verifica incompleta della chiave pubblica RSA all'interno del gestore del demone SSH di RouterOS. Quando elabora la richiesta di autenticazione a chiave pubblica di un client, le versioni interessate confrontano solo il tipo di chiave e il modulo pubblico RSA ($n$), omettendo la validazione dell'esponente pubblico ($e$).
Un operatore che possiede la chiave pubblica autorizzata configurata per l'utente target può contraffare un payload di login. Inviando un blob di chiave effimera in cui l'esponente è impostato a $1$ ($e=1$) insieme al modulo autorizzato valido, è possibile superare una firma matematicamente prevedibile che corrisponde alla struttura esatta che il verificatore si aspetta. Questo bypassa completamente l'autenticazione senza possedere o necessitare della corrispondente chiave privata.
ssh-rsa legittimo.ssh-rsa, rsa-sha2-256 o rsa-sha2-512).Il validatore richiede Python 3 e la libreria paramiko per la costruzione di messaggi SSH personalizzati.
pip install paramiko
python3 ssh_modulus_forge_check.py -H <IP_TARGET> -u <NOME_UTENTE> -k <PERCORSO_CHIAVE_PUBBLICA_AUTORIZZATA>
| Flag | Descrizione | Predefinito |
|---|---|---|
-H, --host | Indirizzo IP o nome host del target. | Obbligatorio |
-p, --port | Numero della porta SSH del target. | 22 |
-u, --user | Nome utente target da validare. | Obbligatorio |
-k, --pubkey | Percorso del file .pub legittimo associato all'account target. | Obbligatorio |
--sig-alg | Forza il tipo di firma (ssh-rsa, rsa-sha2-256, rsa-sha2-512). | auto |
--exec | Comando remoto da eseguire come prova di accesso in caso di successo. | None |
--timeout | Timeout di connessione di rete e autenticazione in secondi. | 10 |
python3 ssh_modulus_forge_check.py -H 192.168.88.1 -u admin -k id_rsa.pub --exec "/system resource print"
Per proteggere i dispositivi vulnerabili, assicurarsi che le installazioni RouterOS vengano aggiornate immediatamente alle versioni corrette. Se l'applicazione delle patch non può essere pianificata nativamente, limitare l'accesso amministrativo al servizio applicando regole firewall IP localizzate (/ip firewall filter) o utilizzando la gestione dei servizi RouterOS (/ip service) per limitare gli indirizzi sorgente consentiti.
Questa implementazione è destinata esclusivamente alla verifica del comportamento difensivo, al controllo delle credenziali e alla validazione della conformità delle patch su reti autorizzate.