La possibilité d'exécuter des programmes (en l'occurence des scripts TCL) directement au coeur de routeurs CISCO n'est pas sujet nouveau : Nous l'avions abordé dans un précédent bulletin intitulé "Cheval de Troie/rootkit sur routeur CISCO IOS: Le langage TCL incriminé, 5 Mai 2010".
Après le rootkit, il s'agit cette fois de contrôler un routeur CISCO via un canal IRC (Internet Relay Chat) : Le routeur CISCO va se connecter directement (et automatiquement) à un canal IRC afin de prendre ses instructions pour ensuite les exécuter. L'article "Controlling a Cisco IOS device from an IRC channel, August 6, 2011" publié sur le site du SANS ISC explique que ce type d'attaque est tout à fait réaliste.
un cocktail détonant
En mixant ces deux techniques, Manuel Humberto Santander Pelaez nous explique qu'un administrateur réseau ne pourra que très difficilement détecter une compromission (grâce à la fonction rootkit) et perdra le contrôler de son infrastructure réseau.... dangeureux, très dangeureux même.
En l'état le script TCL du client IRC n'implémente que la fonctionnalité de "Ping" ; sa structure étant cependant très simple il pourra être facilement enrichi avec de nouvelles fonctionnalités. Si IRC semble barbare, les communications pourraient tout à fait être basées sur le protocole HTTP ("CISCO IOS Hints and Tricks, Generate HTTP(S) requests from Tcl shell").
L'un des scénarios serait de monter une armée de routeurs zombies (cad un botnet) qui seraient pilotés à distance par un attaquant. Rien de bien nouveau me direz vous, des routeurs basés sur un noyeau Linux ont déjà été ciblés par ce type d'attaque : "Des box Internet et des routeurs infectés par le ver psyb0t, 25 Mars 2009"
protéger l'accès à ses routeurs
D'un coté, il est essentiel de sécuriser l'accès à ses routeurs, donc d'utiliser des protocoles d'accès sécurisés (donc pas de Telnet) et de préférer des protocoles sécurisés comme SSHv2 (en faisant attention aux attaques de downgrade) le tout allié à l'utlisation de mots de passe forts. La présentation de Manuel décrit de façon claire les risques liés à l'utlisation de protocoles non sécurisés et liste les techniques et outils d'attaque. Plus d'excuse pour prêcher l'ignorance !
signer numériquement les scripts
De l'autre coté, les scripts TCL peuvent être signés numériquement : Un script dont la signature ne peut être vérifiée ne sera pas lancé par le routeur. La démarche et sa mise en place est décrite sur la page "Security in Tcl Scripts for Cisco IOS" du site CISCOPress. Oui, sur le papier cela semble marcher : Après dans la vraie vie c'est assez rare de voir une PKI de déployée au coeur d'une infrastructure réseau....
Au sein de la direction sécurité du Groupe Orange, je suis en charge de la veille sécurité et de la sensibilisation à la sécurité. Franchise, optimisme et bonne-humeur sont mes moteurs quotidiens