Serveur d'impression

Une vulnérabilité RCE critique dans les extensions Wi-Fi TP-Link peut permettre à des attaquants de prendre le contrôle à distance – Bien choisir son serveur d impression

Le 1 juillet 2019 - 8 minutes de lecture

Les extendeurs Wi-Fi, également appelés répéteurs, sont des appareils pouvant amplifier un signal Wi-Fi dans une maison. Ils sont le plus souvent utilisés dans des habitations de grande taille ou à plusieurs étages ou tout simplement dans des endroits où la portée du routeur n’est pas optimale partout dans la maison. Les prolongateurs sont vendus dans presque tous les magasins d’électronique. Le répéteur capture le signal Wi-Fi du routeur principal et le rediffuse dans des zones où le Wi-Fi est faible ou inexistant.

Dans le cadre d’une série récente de vulnérabilités découvertes dans les routeurs domestiques, Grzegorz Wypych, chercheur chez IBM X-Force, a découvert une faille zéro jour dans une extension de réseau Wi-Fi TP-Link. Si exploitée, cette vulnérabilité d'exécution de code à distance (RCE) peut permettre l'exécution de commandes arbitraires via un champ d'agent utilisateur mal formé dans les en-têtes HTTP. Cela signifie qu'un attaquant distant pourrait obtenir le contrôle complet du périphérique et le commander avec les mêmes privilèges que l'utilisateur légitime du périphérique.

Le modèle spécifique dans lequel nous avons trouvé et exploité cette vulnérabilité est l'extension TP-Link RE365 Wi-Fi avec la version de micrologiciel 1.0.2, version 20180213 Rel. 56309. Bien que ce modèle soit le seul que nous ayons vérifié pour ce défaut RCE, après des tests internes, TP-Link a confirmé que trois autres modèles étaient également concernés: RE650, RE350 et RE500. Cette vulnérabilité est liée à CVE-2019-7406 et des liens vers les correctifs TP-Link sont disponibles à la fin de cet article.

Puissance non authentifiée

La vulnérabilité à l’étude est quelque peu surprenante car elle peut être exploitée par un attaquant distant sans nécessiter de connexion / d’authentification sur le prolongateur Wi-Fi. De plus, bien qu’il soit courant dans la plupart des chaînes de destruction d’attaques, l’élévation des privilèges ne serait pas nécessaire ici, car tous les processus de ces périphériques exécutent déjà un accès de niveau racine. Exécuter en tant que root par défaut est assez risqué car toute personne susceptible de compromettre le périphérique peut y effectuer n'importe quelle action.

Alors, comment ça se passe? Comme de nombreux routeurs, dans ce cas, l’extendeur fonctionne également sur l’architecture MIPS, mais commençons par examiner une demande HTTP GET envoyée à l’extendeur Wi-Fi. La configuration du réseau revêt une certaine importance pour un attaquant qui tente de se connecter à l’extendeur. Si une personne est déjà connectée au réseau, elle peut facilement accéder à l'appareil, mais l'impact réel peut provenir d'un tiers externe accédant à l'appareil à partir d'Internet via un transfert de port.

L'image ci-dessous montre une requête HTTP mal formée qui peut permettre à toute commande de shell d'être exécutée sur le répéteur Wi-Fi RE365 ciblé. Nous pouvons également voir les paramètres de requête du périphérique entièrement compromis. L'image a été obtenue à l'aide de Burp Suite, un outil graphique permettant de tester la sécurité des applications Web.

RCE vuln dans TP Link Widi Repeater CVE-2019-7406

Figure 1: Requête HTTP mal formée exploitable envoyée à l'extension Wi-Fi

Voyons ensuite comment se déroule la vulnérabilité d’exécution de code à distance. Pour une meilleure visualisation, nous avons utilisé IDA, un désassembleur et un débogueur multiprocesseurs populaires.

Vulnérabilité RCE exécutée par un appel système

En examinant le binaire dans IDA, nous pourrions rechercher un champ d’agent utilisateur spécifique, qui vérifie le type de navigateur à partir duquel l’utilisateur accède à l’extendeur (mobile ou autre). Nous pouvons voir ici un commentaire automatisé référençant la chaîne Agent mobile:% s. Il est imprimé sur l’écran de la console du périphérique et ne doit pas être utilisé par le exécuter appel système. Cet appel système peut exécuter n'importe quoi sur la console. Cela aurait dû être limité et ouvre l'extension aux actions malveillantes.

RCE vuln dans TP Link Widi Repeater CVE-2019-7406

Figure 2: Flux d’exécution de la fonction PRINTF_ECHO révélant l’agent utilisateur sur la console du périphérique

L'image suivante montre qu'un message utilisant une commande shell écho est envoyé à la console en utilisant la fonction execFormatCmd. Ce dernier utilise le exécuterappel système en interne, qui est à la racine de cette vulnérabilité RCE.

RCE vuln dans TP Link Widi Repeater CVE-2019-7406

Figure 3: Encapsulation en couches de l'appel système execve avec des fonctions définies. Cela était probablement supposé donner une certaine obscurité à exécuter.

L'appel à execFormatCmd exécute l'appel système exécuter, que nous pouvons utiliser pour fusionner le champ agent d’utilisateur avec une commande d’exécution de code à distance à l’aide d’un shell inverse sur telnetd. Telnetd est un démon de serveur telnet à source ouverte (serveur de protocole DARPA TELNET) pour la connexion à distance.

RCE vuln dans TP Link Widi Repeater CVE-2019-7406

Figure 4: Corps de la fonction execFormatCmd qui exécute la commande sub_40B740

À noter, la fonction vsprintf Ce bloc peut être exploité via un buffer overflow, mais il ne pourra pas écraser l’adresse de retour de l’architecture MIPS utilisée dans ce type de périphérique. Dans un tel cas, un attaquant externe pourrait provoquer une attaque par déni de service, qui est moins critique que la vulnérabilité de RCE.

La figure 5 montre le corps de l'exécution sub_40B740 Cette fonction permet de créer un processus enfant qui imprimera des messages sur la console du périphérique. Le processus enfant est créé dans la fonction fork affichée au milieu du bloc. Pour ce faire, il utilise exécuter, ce qui, encore une fois, pose problème car cette commande peut exécuter n’importe quelle commande shell (aBinSh paramètre exact) sans limiter les actions pouvant être entreprises par un utilisateur – dans ce cas, un attaquant potentiel.

RCE vuln dans TP Link Widi Repeater CVE-2019-7406

Figure 5: Execve sys appel d'appel avec entrée contrôlée par l'utilisateur

L'image suivante montre une session Telnet ouverte à partir d'un périphérique entièrement compromis. Une fois connecté au port TCP 4444, nous avons pu obtenir un shell de niveau racine sur l’extendeur Wi-Fi sans aucune élévation de privilèges, avec tous les processus exécutés en tant que root.

RCE vuln dans TP Link Widi Repeater CVE-2019-7406

Figure 6: Accès illimité au périphérique compromis

Les extensions Wi-Fi présentent un risque étendu

Les extensions Wi-Fi sont des appareils qui peuvent être achetés dans quelques magasins d’électronique pour quelques dollars. Bien que ces appareils soient le plus souvent utilisés dans les foyers et les petites entreprises, ils se trouvent également dans les réseaux des grandes organisations, où le Wi-Fi pour les clients est activé et étendu entre différents étages pour desservir ceux qui souhaitent se connecter.

Cette vulnérabilité peut donc affecter de nombreux utilisateurs finaux, des utilisateurs particuliers aux entreprises, et permettre à un attaquant d'envoyer toute demande à l'extension. Le type d'impact pouvant résulter de cet accès non authentifié inclut, par exemple, le fait de demander au périphérique d'accéder à un serveur de commande de contrôle de botnet (C & C) ou à une zone d'infection. La pensée d’une infection Mirai sur des périphériques Internet des objets (IoT) est, bien sûr, l’une des premières choses qui me viennent à l’esprit, où des scripts automatisés pourraient éventuellement s’exécuter en tant que root sur ce type de périphérique si la vulnérabilité était exploitée.

Corriger et atténuer les risques

Il est important de limiter le risque généré par cette faille d’exécution de code à distance (CVE-2019-7406) en mettant en œuvre des contrôles de compensation ou un correctif dès que celui-ci est disponible.

L'équipe de sécurité de TP-Link a confirmé que quatre produits étaient concernés par ce problème:

  • Outre le RE365, le modèle RE650 de la gamme de produits actuelle a également été confirmé vulnérable.
  • Deux modèles EOL, RE350 et RE500, ont également été confirmés comme présentant ce problème.
  • Aucun autre modèle n'a été confirmé comme affecté.

TP-Link a fourni les ressources suivantes pour aider les utilisateurs à mettre à jour leur micrologiciel:

Les utilisateurs peuvent également se tenir au courant des vulnérabilités grâce aux services de gestion des vulnérabilités d’IBM X-Force Red.

En savoir plus sur les services de sécurité offensifs IBM X-Force Red

Commentaires

Laisser un commentaire

Votre commentaire sera révisé par les administrateurs si besoin.