Intrusion dans un routeur avec Angry IP Scanner
Ce type d'attaque ne nécessite aucune connaissance particulière et peut être réalisée avec un simple logiciel de scan de réseau.
Pour scanner le réseau, les vrais geeks utilisent nmap, le même qu'utilisait Trinity dansMatrix !
Quant à moi, je préfère Angry IP Scanner (version 3.0-beta4 pour macintel), qui est très facile à configurer et largement suffisant pour un scan de base.
La version que j'ai utilisée est une beta et peut être un peu capricieuse. Cependant, si vous constatez que l'application, une fois téléchargée et installée, rebondit dans le dock sans se lancer, le problème ne vient pas du logiciel, mais d'un bug de la dernière (ou avant-dernière ?) update de Java pour Mac OSX. Pour qu'Angry IP Scanner fonctionne correctement, il suffit alors d'ouvrir le terminal et d'entrer le code suivant :
Code: |
$ cd /Applications/Angry\ IP\ Scanner.app/Contents/MacOS/ $ rm /Applications/Angry\ IP\ Scanner.app/Contents/MacOS/ipscan $ cp /System/Library/Frameworks/JavaVM.framework/Resources/MacOS/\ JavaApplicationStub ipscan |
Une fois Angry Ip Scanner lancé, vous pouvez le configurer pour faire un test de sécurité de réseau. Dans l'exemple suivant, je vais scanner la plage d'IP XXX.147.71.0-255 qui appartient au domaine de mon propre fournisseur d'accès !
Choisissez un domaine à scanner géographiquement proche de chez vous, sinon le temps de réponse des pings risque d'être assez long. Notez également que le temps d'attente de renvoi des paquets (Ping timeout) est configurable dans l'onglet "scanning" des préférences d'Angry. Par défaut, il doit être de 200 ms.
Mon but est de trouver des routeurs dont le port 23 (telnet) ou 80 (http) est ouvert. En effet, la configuration des routeurs est le plus souvent accessible par telnet ou par une interface web.
1. Dans le menu "préférences", je vais donc spécifier les ports 23 et 80, car seuls ces deux-là m'intéressent pour m'introduire dans un routeur.
2. Toujours dans les préférences, dans l'onglet "display", je coche "Hosts with open ports only", car je ne souhaite afficher que les IP des routeurs dont l'un ou l'autre de ces ports est ouvert.
3. Je clique ensuite sur OK pour fermer les préférences, et dans la fenêtre principale je rentre l'adresse IP de départ (IP range) et l'adresse IP d'arrivée (to) de la plage que je vais scanner :
4. Je clique sur "start" et c'est parti !
5. Au bout quelques secondes, j'obtiens la liste des routeurs dont l'un des deux ports (ou les 2) est ouvert. Les ports ouverts sont affichés dans la colonne "Ports [2+]"
6. Ensuite, il me suffit de les tester un par un en faisant un clic droit sur chaque ligne. Dans le menu contextuel, je sélectionne "Open" -> "Web Browser" si c'est le port 80 qui est ouvert, ou "open" -> "Telnet" si c'est le port 23 qui est ouvert.
Attaque par Web Browser
Attaque par Telnet
Dans le premier cas, cela ouvrira le navigateur par défaut (dans mon cas, Safari), et dans le second cas, c'est le Terminal qui doit s'ouvrir. (Il se peut qu'il soit nécessaire de cliquer sur la fenêtre du Terminal, s'il n'apparaît pas au premier plan).
7. Cas d'une attaque par Telnet :
Dans le cas le plus favorable, après avoir sélectionné "Open -> Telnet", vous voyez apparaître une fenêtre comme celle-ci :
Ici, Telnet vous demande seulement un mot de passe. Comme il s'agit d'un modèle TrendChip, le mot de passe par défaut est simplement "admin".
Faites une recherche sur Google avec les mots clés "router default password" et vous trouverez des listes complètes de différents modèles de routeurs avec leurs logins et passwords par défaut !
Une fois le mot de passe entré j'appuie sur la touche "enter" (retour chariot) et j'accède aux commandes du routeur de la victime :
Les interfaces et les commandes diffèrent selon les routeurs. Ici, nous avons de la chance : je tape la commande "show all" qui va tout nous révéler :
Et voici que se révèle devant nos yeux émerveillés, toute la configuration du routeur !
Dans ce modèle de routeur, le login de connexion et le mot de passe de la victime apparaissent en clair ! (Je les ai simplement masqués en rouge pour préserver la vie privée de
De plus, dans le cas de ce fournisseur d'accès, les login & password de connexion adsl sont les mêmes que ceux du compte e-mail ! Un individu malveillant pourrait donc facilement se connecter sur l'interface webmail du FAI de la victime, lire son courrier, séduire sa femme, et envoyer des mails d'insulte à son patron en se faisant passer pour lui !
Chez certains FAI, les logins de connexion ADSL contiennent une suite de chiffres qui n'est autre que le numéro de téléphone de la victime.
Il suffit alors de faire une recherche sur ce numéro de tél (annuaire électronique...) pour connaître son adresse, etc. Une fois tous ces renseignements connus, une recherche sur Google et sur Facebook peuvent également apporter des renseignements utiles : photos, goûts, profession, etc. Tous ces renseignements collectés peuvent être utilisés ultérieurement pour une attaque de type Social engineering.
Un individu malveillant ayant accès au routeur peut aussi configurer le NAT , en suivant par exemple ce tutoriel pour forwarder un port afin de préparer une attaque contre une tierce victime. Il peut aussi désactiver le firewall (s'il est activé !), ouvrir un port qui servira ensuite à introduire un logiciel malveillant, etc.
8. Intrusion par attaque web
Si le port 80 est ouvert (c'est le cas ici !), on peut arriver au même résultat sans utiliser le Terminal. On sélectionne alors "Open" -> "Web Browser" et c'est votre navigateur par défaut qui s'ouvre avec une fenêtre de connexion :
9. Il suffit ici d'entrer "admin/admin" et l'on accède à l'interface web de paramétrage du routeur de la victime :
10. Dans ce type de routeur, on cliquera sur le menu "Interface Setup" pour afficher les informations utiles sur la connexion de la victime. Pour d'autres routeurs, ce sera le menu "WAN", etc.
11. On constate que le password est caché (******), mais la plupart du temps ce n'est pas un problème ! Il suffit en effet de faire un clic droit sur la page et de sélectionner "Code Source" pour accéder au code source de la page, où le mot de passe s'affiche cette fois en clair !
Pour optimiser leurs attaques, certains utilisent des logiciels comme Router_Brute qui permettent d'automatiser la recherche de login/mot de passe avec des listes des mots qui correspondent aux l/p par défaut de la plupart des routeurs connus ! (admin/admin, root/root, etc...). Le système est assez souple puisqu'on peut composer sa propre liste de mots.
Si vous ne voulez pas être victime de ce type d'attaque, pensez à changer le mot de passe par défaut de l'accès à l'interface web et telnet de votre routeur !