Si un attaquant est capable d’exécuter des commandes directement sur votre routeur, il peut :

  • Attaquez votre réseau interne et les autres appareils qui y sont connectés.
  • Backdoor le routeur en installant des logiciels malveillants ou en le connectant au botnet Mirai.
  • Espionner le trafic HTTP d’un utilisateur.
  • Exécuter des commandes à distance sur votre routeur en tant qu’utilisateur root.
  • Arrêter ou redémarrer votre appareil.
  • Steller vos informations d’identification du réseau Wi-Fi en même temps que le SSID (nom) du réseau.

La surface d’attaque est suffisamment grande pour faire du tort à beaucoup de particuliers et d’entreprises. Je vais décrire certains de ces scénarios en détail pour vous montrer à quel point cette vulnérabilité est dangereuse.

Tout attaquant est capable d’émettre une commande sur votre routeur en tant qu’utilisateur root à votre insu. Cela se passe de manière transparente, il suffit de visiter un site web malveillant. Si vous ne surveillez pas vos connexions sortantes, il n’est pas possible de détecter ce type d’activité sans outils supplémentaires.

La charge utile la plus simple pour redémarrer le routeur d’une personne qui visite votre site web :

Le code est exécuté lorsque l’image est chargée depuis le serveur externe (votre routeur). Il ne permet pas de récupérer le contenu de la réponse mais seulement de déclencher une commande à distance.

Lecture de données à distance depuis votre routeur

Lancer une commande à distance n’est pas compliqué puisqu’il n’est pas nécessaire de récupérer le contenu de la réponse pour l’attaquant. Recevoir une réponse en retour n’est pas possible à cause des restrictions de la politique de même origine (SOP).

La politique de même origine est un modèle de sécurité à la fois pour les navigateurs et les plugins fonctionnant dans un navigateur (c’est-à-dire Java, Flash ou Silverlight). Le but principal de cette fonctionnalité est de bloquer l’accès au contenu d’un site web depuis l’autre site web.

L’accès au contenu du site web est accordé en fonction de l’origine qui est spécifiée pour l’un et l’autre. La table de vérité pour les origines se présente comme suit :

La politique de même origine (SOP) – comparaison de différents scénarios

* – Le numéro de port n’est pas inclus dans le composant « origine » par les navigateurs IE/Edge (plus).

Si le site web « A » n’a pas la même origine que le site web « B », alors cela signifie que nous ne pouvons pas lire le contenu d’un site web « B » depuis « A » et inversement. Nous supposons que le partage de ressources inter-origine (CORS) n’est activé pour aucun serveur, ce qui est vrai pour la configuration par défaut.

Le périphérique du routeur n’a pas la même origine que le site web de l’attaquant. Néanmoins, l’attaquant peut réaliser cette communication avec des techniques de contournement de la politique de même origine. Il y avait même des vulnérabilités dans le mécanisme SOP lui-même :

  • CVE-2015-7188 – L’espace blanc de queue dans les noms d’hôtes des adresses IP peut contourner la politique de même origine.
  • CVE-2016-1967 – Violation de la politique de même origine en utilisant performance.getEntries et la navigation dans l’historique avec la restauration de session.
  • CVE-2016-1949 – Violation de la politique de même origine en utilisant Service Workers avec des plugins.

Le contournement de la politique de même origine est possible en exploitant un navigateur/plugin vulnérable ou en utilisant la technique appelée DNS Rebinding.

Ataque DNS Rebinding

L’attaque DNS Rebinding permet de lire des données depuis l’autre origine en contournant le mécanisme de la politique de même origine. Dans le scénario le plus basique, il est possible de remplacer l’enregistrement DNS (« A ») d’un domaine pendant que l’utilisateur visite le site web malveillant.

DNS Rebinding – diagramme

Si cette attaque a réussi, alors l’attaquant est capable de lire n’importe quelle réponse d’une commande exécutée sur le routeur distant ( 192.168.1.1).

Données sensibles du côté du routeur

L’attaquant est maintenant capable de lire le contenu distant de votre routeur. Il peut émettre une commande nvram show qui détient tous les paramètres de configuration de votre routeur comme:

La commande mentionnée renvoie beaucoup de données sensibles. L’attaquant est non seulement capable de lire les données du routeur mais il peut également définir de nouvelles valeurs pour ces paramètres. Cela signifie qu’il est capable de :

  • Changer votre mot de passe Wi-Fi.
  • Activer la gestion à distance (netgear.com – documentation).
  • Désactiver le pare-feu.
  • Créer un VPN vers l’endroit de son choix.
  • Mettre à jour les paramètres nvram, il chargera les paramètres enregistrés après le redémarrage de l’appareil (nvram set http_passwd=test; nvram commit).
  • …et bien plus encore.

Comment se protéger contre ce genre d’attaques ?

Il n’y a pas de méthode simple et unique pour se protéger contre toutes les variantes de cette attaque. Je recommanderais de désactiver le démon httpd sur le routeur et de bloquer toutes les connexions entrantes à votre réseau local depuis Internet.

Protection contre l’attaque DNS Rebinding.

Le mécanisme de protection standard du côté du serveur consiste à vérifier l’en-tête Host. Dans un scénario standard, lorsque votre navigateur se connecte à facebook.com alors il envoie Host: facebook.com header.

S’il y a l’attaque DNS Rebinding en place et que l’utilisateur visite attacker.com qui tente d’exploiter le mécanisme SOP alors le navigateur se connecte à facebook.com et envoie Host: attacker.com header. Si le serveur est configuré correctement alors devrait bloquer cette demande puisque l’en-tête Host ne correspond pas à la demande originale.

Le routeur Netgear ne bloque pas la connexion même si l’en-tête Host est invalide et donc cette attaque réussit, ce qui est vrai pour la plupart des routeurs.

Bloquer la connexion à votre réseau local depuis Internet.

La méthode la plus simple est de bloquer TOUTES les connexions d’Internet à votre réseau local. Cela bloquera tout type de communication du navigateur vers vos périphériques locaux comme le routeur et les autres ordinateurs.

Pour tous ceux qui travaillent sur Mac OS X, il est possible d’installer l’application Little Snitch qui est capable de restreindre l’accès à des sous-réseaux définis ou à des adresses IP spécifiques pour chaque application ou processus système.

La correction de ce problème vous protégera non seulement contre cette technique d’exploitation mais aussi contre les futures menaces basées sur l’attaque DNS Rebinding.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.