Vigilance sécuritéAttaque de type Island Hopping :l'attrait contagieux des gadgets publicitaires

Jesper M. Johansson

La technique de « island hopping », qui consiste à pénétrer un réseau via un maillon faible puis à passer d'un système à l'autre de ce réseau, existe depuis des années.Mais elle continue à prendre de l'ampleur.Dans les environnements informatiques actuels soucieux de la sécurité, l'élément humain est souvent le maillon faible et les utilisateurs malveillants

trouvent des manières d'utiliser cela à leur avantage (telles que le hameçonnage et d'autres formes d'ingénierie sociale).Cette combinaison de carbone et de silicium peut se révéler fatale à votre réseau.

Une de mes implémentations préférées pour exploiter l'élément humain a été réalisée par Steve Stasiukonis de Secure Network Technologies lors d'un test de pénétration pour un client.Il a disséminé dans le parc de stationnement du client des lecteurs flash USB comportant chacun un cheval de Troie.Lorsque les employés sont arrivés au travail le matin, ils étaient ravis de trouver des gadgets gratuits répartis dans le parc de stationnement.Les employés ont recueilli avec empressement ces lecteurs USB et les ont connectés aux premiers ordinateurs à leur portée :leurs propres postes de travail.

Peut-être que certains employés ont été assez sages pour ignorer ces lecteurs USB et peut-être que certains lecteurs USB ont été jetés, mais il suffisait d'un utilisateur et d'un lecteur pour infecter son propre système et fournir une passerelle au réseau.Stasiukonis a réalisé cet exercice comme un test, bien sûr, mais cette technique a été utilisée par de vrais criminels pour infiltrer les grands réseaux d'entreprise.

Les lecteurs flash USB sont partout actuellement.Presque à chaque conférence, certains fournisseurs les distribuent comme des bonbons.Ces lecteurs peuvent ne pas avoir beaucoup de capacité, mais il n'est pas nécessaire d'avoir beaucoup d'espace de stockage pour prendre le contrôle de l'ensemble d'un réseau.Dans cette série en deux parties, j'examinerai ce type d'attaque et expliquerai les moyens d'atténuer le risque.Dans l'article de ce mois-ci, je présenterai ce que les lecteurs flash USB peuvent faire exactement et ce que vous pouvez faire pour les contrôler.Dans le numéro du mois prochain de Technet Magazine, je vous expliquerai comment contenir une attaque contre un seul ou un petit groupe de systèmes du réseau.

Les détails techniques de l'attaque sont en réalité très simples.Cela commence par un lecteur flash USB infecté que l'on insère dans un seul ordinateur.Ce qui arrive ensuite dépend de la charge du lecteur et, bien sûr, de la crédulité de l'utilisateur.

Au début

Sur l'estrade se trouvait un ordinateur portable sans surveillance.L'intervenant, était occupé à essayer de gagner les faveurs de l'auditoire avant de commencer sa présentation.L'ordinateur portable était verrouillé, mais cela avait peu d'importance.L'attaquant est monté sur l'estrade et a traîné un peu, en ayant l'air d'attendre le retour de l'intervenant.Ces estrades étant conçues pour masquer des objets peu esthétiques comme les ordinateurs, les ports USB et les mains de l'attaquant ont été cachées à la vue.Une fois le lecteur flash USB inséré dans l'ordinateur, quelques secondes ont suffi pour terminer l'attaque.

Il existe des variations évidentes sur ce thème particulier.Par exemple, lorsque je voyageais à travers le monde pour faire des présentations hebdomadaires, presque à chaque fois à la fin de celles-ci, quelques personnes demandaient une copie de mes diapositives.Ma réponse était toujours de leur remettre une carte de visite et leur demander de m'envoyer un message électronique.Pourquoi faisais-je cela puisque chacun d'eux conservait avidement un lecteur flash USB ?Parce que je connais des outils comme USB Hacksaw et Switchblade.(Si vous n'êtes pas familiers de ceux-ci, recherchez-les sur le site wiki.hak5.org.)

En fait, ces outils permettent pratiquement à n'importe qui d'exploiter des utilisateurs qui ne protègent pas leurs ports USB.Par exemple, Switchblade peut supprimer les éléments suivants :

  • les informations système
  • tous les services réseau
  • une liste des ports qui écoutent
  • toutes les clés de produit pour les produits Microsoft sur l'ordinateur
  • la base de données locale des mots de passe
  • le mot de passe des réseaux sans fil utilisés par l'ordinateur
  • tous les mots de passe de réseau enregistrés sur l'ordinateur par l'utilisateur connecté
  • les mots de passe Internet Explorer®, Messenger, Firefox et de la messagerie électronique
  • les secrets de l'autorité de sécurité locale (LSA, Local Security Authority), qui contiennent tous les mots de passe des comptes de service en texte clair
  • une liste des correctifs installés
  • un historique de la navigation récente

Tout cela est consigné dans un fichier journal sur le lecteur flash et prend environ 45 secondes.

Hacksaw est une version légèrement modifiée ; il installe un cheval de Troie sur l'ordinateur, qui contrôle tous les événements d'insertion du lecteur flash USB.Il envoie ensuite à l'attaquant par courrier électronique les documents de tous les lecteurs flash insérés par la suite dans l'ordinateur.

Les outils que j'ai abordés jusqu'à présent utilisent U3 (u3.com), une technologie conçue pour permettre aux utilisateurs d'emporter des programmes sur un lecteur flash.Pour résumer, un lecteur flash U3 ment sur lui-même.Il indique au système d'exploitation qu'il est un concentrateur USB connecté à un lecteur flash et à un CD.Les versions Windows® antérieures à Windows Vista® exécuteront automatiquement, par défaut, des programmes indiqués dans le fichier autorun.inf sur les CD, mais pas sur lecteurs USB.En mentant sur lui-même, le lecteur flash USB U3 force le système d'exploitation à exécuter automatiquement ce qu'on appelle le lanceur U3.Le lanceur U3, à son tour, peut démarrer des programmes, vous donner un menu, ou faire à peu près tout ce que vous pourriez faire avec l'ordinateur vous-même.

Tout ce que font les outils d'exploitation c'est de remplacer le lanceur avec le code d'exploitation.Dès que le lecteur flash est connecté à un système Windows XP, l'outil d'exploitation s'exécute automatiquement.Sur Windows Vista, le flux de décision d'exécution automatique fonctionne différemment.L'exécution automatique est activée sur des périphériques amovibles, tout comme sur les CD.Cela signifie qu'une action se produira lorsque le périphérique sera inséré.Par défaut, la boîte de dialogue d'exécution automatique s'affichera, comme illustré à la figure 1.

Figure 1 La boîte de dialogue d'exécution automatique par défaut s'affiche lorsqu'un utilisateur insère un lecteur amovible avec des images.

Figure 1** La boîte de dialogue d'exécution automatique par défaut s'affiche lorsqu'un utilisateur insère un lecteur amovible avec des images. **

Notez que la boîte de dialogue de la figure 1 dispose d'une option « Toujours faire ceci pour les images ».C'est une option d'exécution automatique qui peut être configurée dans le Panneau de configuration, illustré à la figure 2.

Figure 2 Configuration d'exécution automatique sur Windows Vista

Figure 2** Configuration d'exécution automatique sur Windows Vista **(Cliquer sur l'image pour l'agrandir)

La configuration d'exécution automatique est particulièrement intéressante pour les logiciels et les jeux.Par définition, cela signifie que le lecteur amovible dispose d'un fichier autorun.inf qui spécifie certains programmes à exécuter.Les paramètres de la figure 2 relatifs aux « logiciels et jeux » sont enregistrés dans la clé de registre suivante :

Hive:    HKEY_CURRENT_USER
Key:    \Software\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\
UserChosenExecuteHandlers\AutorunINFLegacyArrival 
Value: (Default)
Data:
MSAutoRun – automatically executes the program specified in the autorun.inf file
   
MSPromptEachTime – prompts the user, using strings specified in the autorun.inf file, if available

Comme il n'est pas nécessaire d'être administrateur pour modifier ces paramètres, les utilisateurs peuvent les définir à leur convenance, y compris en exécutant automatiquement un logiciel malveillant présent sur le lecteur qu'ils ont trouvé dans le parc de stationnement.Ils peuvent le faire en cochant la case appropriée dans la boîte de dialogue d'exécution automatique.

Gestion de l'exécution automatique dans votre réseau

En tant qu'administrateur, vous disposez de plusieurs façons de gérer l'exécution automatique à travers votre réseau.Premièrement, vous pouvez empêcher un utilisateur d'activer l'exécution automatique sur les supports amovibles et les CD en modifiant le paramètre NoDriveTypeAutoRun qui contrôle les types de lecteur pour lesquels l'exécution automatique est activée.Windows XP est livré avec NoDriveTypeAutoRun défini sur 0x95, qui désactive l'exécution automatique sur les types de lecteur, les périphériques réseaux et les périphériques amovibles inconnus.À partir de Windows XP SP2, le paramètre NoDriveTypeAutoRun est configuré sur 0x91 par défaut.Cela active l'exécution automatique sur les périphériques de stockage amovibles.En utilisant la stratégie de groupe, il existe un paramètre sous Configuration utilisateur\Modèles d'administration\Composants Windows\Stratégies de lecture automatique qui vous permet de gérer le paramètre NoDriveTypeAutoRun.La sélection de l'option « Désactiver l'exécution automatique et sélectionner les lecteurs de CD-ROM et lecteurs amovibles » désactive l'exécution automatique sur les deux types de lecteurs.

Cependant, l'utilisateur n'obtient pas la boîte de dialogue d'exécution automatique de la figure 1.En fait, rien n'arrive lorsque l'utilisateur insère le lecteur.Cela ne peut pas être une solution idéale, cependant, comme cela peut entraîner une confusion pour l'utilisateur qui ne sait pas comment accéder à des informations nécessaires sur le lecteur.

Vous voulez probablement contrôler les types de contenu qui peuvent être lus automatiquement.Vous pouvez y parvenir dans une certaine mesure, sur Windows Vista, car ce système d'exploitation comporte deux niveaux de contrôles sur l'exécution automatique des logiciels.Un autre contrôle dans la stratégie de groupe, illustré à la figure 3, vous permet de désactiver la lecture automatique des logiciels à l'aide des fichiers autorun.inf, tout en conservant les autres comportements de lecture automatique de Windows Vista.

Figure 3 Désactivation des fichiers autorun.inf avec la stratégie de groupe

Figure 3** Désactivation des fichiers autorun.inf avec la stratégie de groupe **(Cliquer sur l'image pour l'agrandir)

Le flux de décision est un peu compliqué quand il s'agit de l'exécution automatique et peut-être que c'est plus facile à présenter avec un organigramme.La figure 4 décrit le flux de décision utilisé pour déterminer s'il faut exécuter automatiquement un fichier sur les supports amovibles.

Figure 4 Le flux de décision d'exécution automatique

Figure 4** Le flux de décision d'exécution automatique **(Cliquer sur l'image pour l'agrandir)

Autres débuts

Il s'agit là de quelques outils qui peuvent être utilisés pour compromettre un ordinateur avec un lecteur flash USB.Toutes sortes d'outils peuvent être ajoutés à ce scénario, tels qu'un outil qui supprime le hachage du mot passe Windows NT® de l'utilisateur connecté actuellement (consultez la page microsoft.com/technet/community/columns/secmgmt/sm1005.mspx).

Beaucoup de contrôleurs USB sont les périphériques d'accès direct à la mémoire (DMA).Cela signifie qu'ils peuvent contourner le système d'exploitation et lire et écrire la mémoire directement sur l'ordinateur.Contournez le système d'exploitation et vous contournez les contrôles de sécurité qu'il fournit, maintenant vous disposez de l'accès complet et sans limites au matériel.Cela rend complètement inefficace le contrôle de périphérique implémenté par le système d'exploitation.Je ne connais pas d'outils de piratage qui utilisent actuellement cette technique, mais je suis persuadé que cela a déjà été fait.

Une autre façon d'exploiter la combinaison de périphériques amovibles/utilisateur est simplement de présenter une option attrayante.Par exemple, combien d'utilisateurs cliqueraient sur la boîte de dialogue de la figure 5 ?Pas tous, mais probablement beaucoup d'entre eux.En fait, c'est une tâche assez facile de créer une boîte de dialogue assez attrayante pour que les utilisateurs ne l'ignorent pas.

Figure 5 Combien d'utilisateurs sont victimes de cela ?

Figure 5** Combien d'utilisateurs sont victimes de cela ? **

Blocage de périphérique

Nouveau dans Windows Vista, la stratégie de groupe possède maintenant une série de stratégies pour gérer l'installation de périphériques (voir la figure 6).Comme indiqué, l'administrateur peut empêcher l'installation de tous les nouveaux périphériques amovibles si le pilote spécifie qu'ils sont amovibles.Si le pilote indique qu'ils ne le sont pas, cependant, la stratégie ne prend pas effet.Ainsi, cette stratégie peut être contournée à l'aide de pilotes personnalisés.

Figure 6 Stratégies d'installation de périphériques Windows Vista

Figure 6** Stratégies d'installation de périphériques Windows Vista **(Cliquer sur l'image pour l'agrandir)

Pour un contrôle plus granulaire, l'administrateur peut utiliser les stratégies pour agir sur les classes d'installation de périphériques spécifiques.Cependant, celles-ci nécessitent que vous connaissiez le GUID pour la classe de périphériques spécifiques que vous souhaitez bloquer (ou autoriser), en rendant cette approche beaucoup plus difficile à gérer.

Le privilège minimal est vraiment important

En ignorant le scénario d'accès direct à la mémoire (DMA) pendant un moment, le succès des attaques que j'ai abordé, ainsi que le succès des contre-mesures, dépendront des privilèges de l'utilisateur de l'ordinateur.S'il s'agit d'un utilisateur standard, la quantité de dommages causés par l'attaque est limitée.Elle peut toujours dérober les données de l'utilisateur et tous les éléments auxquels l'utilisateur a accès.Cependant, l'attaque n'aura probablement pas d'impact sur l'ensemble du réseau.

Cependant, si l'utilisateur exploité est administrateur, les conséquences peuvent être bien pires.Dans le scénario le plus catastrophique, l'utilisateur est administrateur de domaine et une attaque de l'ensemble du réseau est facile.Par exemple, l'attaquant peut extraire de la mémoire le hachage du mot de passe de l'utilisateur.Le système met en cache le hachage dans l'espace de processus de LSA à l'ouverture de session pour qu'il puisse être utilisé pour accéder de manière transparente aux ressources réseaux au nom de l'utilisateur.Un attaquant avec des privilèges d'administrateur peut extraire ce hachage et accéder avec celui-ci à toutes les ressources réseaux.En d'autres termes, si l'utilisateur est administrateur de domaine, l'ensemble du domaine est compromis.

Cela me conduit au sujet des dépendances.Jusqu'ici, j'ai présenté une attaque spécifique sur les postes de travail.Cependant, je n'ai pas exploré les conséquences de l'attaque à l'échelle d'un réseau.Dans la chronique du mois prochain, j'explorerai le concept de dépendances, en vous expliquant ce qu'elles signifient pour l'environnement dans l'ensemble et, surtout, ce que vous pouvez faire pour renforcer ces dépendances.

Jesper M. Johansson est ingénieur en sécurité, chargé des problèmes de sécurité logicielle et contribue à l’élaboration de TechNet Magazine.Il est titulaire d’un doctorat en systèmes d’information de gestion et possède plus de 20 ans d’expérience dans le domaine de la sécurité.

© 2008 Microsoft Corporation et CMP Media, LLC. Tous droits réservés. Toute reproduction, totale ou partielle, est interdite sans autorisation préalable.