Le "pharming" et les routeurs Internet domestiques ("Drive-by Pharming")

Date : 05 Mars 2007

Des chercheurs de Symantec et de l'université de l'Indiana ont publié ce mois-ci un document sur une technique d'attaque ciblant les utilisateurs domestiques et leur routeur Internet (ADSL/xDSL) : le "Drive-by Pharming". Bien que le public ciblé sorte du cadre de la communauté IST, nous avons trouvé les éléments associés suffisamment intéressants pour vous les présenter dans cet article.

Introduction :

Cette technique s'appuie essentiellement sur la faiblesse de l'interface d'administration des routeurs ADSL, notamment au niveau de la gestion des mots de passe d'accès qui restent généralement ceux définis par défaut (quand ils ne sont pas "vides").

Ce constat n'est cependant pas nouveau. Déjà, en 2001, Tsutomu Shimomura, chercheur très connu dans le monde de la sécurité informatique avait publié un rapport similaire sur des problèmes impactant les équipements ADSL Alcatel Speed Touch (CERT-IST/AV-2001.098 : Vulnérabilités dans les modems ADSL Alcatel Speed Touch Home, Alcatel Speed Touch Pro et Alcatel 1000 ADSL). Plus récemment, cette problématique avait aussi été abordée lors de la dernière conférence SSTIC qui s'était déroulée à Rennes en juin 2006 (cf. le compte-rendu de la conférence SSTIC 2006 à Rennes – "2.14. Sécurité des offres ADSL en France").

A la différence des annonces précédentes, le document de Symantec pousse plus loin l'expertise autour de ces problèmes de sécurité et propose des scénarios d'attaques soutenues par des éléments techniques probants (code disponible sur Internet) qui ont été testés par l'équipe de chercheurs.

L'attaque la plus simple, mise en évidence dans ce document, est une attaque de type "Pharming" qui permet de modifier les paramètres de résolution de noms (DNS) du routeur ADSL, et par extension des PC qui lui sont rattachés. Cette modification a pour objectif de rediriger tout (ou une partie) du trafic web de la victime vers des sites frauduleux/malveillants.

Le détail de la technique du "Pharming" a été décrit dans l'article du Bulletin Sécurité Cert-IST n° 90 - Evolution des techniques de "phishing" : le "pharming", les "keyloggers", etc). Ce type d'attaque a été par le passé très utilisé notamment lors de la découverte d'une vulnérabilité dans les équipements Symantec (CERT-IST/AV-2005.104 : "Vulnérabilité dans le serveur de relayage "DNSd" de certains logiciels Symantec"). Un DanGer potentiel avait été émis sur cette menace (CERT-IST/DG-2005.002 : "Recrudescence des attaques "keylogger" et "DNS poisoning"") afin de sensibiliser la communauté IST face à ce nouveau type de menace.


Schéma de l'attaque :

Le principe proposé pour mettre en œuvre de cette attaque (et donc modifier le serveur DNS au niveau du routeur ADSL) est de placer sur les sites visités par l'internaute visé, des codes JavaScript malicieux (ou des applets Java) qui seront exécutés silencieusement sur le poste de la victime, et qui tenteront depuis ce poste de modifier "par rebond" la configuration de son routeur ADSL. En effet l'accès à la configuration du routeur n'est en principe jamais possible directement depuis Internet (ce serait une grosse faille de sécurité) et un rebond sur le poste de l'internaute est donc nécessaire. Voyons plus en détail ce scénario d'attaque testé par l'équipe de chercheurs :

1 - Dans un premier temps, une applet Java qui aura été invoquée depuis la page web visitée va se charger de découvrir l'adresse IP de la machine de la victime. Généralement si la machine a une adresse configurée de manière automatique (DHCP), cette dernière aura une forme de type "192.168.0.x".

2 - A partir de cette donnée, un script JavaScript va scanner la plage d'adresses correspondant à l'adresse trouvée précédemment afin d'y détecter le serveur web d'administration du routeur ADSL. Pour cela, le script s'appuie sur une méthode de prise d'empreinte basée sur l'accès en HTTP à des images spécifiques (logo de l'application web). En proposant plusieurs URL (correspondant à des URL de type image) au serveur web trouvé et en analysant les réponses retournées, le script pourra déterminer le type de serveur web (Apache ou IIS) ou le modèle de l'équipement hébergeant le serveur web (routeurs Linksys, Netgear, DLink, ….).

3 - Une fois le modèle de l'équipement déterminé, le script proposera à l'interface d'administration web une série d'identifiants et mots de passe connus comme étant ceux généralement configurés par défaut (ex : http://admin:password@192.168.0.1).

Nota : Cette phase peut se dérouler avant la phase 2, si l'accès à l'image déterminant le modèle du routeur nécessite une authentification.

4 - Une fois l'accès à la configuration du routeur ainsi établi, le script n'aura alors plus qu'à fournir l'URL ad hoc permettant sur ce modèle de changer la configuration du serveur DNS de l'équipement (exemple simple : http://admin:password@192.168.0.1/apply.cgi?DNS serv=serveur_DNS_pirate.com).

Une fois cette modification effectuée sur le routeur ADSL, et comme généralement les PC connectés derrière ce routeur se basent sur les informations DNS fournis par cet équipement, tout le trafic en provenance des PC sera dépendant de la résolution effectuée par le serveur DNS pirate ainsi configuré.

On peut, à partir de cet instant, imaginer des scénarios divers et variés où par exemple le serveur DNS pirate renverrait des adresses IP de serveurs web frauduleux lors des demandes de connexion à des sites web ciblés : sites bancaires (Paypal, …), sites d'achat en ligne (eBay, …), sites de mise à jour ("Windows Update", …), …

La modification des paramètres DNS du routeur n'est qu'un échantillon des attaques qui peuvent être menées contre un équipement vulnérable. D'autres scénarios peuvent également être mis en œuvre comme par exemple:

  • l'activation de l'interface d'administration sur l'interface Internet (WAN) du routeur pour des accès distants aux fonctionnalités d'administration de l'équipement,
  • le téléchargement d'un "firmware" spécifique sur l'équipement pour en faire un équipement "zombie" fournissant des ressources (CPU, bande passante) lors d'attaques à grande échelle. Ce scénario peut être d'autant plus plausible que certains "firmwares" sont disponibles en OpenSource ("OpenWRT").

 

Moyens de protections :

Afin de se protéger contre ces attaques, le document de Symantec préconise des solutions classiques, mais qui nous semble bon de rappeler :

  • Au niveau de la navigation web :
    • Ne pas faire confiance à des applets Java et scripts JavaScript provenant de sites web non sûrs.
    • Utiliser les dernières versions des navigateurs web et de l'environnement d'exécution Java (JRE) afin de bénéficier des dernières fonctionnalités de sécurité.
  • Au niveau des routeurs Internet
    • Utiliser un mot de passe différent que celui proposé par défaut
    • Privilégier les flux HTTPS aux flux HTTP pour l'accès à l'interface d'administration web
    • Si possible, désactiver l'interface d'administration web, et effectuer l'administration via la console du routeur (pour les équipements disposant de cette fonctionnalité).

 

Pour plus d'information :

 

Précedent Précedent Suivant Suivant Imprimer Imprimer